Application Center - Maplesoft

App Preview:

Analytic Design of Non-Circular Gears by Maple

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

Image 

Analytic design of non-circular gears by Maple 

dr.Balint Laczik 

>
 

Non-circular gears (NCG?s) transform movement between machinery parts with the given transfer function η = η(t), where t is the time. The basic types of NCG?s are: 

- two gear with given paralell axes 

- one gear and one rack: the axe of gear and the direction of movement of the rack is given. 

The basic form of elements is shown in Fig. 1 

 

Image 

 

Figure 1 

Basic types of non-circular gears 

 

The transfer function for a gear pair is the following 

Image 

 

where φ2 = φ2(t) the angle of  rotation of the driven gear, and φ1 = φ1(t) the angle of  rotation of the driving gear. (The driven gear is henceforth indexed by No 2, the driving gear by 1.) 

Let the angular velocities 

 

Image and Image  

 

The centrodes of the gears are planar curves. The centrodes (pitch curves) are in pure rolling while the gears are in the meshing. The wheel-base is constant. 

Let the radii of centrodes be R1 and R2 , then R1 + R2 = a is true, where a means the wheel-base. For the pure rolling Image  yields and by realignment: 

Image                             Image 

 

If the angular velocity of gear No. 1 ω1 = 1 the total rotation in a given moment t = τ 

 

Image  

 

and for gear No. 2: 

 

Image 

 

The co-ordinates of the temporary contact point of the centrodes in the co-ordinate systems fixed at the points of  the axes are: 

 

                          Image                                    Image  

 

The common rolled arc lengths of the centrodes from the origin Q to P1 and P2 points are QP1 = L1 and QP2 = L2. It is true that L1 = L2 where 

 

Image                        Image                                   (+++) 

 

The angle of tangent lines for the pitch curves relative to the horizontal in original positions of the centrodes is calculated by 

 

                        Image                     i = 1, 2 

 

The basic geometric relations are shown in Fig.2. 

Image 

 

Figure 2 

Basic geometric relations of centrodes 

 

The teeth of NCG?s are involute type. The involute gears are generated conventionally by the basic rack cutter. 

The standard form and dimensions of rack is shown in Fig. 3. 

During tooth generation, the pitch line of rack cutter rolls with pure-rolling on the centrode of the gear.  The generation of the tooth profiles is provided due to the rolling of the rack over the centrode of the gear. The discrete positions of the rack are shown in Fig. 4 while the tooth generation is processed. 

 

                                   Image                                               Image 

 

                                                             Figure 3                                                                                                          Figure 4 

                                              Basic dimensions of the rack                                                       Generation of involute teeths by the rack 

 

The complex co-ordinates of corner points of the rack are 

 

               Image                                     Image 

 

               Image                  (i = 4, 5, ?, ) 

 

P = Pi is the actual common point of the centrode of the gear No. i and the rolling line of the rack. The pitch line of the rack and the centrode of the gear are in tangency relation at the point Pi. The pure rolling of the rack over the centrode is provided, if the following equations are observed for corner points Qj and Qj+1:  

 

                      Image                                 Image                       (***) 

 

The general movement of the rack consists of three parts from the original position to actual position 

         (i)                displacement with (? L)  into negative direction of real axes  

         (ii)                rotation with angle φ + μ around the axes point of the gear and origin of the complex co-ordinate system fixed to gear 

         (iii)               displacement with R⋅e I⋅φ 

 

The successive discrete positions of the rack by transformation (***) are shown in Fig. 4. 

 

In case m = 2 the rack profile is in piecewise function form defined by  

 

             Image 

 

Since every part of rack profile have a straight line form, they can be given with equation 

 

                           G(u) = k.u - c 

 

The function G(u) have Fourier series in continuous form: 

 

                         Image 

 

where the Fourier coefficients are 

 

                       Image             and                    Image 

 

The common number of the gear No.1 and No.2 is z. The actual module yield by 

 

                            Image 

 

where S is the total arc length of centrode No. 1 (or No. 2), see formulae (+++). 

 

The Fourier series of the rack with actual modul m is defined by substitution  Image in to Fourier series Z 

                               Image 

 

The complex function of rack is applied as 

 

                               Image 

 

for the gear No.1 and the conjugate of Q1 by 

 

                               Image 

