1 说明:
======
1.1 源代码来源:对代码进行删减,整理,注释,修改,感谢原作者。
https://blog.csdn.net/yuanzhoulvpi/article/details/105527096
1.2 效果图:
2 代码讲解:
========
2.1 第1步:导入模块
import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.animation import FuncAnimation
2.2 第2步:设置图片参数,默认
fig, ax = plt.subplots()
2.3 第3步:欧拉旋转参数设置,注意这里np的相关函数复习
length = 500 #源代码中设置为60万#角度设置theta = np.arange(1, length)theta = np.cumsum(theta) #按照行累加,行求和theta = theta * np.pi / 100#sin和cos的生成cos_ = np.cos(theta)sin_ = np.sin(theta)#坐标轴x和y生成x = np.cumsum(cos_)y = np.cumsum(sin_)a = np.arange(0, 300)#生成等差数组b = np.linspace(start=300, stop=length, num=100).astype(int)#数组拼接函数epoch = np.concatenate((a, b))
2.4 第4步:动画函数定义
def animate(i): ax.clear() #折线plot ax.plot(x[:epoch[i]], y[:epoch[i]],c='green') #散点Scatter ax.scatter(x[epoch[i]-1], y[epoch[i]-1], c='red', s=100) #图片的标题名 ax.set_title(f"Euler's rotation epoch: {epoch[i]}")
2.5 第5步:
ani2 = FuncAnimation(fig, animate, interval=10, frames=np.arange(0,390))plt.show()
3 欧拉旋转:
=========
3.1 Euler's rotation:在三维空间(3D)里,假设一个刚体在做一个旋转的时候,刚体内部至少有一点固定不动,则此位移等价于一个绕着包含那固定点的固定轴的旋转。
3.2 上述是在2D平面用python-matplotlib实现。
4 欧拉:
=====
4.1 莱昂哈德·欧拉:Leonhard Euler,1707年4月15日-1783年9月18日。
4.2 瑞士数学家和物理学家,近代数学先驱之一。
4.3 13岁时入读巴塞尔大学,15岁大学毕业,16岁获硕士学位。
4.4 欧拉公式,世界上最完美的公式。