CITE THIS NOTEBOOK: Lemniscate plotting device by Sándor Kabai. Wolfram Community DEC 2 2022.
The center of a bar moves along a lemniscate if its two ends are moved around two equal circles in opposite directions.
In[]:=
Manipulate​​d=3.4;​​x=-2+9Cos[α]-6
2
Cos[α]
+
3
Cos[α]
-2
2
Sin[α]
+Cos[α]
2
Sin[α]
-(15
2
Sin[α]
-8Cos[α]
2
Sin[α]
-14
2
Cos[α]
2
Sin[α]
+8
3
Cos[α]
2
Sin[α]
-
4
Cos[α]
2
Sin[α]
+2
4
Sin[α]
+8Cos[α]
4
Sin[α]
-2
2
Cos[α]
4
Sin[α]
-
6
Sin[α]
)(2(4-4Cos[α]+
2
Cos[α]
+
2
Sin[α]
));​​Bx=d+x;​​β=ArcCos[x];​​By=-xTan[-β];​​If[α<-Pi,By=xTan[-β],By=-xTan[-β]];​​Bz=0;​​vB={Bx,By,Bz};​​Ax=Cos[α];​​Ay=Sin[α];​​Az=0;​​vA={Ax,Ay,Az};​​bar={RGBColor[0.4,1,0.7],Cylinder[{vA,vB},0.051]};​​bar1={RGBColor[0.6,0.5,0.7],Cylinder[{{Ax,Ay,Az-0.4},{0,0,-0.4}},0.051]};​​bar2={RGBColor[0.6,0.5,0.7],Cylinder[{{Bx,By,Bz-0.4},{d,0,-0.4}},0.051]};​​​​pivotA={RGBColor[0.8,0.2,0.7],Cylinder[{{Ax,Ay,-0.6},{Ax,Ay,0.6}},0.12]};​​pivotA1={Yellow,Cylinder[{{Ax,Ay,-0.1},{Ax,Ay,0.1}},0.2]};​​pivotB={RGBColor[0.8,0.6,0.7],Cylinder[{{Bx,By,0.12},{Bx,By,-0.6}},0.06]};​​pivotB1={Yellow,Cylinder[{{Bx,By,-0.1},{Bx,By,0.1}},0.12]};​​w1={RGBColor[0.8,0.9,0.7],Cylinder[{{0,0,-0.4},{0,0,-0.6}},1]};​​shaft1={Yellow,Cylinder[{{0,0,-0.3},{0,0,-0.4}},0.2]};​​w2=Cylinder[{{d,0,-0.4},{d,0,-0.6}},1];​​shaft2={Yellow,Cylinder[{{d,0,-0.3},{d,0,-0.4}},0.2]};​​ball={RGBColor[0.8,0.7,0.7],Sphere[{(Ax+Bx)/2,(Ay+By)/2,0},0.15]};​​stylus={RGBColor[0.1,0.7,0.7],Cylinder[{{(Ax+Bx)/2,(Ay+By)/2,-0.2},{(Ax+Bx)/2,(Ay+By)/2,1}},0.04]};​​par=ParametricPlot3D[{Cos[θ]/(1+Sin[θ]^2)+d/2,0.7Sin[θ]Cos[θ]/(1+Sin[θ]^2),1},{θ,-Pi,Pi}][[1]];​​Graphics3D[{par,pivotA,pivotA1,pivotB,pivotB1,shaft1,shaft2,ball,stylus,bar,bar1,bar2,w1,w2},ViewAnglePi/40,ImageSize{550,425},ViewPoint{-5,-5,5},PlotRange{{-2,5.5},{-1.3,1.3},{-0.6,1}},SphericalRegionTrue,BoxedFalse],​​{{α,-1.53.1416,"rotate"},-23.1416,0,Appearance"Labeled"},SaveDefinitions->True,​​​​TrackedSymbols{α}
Out[]=
​
rotate
0.