渐开线还是本科的时候学机械原理学过,当时是齿轮的渐开线,做实验需要数据集,昨天画了阿基米德螺旋线,但是是极坐标形式的,难以转化为笛卡尔坐标,今天看到了渐开线的直角坐标公式,画了画渐开线,另外,直角坐标中(x,y)绕原点逆时针旋转theta角度有公式,需要推导,记得可以用复数,e^(i*theta)来做:
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('ggplot')
r = 10
theta = np.linspace(0, 2 * np.pi, num=200)
x = r * (np.cos(theta) + theta * np.sin(theta))
y = r * (np.sin(theta) - theta * np.cos(theta))
n = 3
for i in range(n):
angle = theta + 2 * np.pi * i / n
x_new = x * np.cos(angle) - y * np.sin(angle)
y_new = x * np.sin(angle) + y * np.cos(angle)
plt.plot(x_new, y_new, '^')
plt.axis('equal')
plt.title('involute')
plt.show()