我绕了一个圈,然后在里面又绕了一个圈。我必须在大圆圈内移动小圆圈
我有np数组中θ的所有值。我想让圆围绕Rheta的每个值移动。我不知道如何“动画化”这个圆
def hypotrochoide(R, r):
theta = np.linspace(0, 2*np.pi, 100)
R= R/2
x = R*np.cos(theta)
y = R*np.sin(theta)
r= r/2
rTheta= np.linspace(0, 2*np.pi, 100)
iCircleX = ((R- r) * np.cos(0)) + r*np.cos(theta)
iCircleY = ((R- r) * np.sin(0)) + r*np.sin(theta)
plt.axis('equal')
plt.plot(x,y)
plt.plot(iCircleX,iCircleY)
hypotrochoide(10, 4)
plt.show()
这是我使用Pandas和Plotly Express的解决方案,它有一个动画功能:
以下是您需要的软件包:
首先,我编写了两个辅助函数:一个用于计算半径为r和圆心(centerX,centerY)的圆的所有点,另一个用于查找外圆和内圆的所有点
然后我计算0到2pirad之间所有θ的所有点数据(外部和内部x和y),并将其加载到一个数据帧中
然后,我将该数据帧赋予Plotly Expression函数,并将其指定为跨越所有θ的动画
这是来自动画的示例帧
要运行动画,可以拖动滑块或单击播放按钮
相关问题 更多 >
编程相关推荐