private void xyControl_KinematicSolved() { var angles = new RobotAngles() { A1 = rotControl.Angle1, A2 = xyControl.Angle1, A3 = xyControl.Angle2 }; mArm.SetAngles(angles); UpdateAnglesLabels(); int length = (int)xyControl.TargetPosition.X; rotControl.Length1 = length / 2; rotControl.Length2 = rotControl.Length1; }
private void rotControl_KinematicSolved() { var x = rotControl.TargetPosition.X; var y = rotControl.TargetPosition.Y; int length = (int)Math.Sqrt(x * x + y * y); double a1, a2; xyControl_InverseKinematicsSolver(length, (int)xyControl.TargetPosition.Y, xyControl.Length1, xyControl.Length2, out a1, out a2); var angles = new RobotAngles() { A1 = rotControl.Angle1, A2 = a1, A3 = a2 }; mArm.SetAngles(angles); UpdateAnglesLabels(); xyControl.Angle1 = a1; xyControl.Angle2 = a2; }