2D欧拉旋转的pythonmatplotlib可视化实现
1 说明:
======
1.1 源代码来源:对代码进行删减,整理,注释,修改,感谢原作者。https://blog.csdn.net/yuanzhoulvpi/article/details/105527096
1.2 效果图:
python-matplotlib实现的是2D欧拉旋转
2 代码讲解:
========
2.1 第1步:导入模块import numpy as np import matplotlib.pyplot as plt from 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 欧拉公式,世界上最完美的公式。
e^±ix=cosx±isinx