我的意思是圆锥体或圆盘是沿着它的对称轴移动或旋转的。确切地说,我正在创造这个轴,它随着时间不断变化:
line = ax.plot([x,0],[y,0],[z,z- n_o],color='#000066', marker= 'o')
我需要圆锥体或圆的面始终垂直于那个轴。我尝试了一个简单的方法,先创建一个二维圆,然后将其提升到我想要的位置:
^{pr2}$但这不会使圆的表面垂直于运动轴。我想知道matplotlib中有没有函数可以用来旋转圆锥体/圆的那个面?在
如果,我从另一个角度开始创建一个三维对象,比如椭球体,那么问题仍然存在:我如何让对象像刚体一样沿着其对称轴移动,而不是像灯笼一样悬挂在那里(只附着在固定点上)?在
u, v = np.mgrid[0:2*np.pi:20j, 0:np.pi:10j]
x=np.cos(u)*np.sin(v)
y=np.sin(u)*np.sin(v)
z=.3*np.cos(v)
ax.plot_wireframe(x, y, z, color="r")
这将在通过Euler angles
phi
,theta
,psi
旋转后,围绕该直线绘制一个圆锥体。(在这种情况下,psi
将不起作用,因为圆锥体围绕z轴是轴对称的)另请参见rotation matrix。在要绘制沿法线移动
^{pr2}$h0
的单个圆:这是一个练习,从给定的向量得到欧拉角。在
euler_rot
在gist中相关问题 更多 >
编程相关推荐