초기값

인벌류트 시작 점

인벌류트 끝 점

트로벌류트 시작 점

트로벌류트 끝 점

기어 끝 점

인벌류트 곡선

이끝 모깎기 호

이 뿌리 호

이 끝 호

대칭 치형

트로벌류트 곡선

치형 대칭축

피치원

압력각 = 20 (slider from 5 to 45, step 0.5)
Z = 21 (slider from 5 to 100, step 1)
B = 0 (slider from -1 to 1, step 0.01)
X = 0 (slider from -1.5 to 1.5, step 0.01)
α_0: (압력각 * π / 180)
α_{is}: α_0 + π / ((2 * Z)) + B / ((Z * cos(α_0))) - ((1 + (2 * X / Z)) * sin(α_0) / cos(α_0))
C = 0.05 (slider from 0 to 1, step 0.01)
D = 1.25 (slider from 0.5 to 2, step 0.01)
θ_{is}: sin(α_0) / cos(α_0) + (2 * ((C * (1 - sin(α_0))) + X - D) / (((Z * cos(α_0)) * sin(α_0))))
E = 0.1 (slider from 0 to 1, step 0.01)
A = 1 (slider from 0.5 to 2, step 0.01)
θ_{ie}: (2 * E / ((Z * cos(α_0)))) + sqrt(((Z + (2 * (X + A - E))) / ((Z * cos(α_0))))^(2) - 1)
m: 20 / Z
인벌류트 = CurveCartesian(((((1 / 2 * m) * Z) * cos(α_0)) * (cos(α_{is} + θ_i) + (θ_i * sin(α_{is} + θ_i)))), ((((1 / 2 * m) * Z) * cos(α_0)) * (sin(α_{is} + θ_i) - (θ_i * cos(α_{is} + θ_i)))), θ_i, θ_{is}, θ_{ie})
α_{ts}: (((2 * ((C * (1 - sin(α_0))) - D)) * sin(α_0)) + B) / ((Z * cos(α_0))) - ((2 * C) * cos(α_0) / Z) + π / ((2 * Z))
θ_{te}: ((2 * C) * cos(α_0) / Z) - ((2 * (D - X - (C * (1 - sin(α_0))))) * cos(α_0) / ((Z * sin(α_0))))
θ_{ts} = 0
트로벌류트 = CurveCartesian((m * (((Z / 2 + X - D + C) * cos(θ_t + α_{ts})) + ((Z / 2 * θ_t) * sin(θ_t + α_{ts})) - (C * cos(atan(((0.5 * Z) * θ_t / (D - X - C))) + θ_t + α_{ts})))), (m * (((Z / 2 + X - D + C) * sin(θ_t + α_{ts})) - ((Z / 2 * θ_t) * cos(θ_t + α_{ts})) - (C * sin(atan(((0.5 * Z) * θ_t / (D - X - C))) + θ_t + α_{ts})))), θ_t, If[θ_{te} > 0, θ_{ts}, θ_{te}], If[θ_{te} > 0, θ_{te}, θ_{ts}])
대칭_{인벌류트} = Mirror(인벌류트, xAxis)
대칭_{트로벌류트} = Mirror(트로벌류트, xAxis)
트로벌류트끝점: ((m * (((Z / 2 + X - D + C) * cos(θ_{te} + α_{ts})) + ((Z / 2 * θ_{te}) * sin(θ_{te} + α_{ts})) - (C * cos(atan((Z * θ_{te} / ((2 * (D - X - C))))) + θ_{te} + α_{ts})))), (m * (((Z / 2 + X - D + C) * sin(θ_{te} + α_{ts})) - ((Z / 2 * θ_{te}) * cos(θ_{te} + α_{ts})) - (C * sin(atan((Z * θ_{te} / ((2 * (D - X - C))))) + θ_{te} + α_{ts})))))
트로벌류트시작점: (((m * (Z / 2 + X - D)) * cos(α_{ts})), ((m * (Z / 2 + X - D)) * sin(α_{ts})))
인벌류트시작점: (((((1 / 2 * m) * Z) * cos(α_0)) * (cos(α_{is} + θ_{is}) + (θ_{is} * sin(α_{is} + θ_{is})))), ((((1 / 2 * m) * Z) * cos(α_0)) * (sin(α_{is} + θ_{is}) - (θ_{is} * cos(α_{is} + θ_{is})))))
인벌류트끝점: (((((1 / 2 * m) * Z) * cos(α_0)) * (cos(α_{is} + θ_{ie}) + (θ_{ie} * sin(α_{is} + θ_{ie})))), ((((1 / 2 * m) * Z) * cos(α_0)) * (sin(α_{is} + θ_{ie}) - (θ_{ie} * cos(α_{is} + θ_{ie})))))
α_e: α_{is} + θ_{ie} - atan(sqrt(((Z + (2 * (X + A - E))) / ((Z * cos(α_0))))^(2) - 1))
기어끝점: (((m * (Z / 2 + X + A)) * cos(α_e)), ((m * (Z / 2 + X + A)) * sin(α_e)))
대칭_{트로벌류트끝점} = Mirror(트로벌류트시작점, xAxis)
기어줌심점 = Intersect(xAxis, yAxis)
이뿌리호 = CircleArc(기어줌심점, 대칭_{트로벌류트끝점}, 트로벌류트시작점)
이끝모깎기호중심점: (((m * (Z / 2 + X + A - E)) * cos(α_e)), ((m * (Z / 2 + X + A - E)) * sin(α_e)))
이끝모깎기호 = CircleArc(이끝모깎기호중심점, 인벌류트끝점, 기어끝점)
기어대칭점: (((m * Z) * cos(π / Z)), ((m * Z) * sin(π / Z)))
대칭_선 = Segment(기어줌심점, 기어대칭점)
대칭_{기어끝점} = Mirror(기어끝점, 대칭_선)
이끝호 = CircleArc(기어줌심점, 기어끝점, 대칭_{기어끝점})
대칭_{이끝모깎기호} = Mirror(이끝모깎기호, xAxis)
Z_n = 2 (slider from 1 to Z - 1, step 1)
배열_{인벌류트} = Sequence(Rotate[인벌류트, ((i * 2) * π / Z)], i, 1, Z_n)
배열_{인벌류트대칭} = Sequence(Rotate[대칭_{인벌류트}, ((i * 2) * π / Z)], i, 1, Z_n)
배열_{트로벌류트대칭} = Sequence(Rotate[대칭_{트로벌류트}, ((i * 2) * π / Z)], i, 1, Z_n)
배열_{트로벌류트} = Sequence(Rotate[트로벌류트, ((i * 2) * π / Z)], i, 1, Z_n)
배열_{이끝호} = Sequence(Rotate[이끝호, ((i * 2) * π / Z)], i, 1, Z_n)
배열_{이뿌리호} = Sequence(Rotate[이뿌리호, ((i * 2) * π / Z)], i, 1, Z_n)
배열_{이끝모깎기호} = Sequence(Rotate[이끝모깎기호, ((i * 2) * π / Z)], i, 1, Z_n)
배열_{이끝모깎기호대칭} = Sequence(Rotate[대칭_{이끝모깎기호}, ((i * 2) * π / Z)], i, 1, Z_n)
트로벌류트호중심점: (((m * (Z / 2 + X - D + C)) * cos(α_{ts})), ((m * (Z / 2 + X - D + C)) * sin(α_{ts})))
트로벌류트호 = CircleArc(트로벌류트호중심점, 인벌류트시작점, 트로벌류트시작점)
대칭_{트로벌류트호} = Mirror(트로벌류트호, xAxis)
배열_{트로벌류트호대칭} = Sequence(Rotate[대칭_{트로벌류트호}, ((i * 2) * π / Z)], i, 1, Z_n)
배열_{트로벌류트호} = Sequence(Rotate[트로벌류트호, ((i * 2) * π / Z)], i, 1, Z_n)
a = false
b = false
c = false
d = false
e = false
f = false
g = true
i = true
j = true
k = true
l = true
h = true
대칭_{x축} = Segment(기어줌심점, (15, 0))
n = false
o = true
피치원 = Circle(기어줌심점, (m * Z / 2))