Four-bar free chain

[color=#999999][color=#999999][color=#999999]This activity belongs to the [i]GeoGebra book[/i] [url=https://www.geogebra.org/m/h3gbmymu]Linkages[/url].[/color][/color][/color][br][br]Thanks to the use of scripts, we can simulate the interactive behavior of the mechanisms, overcoming the limitations imposed by the dependency structure of Dynamic Geometry. In this example, the five points are free, but maintain the constant length of the bars at all times.
The scripts used are detailed below.[br][br]When moving A:[br] SetValue(B, Intersect(Ray(A,B), Circle(A,1)))[br] SetValue(C, Intersect(Ray(B,C), Circle(B,1)))[br] SetValue(D, Intersect(Ray(C,D), Circle(C,1)))[br] SetValue(E, Intersect(Ray(D,E), Circle(D,1)))[br][br]When moving B:[br] SetValue(A, Intersect(Ray(B,A), Circle(B,1)))[br] SetValue(C, Intersect(Ray(B,C), Circle(B,1)))[br] SetValue(D, Intersect(Ray(C,D), Circle(C,1)))[br] SetValue(E, Intersect(Ray(D,E), Circle(D,1)))[br][br]When moving C:[br] SetValue(B, Intersect(Ray(C,B), Circle(C,1)))[br] SetValue(D, Intersect(Ray(C,D), Circle(C,1)))[br] SetValue(A, Intersect(Ray(B,A), Circle(B,1)))[br] SetValue(E, Intersect(Ray(D,E), Circle(D,1)))[br][br]When moving D:[br] SetValue(E, Intersect(Ray(D,E), Circle(D,1)))[br] SetValue(C, Intersect(Ray(D,C), Circle(D,1)))[br] SetValue(B, Intersect(Ray(C,B), Circle(C,1)))[br] SetValue(A, Intersect(Ray(B,A), Circle(B,1)))[br][br]When moving E:[br] SetValue(D, Intersect(Ray(E,D), Circle(E,1)))[br] SetValue(C, Intersect(Ray(D,C), Circle(D,1)))[br] SetValue(B, Intersect(Ray(C,B), Circle(C,1)))[br] SetValue(A, Intersect(Ray(B,A), Circle(B,1)))
[color=#999999]Author of the construction of GeoGebra: [color=#999999][url=https://www.geogebra.org/u/rafael]Rafael Losada[/url][/color][/color]

Information: Four-bar free chain