-2
当我知道顶点的坐标时,如何在三维中绘制一个锥体,锥体所在的矢量(作为线条段的终点坐标是否已知)以及matplotlib或任何其他python绘图模块中圆锥体的高度?沿着给定的矢量绘制一个带有顶点,高度和角度信息的3D锥体matplotlib
我想什么是最有帮助的,将是在matplotlib绘制隐式函数的一些指示。
我试过的方法是创建一个网格点(x,y和z),定义一个锥体方程,并检查每个网格点是否满足圆锥方程(因为网格分辨率可能意味着它不会完全满足方程,我检查它是否满足方程达到某种精度)。但是,我不确定如何在matplotlib中绘制这个隐式数据集。我试着写出方程(其中包括x,y和z中的二次和线性项)作为z中的二次项,求解z并用z和x和y表示曲面图,但是这给了我一个平面而不是一个锥体。
这里是我使用的代码:
x = np.linspace(0,100,100)
y = np.linspace(0,100,100)
z = (-4823.7 + np.sqrt(abs((4823.7**2) - (4*(-240.185)*((-5692*y) - (240.185*np.multiply(x,x)) - (240.185*np.multiply(y,y)) - 57607.26))))/np.float(2*(-240.185)))
#print z
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = np.arange(-50.0, 50, 1)
y = np.arange(-50.0, 50, 1)
X, Y = np.meshgrid(x, y)
ax.plot_surface(X, Y, z)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
在计算器上这里的一般共识是,提问者需要显示在解决一些努力这个问题本身。一方面,这意味着寻找可能的解决方案,并在问题中提及它们,明确指出它们不能解决问题的程度。另一方面,它意味着在解决问题的尝试中显示一些代码。 – ImportanceOfBeingErnest