Google ClassroomGoogle Classroom
GeoGebraClasse GeoGebra

Geometric linkage

Script Setup

easingFunc(x) = pi/3*sin(pi/2*cos(x+pi/2)) speed = 1 t = Slider(0, 2pi, 0.01, speed, 200) Ln = 1...6 LP = Zip(( cos(k * 2pi/6), sin(k * 2pi/6) ), k, Ln) hexBase = Polygon(LP) P1 = Rotate(hexBase, easingFunc(t)) Q1 = Rotate(LP(1), easingFunc(t)) Q2 = Rotate(LP(2), easingFunc(t)) TL1 = Rotate(Polygon(Q2, Q1, 3), -easingFunc(t) *(3/pi) *pi/2+ pi/2 , Q2) TL2 = Rotate(Polygon(Q2, Q1, 3), -easingFunc(t) *(3/pi) *pi/2- pi/2 , Q1) LT = Zip(Rotate(TL1, k * 2pi/6), k, Ln) VA1 = Vertex( TL1, 1) VA2 = Vertex( TL1, 2) VA3 = Vertex( TL1, 3) VB1 = Vertex( TL2, 1) VB2 = Vertex( TL2, 2) VB3 = Vertex( TL2, 3) TL3 = Polygon(VA2, VB1, 3) VP1 = Reflect(VB1, Segment(VA2, Vertex(TL3, 3))) VP2 = Reflect(VA2, Segment(VB1, Vertex(TL3, 3))) TR1 = Polygon({VA2, VB1, VP2, VP1}) LTR = Zip(Rotate(TR1, k * 2pi/6), k, Ln)

Base

Base

Two layers

Two layers

Four layers

Four layers
If you enjoy my work, you can support me in Patreon Thank! :)