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); }