public Mechanism_8(double r1, double R1, double r2, double l, double v_block, Point c, int id)
 {
     this.r1 = Math.Abs(r1);
     this.R1 = Math.Abs(R1);
     if ((R1 - r1) < 0)
     {
         R1 = 2 * r1;
     }
     this.r2      = Math.Abs(r2);
     this.v_block = v_block;
     State        = new State_8 {
         rot1 = 0, rot2 = 0, deltaO2 = 0
     };
     Center = c;
     Number = 8;
     ID     = id;
     if (l < 2 * R1 + r2 * Math.PI)
     {
         this.l = 4 * (R1 + r2);
     }
     else
     {
         this.l = l;
     }
 }
        public State_8 ReturnState(double t)
        {
            double omega1 = v_block / r1,
                   v_rope = omega1 * R1;

            State = new State_8 {
                rot1 = omega1 * t, rot2 = v_rope * t / r2, deltaO2 = v_rope * t
            };
            return(State);
        }