public Hinge(Hinge hinge)
        {
            Angle  = hinge.Angle;
            Length = hinge.Length;

            if (hinge.Child != null)
            {
                Child = new Hinge(hinge.Child);
            }
        }
        public Vector2 NumericalJacobianColumn()
        {
            var copy = new Hinge(this);

            copy.Parent = Parent;

            copy.Angle += MathHelper.ToRadians(0.1f);

            var oldE = EndEffector;
            var newE = copy.EndEffector;

            return(newE - oldE);
        }
 public Hinge(float angle, float length, Hinge child)
 {
     Angle  = angle;
     Length = length;
     Child  = child;
 }
 public Hinge(float angle, Hinge child)
     : this(angle, DEFAULT_LENGTH, child)
 {
 }