Copia de Four-bar linkage (3D with scripts)
Como el espacio tridimensional posee una dimensión más que el plano, la restricción impuesta por la longitud fija de cada barra resulta más débil, lo que confiere mayor libertad al mecanismo. Mientras que nuestro rombo plano tenía 1 grado de libertad interno, su versión espacial tiene 2, como podemos comprobar en esta construcción. Esto implica que hasta la misma idea de rombo en cuanto "paralelogramo" pierda su sentido. En su lugar, es mejor pensar en una bisagra.
Observemos que ahora, para hacer coincidir el número total de grados de libertad con el número de grados de libertad internos, además de fijar los puntos O y U, hemos fijado también el plano en el que se mantiene el punto E.
A continuación se detallan los scripts utilizados.
Al activar o desactivar la casilla E' (gobernada por el booleano e):
Valor(E, Si(e, U, E))
Al activar o desactivar la casilla F' (gobernada por el booleano f):
Valor(F, Si(f, O, F))
Al mover el punto E:
Valor(E, Interseca(Semirrecta(O, (x(E), y(E), 0)), Esfera(O,1)))
Valor(F, Si(E==U || f, F, Interseca(Semirrecta((U+E)/2, Interseca(Recta(F, Vector(U,E)), PlanoPerpendicular((E+U)/2, Recta(F, Vector(U,E))))), Esfera((U+E)/2, abs((U+E)/2)))))
Valor(e, E==U)
Al mover el punto F:
Valor(F, Interseca(Semirrecta(U,F), Esfera(U,1)))
Valor(E, Si(F==O || e, E, Refleja(U, Plano(Recta(O, F), EjeZ))))
Valor(f, F==O)
Author of the construction of GeoGebra: Rafael Losada