求画出齿轮渐开线的程序,我编出来的不知道哪里不对

import math
import matplotlib.pyplot as plt
import numpy as np

def jiankaixian(m, z, x, n): # m:模数,z:齿数,x:变位系数,n:均布多少个点
m = m
z = z
alpha = math.radians(20) # 压力角
ha = 1; c = 0.25;x = x # 齿顶高系数;顶隙系数;变位系数
r = z * m / 2 # 分度圆半径
ra = r + (ha + x) * m # 齿顶圆半径
rf = r - (ha + c - x) * m # x齿根圆半径
rb = r * np.cos(alpha) # 基圆半径
p = np.pi * m # 齿距
s = (np.pi * m )/2 # 齿厚
theta1 = np.tan(np.arccos(rb / ra)) - np.arccos(rb / ra)
theta2 = s / (2 * r)

# 第1段 渐开线
alphaK = np.linspace(0, np.arccos(rb/ ra), n)  # 分割点数

thetaK = np.tan(alphaK) - alphaK - theta1 - theta2;  # 极坐标系角度
rK = rb / np.cos(alphaK)  # 极坐标系半径

xx = rK * np.cos(thetaK)  # 转为直角坐标系
yy = rK * np.sin(thetaK)
yy_fu = -yy  # 关于x轴对称
xx = xx - xx[0]  # 平移到坐标原点

return xx, yy_fu

xx,yy = jiankaixian(2,20,0,30000) # 换曲线时这个函数记得换
xx = np.round( xx,8)
yy = np.round( yy,8)

plt.plot(xx,yy)
plt.show()

讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!