The worksheet demonstrate the analytic design method of non-circular gears by given transfer function η for number of teeth?s z and axes distance a. 

The precision of the involute profile depends on 

 

(i)   the number of the discrete rack positions N during generation of profile of teeths 

(ii)  the number of the coefficients of Fourier series M0 for the rack function Z. 

 

If the transfer function η(t) = 1 the worksheet calculate the profile of circular involute gear. 

Construction of gear and rack type drive make by similar technique too. 

 

 

Image 

                 

 

Figure 5 

 

The real gears was desgned by Maple 12. The mechanism is shown in Fig. 5. They manufactured by EDM technologie. 

 

 

 

> restart; -1; with(plots); -1; with(plottools); -1
 

> `:=`(b, `/`(1, 7), `/`(1, 9), -`/`(2, 31)); -1; `:=`(a, 100); -1; `:=`(M, 60); -1; `:=`(Phi, `+`(t, `*`(b[1], `*`(sin(t))), `*`(b[2], `*`(sin(`+`(`*`(2, `*`(t)))))), `*`(b[3], `*`(sin(`+`(`*`(3, `*`(t...
 

> plot(eta, t = 0 .. `+`(`*`(2, `*`(Pi))), title =
plot(eta, t = 0 .. `+`(`*`(2, `*`(Pi))), title =
 

 

Plot_2d
Plot_2d
 

> `:=`(R[1], `/`(`*`(a, `*`(eta)), `*`(`+`(1, eta)))); -1; `:=`(R[2], `/`(`*`(a), `*`(`+`(1, eta)))); -1; `:=`(r[1], [`*`(R[1], `*`(cos(t))), `*`(R[1], `*`(sin(t)))]); -1; `:=`(r[2], [`*`(R[2], `*`(cos(...
 

> `:=`(x, diff(r[1][1], t)); -1; `:=`(y, diff(r[1][2], t)); -1; `:=`(xi[1], diff(r[2][1], t)); -1; `:=`(chi[1], diff(r[2][2], t)); -1
 

> `:=`(p[1], piecewise(`and`(`<`(0, x), `<`(0, y)), `+`(`*`(2, `*`(Pi)), arctan(`/`(`*`(y), `*`(x)))), `and`(`<`(x, 0), `<`(0, y)), `+`(Pi, arctan(`/`(`*`(y), `*`(x)))), `and`(`<`(x, 0), `<`(y, 0)), `+`...
`:=`(p[1], piecewise(`and`(`<`(0, x), `<`(0, y)), `+`(`*`(2, `*`(Pi)), arctan(`/`(`*`(y), `*`(x)))), `and`(`<`(x, 0), `<`(0, y)), `+`(Pi, arctan(`/`(`*`(y), `*`(x)))), `and`(`<`(x, 0), `<`(y, 0)), `+`...
 

> `:=`(p[2], piecewise(`and`(`<`(0, xi[1]), `<`(0, chi[1])), `+`(Pi, arctan(`/`(`*`(chi[1]), `*`(xi[1])))), `and`(`<`(xi[1], 0), `<`(0, chi[1])), arctan(`/`(`*`(chi[1]), `*`(xi[1]))), `and`(`<`(xi[1], 0...
`:=`(p[2], piecewise(`and`(`<`(0, xi[1]), `<`(0, chi[1])), `+`(Pi, arctan(`/`(`*`(chi[1]), `*`(xi[1])))), `and`(`<`(xi[1], 0), `<`(0, chi[1])), arctan(`/`(`*`(chi[1]), `*`(xi[1]))), `and`(`<`(xi[1], 0...
 

> for i to 2 do `:=`(mu[i], arctan(`/`(`*`(diff(r[i][2], t)), `*`(diff(r[i][1], t))))); `:=`(nu[i], simplify(mu[i], symbolic)) end do; -1; `:=`(S, evalf(Int(sqrt(`+`(`*`(`^`(diff(r[1][1], t), 2)), `*`(`...
for i to 2 do `:=`(mu[i], arctan(`/`(`*`(diff(r[i][2], t)), `*`(diff(r[i][1], t))))); `:=`(nu[i], simplify(mu[i], symbolic)) end do; -1; `:=`(S, evalf(Int(sqrt(`+`(`*`(`^`(diff(r[1][1], t), 2)), `*`(`...
for i to 2 do `:=`(mu[i], arctan(`/`(`*`(diff(r[i][2], t)), `*`(diff(r[i][1], t))))); `:=`(nu[i], simplify(mu[i], symbolic)) end do; -1; `:=`(S, evalf(Int(sqrt(`+`(`*`(`^`(diff(r[1][1], t), 2)), `*`(`...
for i to 2 do `:=`(mu[i], arctan(`/`(`*`(diff(r[i][2], t)), `*`(diff(r[i][1], t))))); `:=`(nu[i], simplify(mu[i], symbolic)) end do; -1; `:=`(S, evalf(Int(sqrt(`+`(`*`(`^`(diff(r[1][1], t), 2)), `*`(`...
for i to 2 do `:=`(mu[i], arctan(`/`(`*`(diff(r[i][2], t)), `*`(diff(r[i][1], t))))); `:=`(nu[i], simplify(mu[i], symbolic)) end do; -1; `:=`(S, evalf(Int(sqrt(`+`(`*`(`^`(diff(r[1][1], t), 2)), `*`(`...
 

> for i from 0 to M do `:=`(t, evalf(`+`(`/`(`*`(2, `*`(i, `*`(Pi))), `*`(M))))); `:=`(Theta[i], t); `:=`(beta[i], eval(Phi)); `:=`(x[1, i], evalf(r[1][1])); `:=`(y[1, i], evalf(r[1][2])); `:=`(x[2, i],...
for i from 0 to M do `:=`(t, evalf(`+`(`/`(`*`(2, `*`(i, `*`(Pi))), `*`(M))))); `:=`(Theta[i], t); `:=`(beta[i], eval(Phi)); `:=`(x[1, i], evalf(r[1][1])); `:=`(y[1, i], evalf(r[1][2])); `:=`(x[2, i],...
for i from 0 to M do `:=`(t, evalf(`+`(`/`(`*`(2, `*`(i, `*`(Pi))), `*`(M))))); `:=`(Theta[i], t); `:=`(beta[i], eval(Phi)); `:=`(x[1, i], evalf(r[1][1])); `:=`(y[1, i], evalf(r[1][2])); `:=`(x[2, i],...
for i from 0 to M do `:=`(t, evalf(`+`(`/`(`*`(2, `*`(i, `*`(Pi))), `*`(M))))); `:=`(Theta[i], t); `:=`(beta[i], eval(Phi)); `:=`(x[1, i], evalf(r[1][1])); `:=`(y[1, i], evalf(r[1][2])); `:=`(x[2, i],...
for i from 0 to M do `:=`(t, evalf(`+`(`/`(`*`(2, `*`(i, `*`(Pi))), `*`(M))))); `:=`(Theta[i], t); `:=`(beta[i], eval(Phi)); `:=`(x[1, i], evalf(r[1][1])); `:=`(y[1, i], evalf(r[1][2])); `:=`(x[2, i],...
for i from 0 to M do `:=`(t, evalf(`+`(`/`(`*`(2, `*`(i, `*`(Pi))), `*`(M))))); `:=`(Theta[i], t); `:=`(beta[i], eval(Phi)); `:=`(x[1, i], evalf(r[1][1])); `:=`(y[1, i], evalf(r[1][2])); `:=`(x[2, i],...
for i from 0 to M do `:=`(t, evalf(`+`(`/`(`*`(2, `*`(i, `*`(Pi))), `*`(M))))); `:=`(Theta[i], t); `:=`(beta[i], eval(Phi)); `:=`(x[1, i], evalf(r[1][1])); `:=`(y[1, i], evalf(r[1][2])); `:=`(x[2, i],...
for i from 0 to M do `:=`(t, evalf(`+`(`/`(`*`(2, `*`(i, `*`(Pi))), `*`(M))))); `:=`(Theta[i], t); `:=`(beta[i], eval(Phi)); `:=`(x[1, i], evalf(r[1][1])); `:=`(y[1, i], evalf(r[1][2])); `:=`(x[2, i],...
for i from 0 to M do `:=`(t, evalf(`+`(`/`(`*`(2, `*`(i, `*`(Pi))), `*`(M))))); `:=`(Theta[i], t); `:=`(beta[i], eval(Phi)); `:=`(x[1, i], evalf(r[1][1])); `:=`(y[1, i], evalf(r[1][2])); `:=`(x[2, i],...
 

> `:=`(pic1, pointplot([seq([x[1, i], y[1, i]], i = 0 .. M)], scaling = constrained, color = blue, connect = true)); -1
 

> `:=`(pic2, pointplot([seq([x[2, i], y[2, i]], i = 0 .. M)], scaling = constrained, color = red, connect = true)); -1
 

> `:=`(c1, circle([a, 0], 5, color = red)); -1; `:=`(c2, circle([0, 0], 5, color = blue)); -1
 

> unassign('t')
 

> for i from 0 to M do `:=`(Pic[i], rotate(pic1, `+`(`-`(Theta[i])), [0, 0])); `:=`(PIC[i], rotate(pic2, beta[i], [a, 0])) end do; -1
 

> `:=`(TT, NULL); -1; for s from 0 to M do `:=`(Q, display([Pic[s], PIC[s]], c1, c2)); `:=`(TT, TT, Q) end do; -1; display([TT], scaling = constrained, insequence = true, title =
`:=`(TT, NULL); -1; for s from 0 to M do `:=`(Q, display([Pic[s], PIC[s]], c1, c2)); `:=`(TT, TT, Q) end do; -1; display([TT], scaling = constrained, insequence = true, title =
`:=`(TT, NULL); -1; for s from 0 to M do `:=`(Q, display([Pic[s], PIC[s]], c1, c2)); `:=`(TT, TT, Q) end do; -1; display([TT], scaling = constrained, insequence = true, title =
`:=`(TT, NULL); -1; for s from 0 to M do `:=`(Q, display([Pic[s], PIC[s]], c1, c2)); `:=`(TT, TT, Q) end do; -1; display([TT], scaling = constrained, insequence = true, title =
`:=`(TT, NULL); -1; for s from 0 to M do `:=`(Q, display([Pic[s], PIC[s]], c1, c2)); `:=`(TT, TT, Q) end do; -1; display([TT], scaling = constrained, insequence = true, title =
`:=`(TT, NULL); -1; for s from 0 to M do `:=`(Q, display([Pic[s], PIC[s]], c1, c2)); `:=`(TT, TT, Q) end do; -1; display([TT], scaling = constrained, insequence = true, title =
`:=`(TT, NULL); -1; for s from 0 to M do `:=`(Q, display([Pic[s], PIC[s]], c1, c2)); `:=`(TT, TT, Q) end do; -1; display([TT], scaling = constrained, insequence = true, title =
 

Plot_2d
 

> `:=`(z, 56); -1; `:=`(m, evalf(`/`(`*`(S), `*`(z, `*`(Pi))))); -1`:=`(N, 500); -1`:=`(delta, evalf(`/`(`*`(Pi), `*`(N)))); -1unassign('u', 'i', 'j'); -1`:=`(h[1], 2.5); -1`:=`(h[2], `*`(h[1], `*`(`/`(1.25)))); -1`:=`(alpha, evalf(`+`(`*`(`/`(1, 9), `*`(Pi))))); -1`:=`(Mo, 20); -1
 

>
 

> `:=`(G, piecewise(`<`(u, `*`(h[1], `*`(tan(alpha)))), `/`(`*`(u), `*`(tan(alpha))), `<`(u, `+`(Pi, `-`(`*`(h[1], `*`(tan(alpha)))))), h[1], `<`(u, `+`(Pi, `*`(h[2], `*`(tan(alpha))))), `/`(`*`(`+`(Pi,...
`:=`(G, piecewise(`<`(u, `*`(h[1], `*`(tan(alpha)))), `/`(`*`(u), `*`(tan(alpha))), `<`(u, `+`(Pi, `-`(`*`(h[1], `*`(tan(alpha)))))), h[1], `<`(u, `+`(Pi, `*`(h[2], `*`(tan(alpha))))), `/`(`*`(`+`(Pi,...
 

>
 

> for j from 0 to Mo do `:=`(A[`+`(`*`(2, `*`(j)), `-`(1))], evalf(`/`(`*`(Int(`*`(G, `*`(sin(`*`(`+`(`*`(2, `*`(j)), `-`(1)), `*`(u))))), u = 0 .. `+`(`*`(2, `*`(Pi))))), `*`(Pi)))); `:=`(B[`+`(`*`(2, ...
for j from 0 to Mo do `:=`(A[`+`(`*`(2, `*`(j)), `-`(1))], evalf(`/`(`*`(Int(`*`(G, `*`(sin(`*`(`+`(`*`(2, `*`(j)), `-`(1)), `*`(u))))), u = 0 .. `+`(`*`(2, `*`(Pi))))), `*`(Pi)))); `:=`(B[`+`(`*`(2, ...
for j from 0 to Mo do `:=`(A[`+`(`*`(2, `*`(j)), `-`(1))], evalf(`/`(`*`(Int(`*`(G, `*`(sin(`*`(`+`(`*`(2, `*`(j)), `-`(1)), `*`(u))))), u = 0 .. `+`(`*`(2, `*`(Pi))))), `*`(Pi)))); `:=`(B[`+`(`*`(2, ...
for j from 0 to Mo do `:=`(A[`+`(`*`(2, `*`(j)), `-`(1))], evalf(`/`(`*`(Int(`*`(G, `*`(sin(`*`(`+`(`*`(2, `*`(j)), `-`(1)), `*`(u))))), u = 0 .. `+`(`*`(2, `*`(Pi))))), `*`(Pi)))); `:=`(B[`+`(`*`(2, ...
for j from 0 to Mo do `:=`(A[`+`(`*`(2, `*`(j)), `-`(1))], evalf(`/`(`*`(Int(`*`(G, `*`(sin(`*`(`+`(`*`(2, `*`(j)), `-`(1)), `*`(u))))), u = 0 .. `+`(`*`(2, `*`(Pi))))), `*`(Pi)))); `:=`(B[`+`(`*`(2, ...
 

> `:=`(H, evalf(`*`(subs(u = `+`(`/`(`*`(2, `*`(w)), `*`(m))), Z), `*`(`/`(`+`(`/`(`*`(2), `*`(m)))))))); -1`:=`(Q[1], `+`(w, `*`(I, `*`(H(w))))); -1`:=`(Q[2], `+`(conjugate(Q[1]), `-`(`*`(`/`(1, 2), `*`(m, `*`(Pi)))))); -1`:=`(epsilon, evalf(`+`(`*`(`/`(1, 100), `*`(m, `*`(Pi)))))); -1`:=`(d, 0); -1
 

> `:=`(rack1, complexplot(Q[1], w = `+`(`-`(`*`(m, `*`(Pi)))) .. `+`(`*`(2, `*`(m, `*`(Pi)))), color = blue)); -1`:=`(rack2, complexplot(Q[2], w = `+`(`-`(`*`(m, `*`(Pi)))) .. `+`(`*`(2, `*`(m, `*`(Pi)))), color = red)); -1display(rack1, rack2, scaling = constrained, title =
display(rack1, rack2, scaling = constrained, title =
display(rack1, rack2, scaling = constrained, title =
 

Plot_2d
 

> for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
for i from 0 to `+`(`*`(2, `*`(N)), `-`(2)) do `:=`(psi, `*`(i, `*`(delta))); `:=`(v, subs(t = psi, R[1])); `:=`(nu, evalf(subs(t = psi, p[1]))); `:=`(T, subs(t = psi, Phi)); `:=`(V, subs(t = psi, R[2...
 

> `:=`(Gear1, pointplot([seq([kepx[q], kepy[q]], q = 1 .. d)], connect = true, color = blue)); -1; `:=`(Gear2, pointplot([seq([Kepx[q], Kepy[q]], q = 1 .. d)], connect = true, color = red)); -1; display...
`:=`(Gear1, pointplot([seq([kepx[q], kepy[q]], q = 1 .. d)], connect = true, color = blue)); -1; `:=`(Gear2, pointplot([seq([Kepx[q], Kepy[q]], q = 1 .. d)], connect = true, color = red)); -1; display...
`:=`(Gear1, pointplot([seq([kepx[q], kepy[q]], q = 1 .. d)], connect = true, color = blue)); -1; `:=`(Gear2, pointplot([seq([Kepx[q], Kepy[q]], q = 1 .. d)], connect = true, color = red)); -1; display...
`:=`(Gear1, pointplot([seq([kepx[q], kepy[q]], q = 1 .. d)], connect = true, color = blue)); -1; `:=`(Gear2, pointplot([seq([Kepx[q], Kepy[q]], q = 1 .. d)], connect = true, color = red)); -1; display...
 

Plot_2d