Kinematic equations of suspension
Show older comments
Hi,
I am trying to solve an equation solving for the kinematics of suspension. The equation is as follows:
a1= sqrt((B_x)^2+(B_y)^2);
b= sqrt((A_x- B_x)^2+(A_y-B_y)^2);
c= sqrt((F_x- A_x)^2+(F_y-A_y)^2);
theta4=(pi/2)-Angle_New_Lower_Ball_Joint;
syms theta1 theta2;
[solutions_theta1,solutions_theta2]=solve([sin(theta4) sin(theta1) cos(theta2);cos(theta4) cos(theta1) sin(theta2)]*[a1;b;c]+[F_x;F_y],theta1,theta2);
The values for a1, b, c and theta4 turn out to be correct, but the solver says cannot find an explicit solution.
The value of theta1 lies between -pi to +pi, but i cant add ranges to code.
Any suggestion what could be done ?
Thanks a Lot
Answers (1)
Walter Roberson
on 8 Jan 2012
I do not know if the MuPAD solve() routine is able to solve matrices.
In Maple, my approach was
a1 := sqrt(B_x^2+B_y^2);
b := sqrt((A_x-B_x)^2+(A_y-B_y)^2);
c := sqrt((F_x-A_x)^2+(F_y-A_y)^2);
theta4 := (1/2)*Pi-Angle_New_Lower_Ball_Joint
simplify( combine( solve( convert( <<sin(theta4) | sin(theta1) | cos(theta2)>, <cos(theta4) | cos(theta1) | sin(theta2)>> . <a1, b, c> + <F_x, F_y>, list), [theta1, theta2]) ), size)
Maple is able to find a solution, but the solution is not in any particular range -- which is not surprising as in what you give us you do not indicate whether any of the constants are real, complex, positive, in a particular range, etc..
Here is the solution. Please see the notes after for hints in understanding it
theta1 = arctan(( - (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y *
B_y + B_y^2)^(1/2) * (F_y + (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint)) * RootOf(B_y^4 + B_y^2 * F_x^2 * cos(2
* Angle_New_Lower_Ball_Joint) - A_x^2 * B_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + F_y^2 * B_x^2 + F_y^2 * B_y^2 + 2 * F_y^2
* A_y^2 + 4 * A_x * B_x^2 * F_x + 4 * A_x * B_y^2 * F_x - 4 * A_x^2 *
B_x * F_x + 4 * A_x * B_x * F_x^2 + 4 * A_y * B_y * F_x^2 - F_y^2 *
B_y^2 * cos(2 * Angle_New_Lower_Ball_Joint) - B_y^2 * F_x^2 - B_x^2 *
F_x^2 + 4 * F_y * A_y * B_x^2 - 4 * F_y * A_y^2 * B_y + 4 * F_y * A_y *
B_y^2 + 4 * A_x * B_x * A_y * B_y + 2 * B_x^2 * F_x * F_y * sin(2 *
Angle_New_Lower_Ball_Joint) + 2 * B_y^2 * F_x * F_y * sin(2 *
Angle_New_Lower_Ball_Joint) - 2 * F_x^2 * A_y^2 + (B_x^2 + B_y^2)^(3/2)
* sin(Angle_New_Lower_Ball_Joint) * F_y - F_y^2 * B_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + (2 * B_x^2 * F_x * (A_x^2 - 2 * A_x * B_x
+ B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * sin(2 *
Angle_New_Lower_Ball_Joint) + (B_x^2 + B_y^2)^(3/2) *
sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2
- 2 * A_y * B_y + B_y^2)^(1/2) + 3 * sin(Angle_New_Lower_Ball_Joint) *
B_y^2 * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) + 3 *
sin(Angle_New_Lower_Ball_Joint) * B_x^2 * (A_x^2 - 2 * A_x * B_x + B_x^2
+ A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) - 2 *
B_x^2 * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * cos(2 * Angle_New_Lower_Ball_Joint) - B_x^2 * (A_x^2 - 2
* A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 +
B_y^2)^(1/2) * sin(3 * Angle_New_Lower_Ball_Joint) + 4 * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 * A_x * B_x
+ B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y^2 - 2 * B_y^2 * F_y
* (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2)
* cos(2 * Angle_New_Lower_Ball_Joint) - B_y^2 * (A_x^2 - 2 * A_x * B_x +
B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) *
sin(3 * Angle_New_Lower_Ball_Joint) - 4 * A_y * B_y * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x + 4 *
(B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y * A_y + 4
* (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_x * A_x - 4
* A_x * B_x * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) +
(B_x^2 + B_y^2)^(3/2) * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y
* B_y + B_y^2)^(1/2) * sin(3 * Angle_New_Lower_Ball_Joint) - 4 * A_y *
B_y * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) + 6 * B_y^2 * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2
- 2 * A_y * B_y + B_y^2)^(1/2) + 6 * B_x^2 * F_y * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) + 4 * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y^2 * A_y +
4 * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * F_y * F_x * A_x - 4 * A_x * B_x * F_y * (A_x^2 - 2 * A_x
* B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) + 2 * B_y^2 * F_x *
(A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) *
sin(2 * Angle_New_Lower_Ball_Joint)) * _Z + (B_x^2 + B_y^2)^(3/2) * F_y
* sin(3 * Angle_New_Lower_Ball_Joint) + (2 * B_y^4 + 2 * F_y^2 * B_x^2 +
2 * F_y^2 * B_y^2 + 2 * F_y^2 * A_y^2 - 4 * A_x * B_x * F_x^2 - 4 * A_y
* B_y * F_x^2 + 2 * B_y^2 * F_x^2 + 2 * B_x^2 * F_x^2 - 4 * F_y^2 * A_x
* B_x - 4 * F_y^2 * A_y * B_y + 2 * F_x^2 * A_y^2 - 4 * A_x * B_x *
B_y^2 - 4 * B_x^2 * A_y * B_y + 2 * F_x^2 * A_x^2 + 2 * A_x^2 * F_y^2 +
4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x *
A_y^2 + 4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x * A_x^2 + 4 * A_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) + 4 * A_y^2 * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * B_x^2 * F_y *
(B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * B_y^2 *
F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 *
B_x^2 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x +
4 * B_y^2 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x + 2 * B_x^2 * A_y^2 + 2 * A_y^2 * B_y^2 - 4 * A_y * B_y^3 + 4 *
B_x^2 * B_y^2 + 2 * A_x^2 * B_x^2 + 2 * A_x^2 * B_y^2 - 8 * A_x * B_x *
F_x * (B_x^2 + B_y^2)^(1/2) * cos(Angle_New_Lower_Ball_Joint) - 8 * A_x
* B_x * F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) -
8 * A_y * B_y * F_x * (B_x^2 + B_y^2)^(1/2) *
cos(Angle_New_Lower_Ball_Joint) - 8 * A_y * B_y * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 2 * B_x^4 - 4 * A_x *
B_x^3) * _Z^2 - 2 * A_x * B_x * B_y^2 - 2 * B_x^2 * A_y * B_y - 4 * F_y
* A_y * A_x * B_x + 4 * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) * F_y^2 * A_y - 4 *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x * A_y^2 -
4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x *
A_x^2 + 4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x^2 * A_x + 3 * B_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) + 3 * B_y^2 * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) - B_x^2 * A_y^2 + A_y^2 *
B_y^2 - 2 * A_y * B_y^3 - B_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) * sin(3 *
Angle_New_Lower_Ball_Joint) - B_y^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(3 * Angle_New_Lower_Ball_Joint) + 2 * B_x^2 * A_y * B_y * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * B_x^2 * B_y^2 + A_x^2 * B_x^2 - A_x^2
* B_y^2 + 2 * A_x * B_x * B_y^2 * cos(2 * Angle_New_Lower_Ball_Joint) +
4 * A_x * B_x * F_x * (B_x^2 + B_y^2)^(1/2) *
cos(Angle_New_Lower_Ball_Joint) - 4 * A_x * B_x * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * A_y * B_y * F_x *
(B_x^2 + B_y^2)^(1/2) * cos(Angle_New_Lower_Ball_Joint) - 4 * A_y * B_y
* F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x * F_y *
A_y + 4 * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * F_y
* F_x * A_x + 4 * A_x * F_y * A_y * F_x - 4 * A_x * A_y * B_y * F_x -
B_x^4 * cos(2 * Angle_New_Lower_Ball_Joint) - B_y^4 * cos(2 *
Angle_New_Lower_Ball_Joint) - 2 * B_x^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * A_x * B_x^3 * cos(2 *
Angle_New_Lower_Ball_Joint) - B_x^2 * A_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + B_x^4 + B_x^2 * F_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * A_y * B_y^3 * cos(2 *
Angle_New_Lower_Ball_Joint) - A_x^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) - A_y^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) - 2 * A_x * B_x^3) + ( -
cos(Angle_New_Lower_Ball_Joint) * F_x - sin(Angle_New_Lower_Ball_Joint)
* F_y) * (B_x^2 + B_y^2)^(1/2) - F_x * A_x - F_y * A_y + A_x * B_x + A_y
* B_y - B_y^2 - B_x^2)/((A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y
* B_y + B_y^2)^(1/2) * (cos(Angle_New_Lower_Ball_Joint) * (B_x^2 +
B_y^2)^(1/2) + F_x)), RootOf(B_y^4 + B_y^2 * F_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) - A_x^2 * B_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + F_y^2 * B_x^2 + F_y^2 * B_y^2 + 2 * F_y^2
* A_y^2 + 4 * A_x * B_x^2 * F_x + 4 * A_x * B_y^2 * F_x - 4 * A_x^2 *
B_x * F_x + 4 * A_x * B_x * F_x^2 + 4 * A_y * B_y * F_x^2 - F_y^2 *
B_y^2 * cos(2 * Angle_New_Lower_Ball_Joint) - B_y^2 * F_x^2 - B_x^2 *
F_x^2 + 4 * F_y * A_y * B_x^2 - 4 * F_y * A_y^2 * B_y + 4 * F_y * A_y *
B_y^2 + 4 * A_x * B_x * A_y * B_y + 2 * B_x^2 * F_x * F_y * sin(2 *
Angle_New_Lower_Ball_Joint) + 2 * B_y^2 * F_x * F_y * sin(2 *
Angle_New_Lower_Ball_Joint) - 2 * F_x^2 * A_y^2 + (B_x^2 + B_y^2)^(3/2)
* sin(Angle_New_Lower_Ball_Joint) * F_y - F_y^2 * B_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + (2 * B_x^2 * F_x * (A_x^2 - 2 * A_x * B_x
+ B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * sin(2 *
Angle_New_Lower_Ball_Joint) + (B_x^2 + B_y^2)^(3/2) *
sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2
- 2 * A_y * B_y + B_y^2)^(1/2) + 3 * sin(Angle_New_Lower_Ball_Joint) *
B_y^2 * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) + 3 *
sin(Angle_New_Lower_Ball_Joint) * B_x^2 * (A_x^2 - 2 * A_x * B_x + B_x^2
+ A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) - 2 *
B_x^2 * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * cos(2 * Angle_New_Lower_Ball_Joint) - B_x^2 * (A_x^2 - 2
* A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 +
B_y^2)^(1/2) * sin(3 * Angle_New_Lower_Ball_Joint) + 4 * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 * A_x * B_x
+ B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y^2 - 2 * B_y^2 * F_y
* (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2)
* cos(2 * Angle_New_Lower_Ball_Joint) - B_y^2 * (A_x^2 - 2 * A_x * B_x +
B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) *
sin(3 * Angle_New_Lower_Ball_Joint) - 4 * A_y * B_y * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x + 4 *
(B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y * A_y + 4
* (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_x * A_x - 4
* A_x * B_x * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) +
(B_x^2 + B_y^2)^(3/2) * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y
* B_y + B_y^2)^(1/2) * sin(3 * Angle_New_Lower_Ball_Joint) - 4 * A_y *
B_y * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) + 6 * B_y^2 * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2
- 2 * A_y * B_y + B_y^2)^(1/2) + 6 * B_x^2 * F_y * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) + 4 * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y^2 * A_y +
4 * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * F_y * F_x * A_x - 4 * A_x * B_x * F_y * (A_x^2 - 2 * A_x
* B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) + 2 * B_y^2 * F_x *
(A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) *
sin(2 * Angle_New_Lower_Ball_Joint)) * _Z + (B_x^2 + B_y^2)^(3/2) * F_y
* sin(3 * Angle_New_Lower_Ball_Joint) + (2 * B_y^4 + 2 * F_y^2 * B_x^2 +
2 * F_y^2 * B_y^2 + 2 * F_y^2 * A_y^2 - 4 * A_x * B_x * F_x^2 - 4 * A_y
* B_y * F_x^2 + 2 * B_y^2 * F_x^2 + 2 * B_x^2 * F_x^2 - 4 * F_y^2 * A_x
* B_x - 4 * F_y^2 * A_y * B_y + 2 * F_x^2 * A_y^2 - 4 * A_x * B_x *
B_y^2 - 4 * B_x^2 * A_y * B_y + 2 * F_x^2 * A_x^2 + 2 * A_x^2 * F_y^2 +
4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x *
A_y^2 + 4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x * A_x^2 + 4 * A_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) + 4 * A_y^2 * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * B_x^2 * F_y *
(B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * B_y^2 *
F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 *
B_x^2 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x +
4 * B_y^2 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x + 2 * B_x^2 * A_y^2 + 2 * A_y^2 * B_y^2 - 4 * A_y * B_y^3 + 4 *
B_x^2 * B_y^2 + 2 * A_x^2 * B_x^2 + 2 * A_x^2 * B_y^2 - 8 * A_x * B_x *
F_x * (B_x^2 + B_y^2)^(1/2) * cos(Angle_New_Lower_Ball_Joint) - 8 * A_x
* B_x * F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) -
8 * A_y * B_y * F_x * (B_x^2 + B_y^2)^(1/2) *
cos(Angle_New_Lower_Ball_Joint) - 8 * A_y * B_y * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 2 * B_x^4 - 4 * A_x *
B_x^3) * _Z^2 - 2 * A_x * B_x * B_y^2 - 2 * B_x^2 * A_y * B_y - 4 * F_y
* A_y * A_x * B_x + 4 * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) * F_y^2 * A_y - 4 *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x * A_y^2 -
4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x *
A_x^2 + 4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x^2 * A_x + 3 * B_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) + 3 * B_y^2 * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) - B_x^2 * A_y^2 + A_y^2 *
B_y^2 - 2 * A_y * B_y^3 - B_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) * sin(3 *
Angle_New_Lower_Ball_Joint) - B_y^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(3 * Angle_New_Lower_Ball_Joint) + 2 * B_x^2 * A_y * B_y * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * B_x^2 * B_y^2 + A_x^2 * B_x^2 - A_x^2
* B_y^2 + 2 * A_x * B_x * B_y^2 * cos(2 * Angle_New_Lower_Ball_Joint) +
4 * A_x * B_x * F_x * (B_x^2 + B_y^2)^(1/2) *
cos(Angle_New_Lower_Ball_Joint) - 4 * A_x * B_x * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * A_y * B_y * F_x *
(B_x^2 + B_y^2)^(1/2) * cos(Angle_New_Lower_Ball_Joint) - 4 * A_y * B_y
* F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x * F_y *
A_y + 4 * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * F_y
* F_x * A_x + 4 * A_x * F_y * A_y * F_x - 4 * A_x * A_y * B_y * F_x -
B_x^4 * cos(2 * Angle_New_Lower_Ball_Joint) - B_y^4 * cos(2 *
Angle_New_Lower_Ball_Joint) - 2 * B_x^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * A_x * B_x^3 * cos(2 *
Angle_New_Lower_Ball_Joint) - B_x^2 * A_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + B_x^4 + B_x^2 * F_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * A_y * B_y^3 * cos(2 *
Angle_New_Lower_Ball_Joint) - A_x^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) - A_y^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) - 2 * A_x * B_x^3))
theta2 = arctan( - (F_y
+ (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * RootOf(B_y^4
+ B_y^2 * F_x^2 * cos(2 * Angle_New_Lower_Ball_Joint) - A_x^2 * B_x^2 *
cos(2 * Angle_New_Lower_Ball_Joint) + F_y^2 * B_x^2 + F_y^2 * B_y^2 + 2
* F_y^2 * A_y^2 + 4 * A_x * B_x^2 * F_x + 4 * A_x * B_y^2 * F_x - 4 *
A_x^2 * B_x * F_x + 4 * A_x * B_x * F_x^2 + 4 * A_y * B_y * F_x^2 -
F_y^2 * B_y^2 * cos(2 * Angle_New_Lower_Ball_Joint) - B_y^2 * F_x^2 -
B_x^2 * F_x^2 + 4 * F_y * A_y * B_x^2 - 4 * F_y * A_y^2 * B_y + 4 * F_y
* A_y * B_y^2 + 4 * A_x * B_x * A_y * B_y + 2 * B_x^2 * F_x * F_y *
sin(2 * Angle_New_Lower_Ball_Joint) + 2 * B_y^2 * F_x * F_y * sin(2 *
Angle_New_Lower_Ball_Joint) - 2 * F_x^2 * A_y^2 + (B_x^2 + B_y^2)^(3/2)
* sin(Angle_New_Lower_Ball_Joint) * F_y - F_y^2 * B_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + (2 * B_x^2 * F_x * (A_x^2 - 2 * A_x * B_x
+ B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * sin(2 *
Angle_New_Lower_Ball_Joint) + (B_x^2 + B_y^2)^(3/2) *
sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2
- 2 * A_y * B_y + B_y^2)^(1/2) + 3 * sin(Angle_New_Lower_Ball_Joint) *
B_y^2 * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) + 3 *
sin(Angle_New_Lower_Ball_Joint) * B_x^2 * (A_x^2 - 2 * A_x * B_x + B_x^2
+ A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) - 2 *
B_x^2 * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * cos(2 * Angle_New_Lower_Ball_Joint) - B_x^2 * (A_x^2 - 2
* A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 +
B_y^2)^(1/2) * sin(3 * Angle_New_Lower_Ball_Joint) + 4 * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 * A_x * B_x
+ B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y^2 - 2 * B_y^2 * F_y
* (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2)
* cos(2 * Angle_New_Lower_Ball_Joint) - B_y^2 * (A_x^2 - 2 * A_x * B_x +
B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) *
sin(3 * Angle_New_Lower_Ball_Joint) - 4 * A_y * B_y * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x + 4 *
(B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y * A_y + 4
* (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_x * A_x - 4
* A_x * B_x * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) +
(B_x^2 + B_y^2)^(3/2) * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y
* B_y + B_y^2)^(1/2) * sin(3 * Angle_New_Lower_Ball_Joint) - 4 * A_y *
B_y * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) + 6 * B_y^2 * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2
- 2 * A_y * B_y + B_y^2)^(1/2) + 6 * B_x^2 * F_y * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) + 4 * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y^2 * A_y +
4 * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * F_y * F_x * A_x - 4 * A_x * B_x * F_y * (A_x^2 - 2 * A_x
* B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) + 2 * B_y^2 * F_x *
(A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) *
sin(2 * Angle_New_Lower_Ball_Joint)) * _Z + (B_x^2 + B_y^2)^(3/2) * F_y
* sin(3 * Angle_New_Lower_Ball_Joint) + (2 * B_y^4 + 2 * F_y^2 * B_x^2 +
2 * F_y^2 * B_y^2 + 2 * F_y^2 * A_y^2 - 4 * A_x * B_x * F_x^2 - 4 * A_y
* B_y * F_x^2 + 2 * B_y^2 * F_x^2 + 2 * B_x^2 * F_x^2 - 4 * F_y^2 * A_x
* B_x - 4 * F_y^2 * A_y * B_y + 2 * F_x^2 * A_y^2 - 4 * A_x * B_x *
B_y^2 - 4 * B_x^2 * A_y * B_y + 2 * F_x^2 * A_x^2 + 2 * A_x^2 * F_y^2 +
4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x *
A_y^2 + 4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x * A_x^2 + 4 * A_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) + 4 * A_y^2 * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * B_x^2 * F_y *
(B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * B_y^2 *
F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 *
B_x^2 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x +
4 * B_y^2 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x + 2 * B_x^2 * A_y^2 + 2 * A_y^2 * B_y^2 - 4 * A_y * B_y^3 + 4 *
B_x^2 * B_y^2 + 2 * A_x^2 * B_x^2 + 2 * A_x^2 * B_y^2 - 8 * A_x * B_x *
F_x * (B_x^2 + B_y^2)^(1/2) * cos(Angle_New_Lower_Ball_Joint) - 8 * A_x
* B_x * F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) -
8 * A_y * B_y * F_x * (B_x^2 + B_y^2)^(1/2) *
cos(Angle_New_Lower_Ball_Joint) - 8 * A_y * B_y * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 2 * B_x^4 - 4 * A_x *
B_x^3) * _Z^2 - 2 * A_x * B_x * B_y^2 - 2 * B_x^2 * A_y * B_y - 4 * F_y
* A_y * A_x * B_x + 4 * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) * F_y^2 * A_y - 4 *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x * A_y^2 -
4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x *
A_x^2 + 4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x^2 * A_x + 3 * B_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) + 3 * B_y^2 * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) - B_x^2 * A_y^2 + A_y^2 *
B_y^2 - 2 * A_y * B_y^3 - B_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) * sin(3 *
Angle_New_Lower_Ball_Joint) - B_y^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(3 * Angle_New_Lower_Ball_Joint) + 2 * B_x^2 * A_y * B_y * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * B_x^2 * B_y^2 + A_x^2 * B_x^2 - A_x^2
* B_y^2 + 2 * A_x * B_x * B_y^2 * cos(2 * Angle_New_Lower_Ball_Joint) +
4 * A_x * B_x * F_x * (B_x^2 + B_y^2)^(1/2) *
cos(Angle_New_Lower_Ball_Joint) - 4 * A_x * B_x * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * A_y * B_y * F_x *
(B_x^2 + B_y^2)^(1/2) * cos(Angle_New_Lower_Ball_Joint) - 4 * A_y * B_y
* F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x * F_y *
A_y + 4 * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * F_y
* F_x * A_x + 4 * A_x * F_y * A_y * F_x - 4 * A_x * A_y * B_y * F_x -
B_x^4 * cos(2 * Angle_New_Lower_Ball_Joint) - B_y^4 * cos(2 *
Angle_New_Lower_Ball_Joint) - 2 * B_x^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * A_x * B_x^3 * cos(2 *
Angle_New_Lower_Ball_Joint) - B_x^2 * A_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + B_x^4 + B_x^2 * F_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * A_y * B_y^3 * cos(2 *
Angle_New_Lower_Ball_Joint) - A_x^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) - A_y^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) - 2 * A_x * B_x^3))/(F_x^2 - 2 * F_x * A_x +
A_x^2 + F_y^2 - 2 * F_y * A_y + A_y^2)^(1/2), (1/2) * (2 * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (F_y + (B_x^2
+ B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint)) * RootOf(B_y^4 + B_y^2
* F_x^2 * cos(2 * Angle_New_Lower_Ball_Joint) - A_x^2 * B_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + F_y^2 * B_x^2 + F_y^2 * B_y^2 + 2 * F_y^2
* A_y^2 + 4 * A_x * B_x^2 * F_x + 4 * A_x * B_y^2 * F_x - 4 * A_x^2 *
B_x * F_x + 4 * A_x * B_x * F_x^2 + 4 * A_y * B_y * F_x^2 - F_y^2 *
B_y^2 * cos(2 * Angle_New_Lower_Ball_Joint) - B_y^2 * F_x^2 - B_x^2 *
F_x^2 + 4 * F_y * A_y * B_x^2 - 4 * F_y * A_y^2 * B_y + 4 * F_y * A_y *
B_y^2 + 4 * A_x * B_x * A_y * B_y + 2 * B_x^2 * F_x * F_y * sin(2 *
Angle_New_Lower_Ball_Joint) + 2 * B_y^2 * F_x * F_y * sin(2 *
Angle_New_Lower_Ball_Joint) - 2 * F_x^2 * A_y^2 + (B_x^2 + B_y^2)^(3/2)
* sin(Angle_New_Lower_Ball_Joint) * F_y - F_y^2 * B_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + (2 * B_x^2 * F_x * (A_x^2 - 2 * A_x * B_x
+ B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * sin(2 *
Angle_New_Lower_Ball_Joint) + (B_x^2 + B_y^2)^(3/2) *
sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2
- 2 * A_y * B_y + B_y^2)^(1/2) + 3 * sin(Angle_New_Lower_Ball_Joint) *
B_y^2 * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) + 3 *
sin(Angle_New_Lower_Ball_Joint) * B_x^2 * (A_x^2 - 2 * A_x * B_x + B_x^2
+ A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) - 2 *
B_x^2 * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * cos(2 * Angle_New_Lower_Ball_Joint) - B_x^2 * (A_x^2 - 2
* A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 +
B_y^2)^(1/2) * sin(3 * Angle_New_Lower_Ball_Joint) + 4 * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 * A_x * B_x
+ B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y^2 - 2 * B_y^2 * F_y
* (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2)
* cos(2 * Angle_New_Lower_Ball_Joint) - B_y^2 * (A_x^2 - 2 * A_x * B_x +
B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) *
sin(3 * Angle_New_Lower_Ball_Joint) - 4 * A_y * B_y * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x + 4 *
(B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y * A_y + 4
* (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_x * A_x - 4
* A_x * B_x * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) +
(B_x^2 + B_y^2)^(3/2) * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y
* B_y + B_y^2)^(1/2) * sin(3 * Angle_New_Lower_Ball_Joint) - 4 * A_y *
B_y * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) + 6 * B_y^2 * F_y * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2
- 2 * A_y * B_y + B_y^2)^(1/2) + 6 * B_x^2 * F_y * (A_x^2 - 2 * A_x *
B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) + 4 * (A_x^2 - 2 *
A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) * F_y^2 * A_y +
4 * (A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y +
B_y^2)^(1/2) * F_y * F_x * A_x - 4 * A_x * B_x * F_y * (A_x^2 - 2 * A_x
* B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) + 2 * B_y^2 * F_x *
(A_x^2 - 2 * A_x * B_x + B_x^2 + A_y^2 - 2 * A_y * B_y + B_y^2)^(1/2) *
sin(2 * Angle_New_Lower_Ball_Joint)) * _Z + (B_x^2 + B_y^2)^(3/2) * F_y
* sin(3 * Angle_New_Lower_Ball_Joint) + (2 * B_y^4 + 2 * F_y^2 * B_x^2 +
2 * F_y^2 * B_y^2 + 2 * F_y^2 * A_y^2 - 4 * A_x * B_x * F_x^2 - 4 * A_y
* B_y * F_x^2 + 2 * B_y^2 * F_x^2 + 2 * B_x^2 * F_x^2 - 4 * F_y^2 * A_x
* B_x - 4 * F_y^2 * A_y * B_y + 2 * F_x^2 * A_y^2 - 4 * A_x * B_x *
B_y^2 - 4 * B_x^2 * A_y * B_y + 2 * F_x^2 * A_x^2 + 2 * A_x^2 * F_y^2 +
4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x *
A_y^2 + 4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x * A_x^2 + 4 * A_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) + 4 * A_y^2 * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * B_x^2 * F_y *
(B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * B_y^2 *
F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 *
B_x^2 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x +
4 * B_y^2 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x + 2 * B_x^2 * A_y^2 + 2 * A_y^2 * B_y^2 - 4 * A_y * B_y^3 + 4 *
B_x^2 * B_y^2 + 2 * A_x^2 * B_x^2 + 2 * A_x^2 * B_y^2 - 8 * A_x * B_x *
F_x * (B_x^2 + B_y^2)^(1/2) * cos(Angle_New_Lower_Ball_Joint) - 8 * A_x
* B_x * F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) -
8 * A_y * B_y * F_x * (B_x^2 + B_y^2)^(1/2) *
cos(Angle_New_Lower_Ball_Joint) - 8 * A_y * B_y * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 2 * B_x^4 - 4 * A_x *
B_x^3) * _Z^2 - 2 * A_x * B_x * B_y^2 - 2 * B_x^2 * A_y * B_y - 4 * F_y
* A_y * A_x * B_x + 4 * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) * F_y^2 * A_y - 4 *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x * A_y^2 -
4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x *
A_x^2 + 4 * cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) *
F_x^2 * A_x + 3 * B_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(Angle_New_Lower_Ball_Joint) + 3 * B_y^2 * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) - B_x^2 * A_y^2 + A_y^2 *
B_y^2 - 2 * A_y * B_y^3 - B_x^2 * F_y * (B_x^2 + B_y^2)^(1/2) * sin(3 *
Angle_New_Lower_Ball_Joint) - B_y^2 * F_y * (B_x^2 + B_y^2)^(1/2) *
sin(3 * Angle_New_Lower_Ball_Joint) + 2 * B_x^2 * A_y * B_y * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * B_x^2 * B_y^2 + A_x^2 * B_x^2 - A_x^2
* B_y^2 + 2 * A_x * B_x * B_y^2 * cos(2 * Angle_New_Lower_Ball_Joint) +
4 * A_x * B_x * F_x * (B_x^2 + B_y^2)^(1/2) *
cos(Angle_New_Lower_Ball_Joint) - 4 * A_x * B_x * F_y * (B_x^2 +
B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 * A_y * B_y * F_x *
(B_x^2 + B_y^2)^(1/2) * cos(Angle_New_Lower_Ball_Joint) - 4 * A_y * B_y
* F_y * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) + 4 *
cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2) * F_x * F_y *
A_y + 4 * (B_x^2 + B_y^2)^(1/2) * sin(Angle_New_Lower_Ball_Joint) * F_y
* F_x * A_x + 4 * A_x * F_y * A_y * F_x - 4 * A_x * A_y * B_y * F_x -
B_x^4 * cos(2 * Angle_New_Lower_Ball_Joint) - B_y^4 * cos(2 *
Angle_New_Lower_Ball_Joint) - 2 * B_x^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * A_x * B_x^3 * cos(2 *
Angle_New_Lower_Ball_Joint) - B_x^2 * A_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + B_x^4 + B_x^2 * F_x^2 * cos(2 *
Angle_New_Lower_Ball_Joint) + 2 * A_y * B_y^3 * cos(2 *
Angle_New_Lower_Ball_Joint) - A_x^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) - A_y^2 * B_y^2 * cos(2 *
Angle_New_Lower_Ball_Joint) - 2 * A_x * B_x^3) + ( - 2 *
cos(Angle_New_Lower_Ball_Joint) * F_x + 2 *
sin(Angle_New_Lower_Ball_Joint) * F_y) * (B_x^2 + B_y^2)^(1/2) + ( -
B_x^2 - B_y^2) * cos(2 * Angle_New_Lower_Ball_Joint) + B_y^2 + 2 * F_y *
A_y - 2 * A_x * B_x + B_x^2 - 2 * A_y * B_y - 2 * F_x^2 + 2 * F_x *
A_x)/((F_x^2 - 2 * F_x * A_x + A_x^2 + F_y^2 - 2 * F_y * A_y +
A_y^2)^(1/2) * (cos(Angle_New_Lower_Ball_Joint) * (B_x^2 + B_y^2)^(1/2)
+ F_x)))
You may notice that the above contains calls to RootOf(), and if you look closer you will see that inside the RootOf() there is a new variable _Z . MuPAD has an equivalent routine with a slightly different syntax that is easily converted to: recode each RootOf(expression) as RootOf(expression,_Z)
RootOf() is the function for finding the roots of an expression -- the values for _Z that cause the expression to evaluate to 0. It is the roots that are the value of RootOf().
All of the RootOf() calls in the above solution are the same, and they are finding the roots of a quadratic. And yes, that implies multiple solutions.
The RootOf() expression can be rewritten in more compact form; it is
RootOf( (2 * (B_x^2 + B_y^2 + F_y^2 + F_x^2) * (A_x^2 - 2 * A_x * B_x + A_y^2 -
2 * A_y * B_y + B_x^2 + B_y^2) + (4 * (A_x^2 - 2 * A_x * B_x + A_y^2 - 2
* A_y * B_y + B_x^2 + B_y^2) * F_y * sin(Angle_New_Lower_Ball_Joint) + 4
* (A_x^2 - 2 * A_x * B_x + A_y^2 - 2 * A_y * B_y + B_x^2 + B_y^2) *
cos(Angle_New_Lower_Ball_Joint) * F_x) * (B_x^2 + B_y^2)^(1/2)) * _Z^2 -
4 * (( - (1/4) * sin(3 * Angle_New_Lower_Ball_Joint) - (1/4) *
sin(Angle_New_Lower_Ball_Joint)) * (B_x^2 + B_y^2)^(3/2) + (((1/4) *
B_y^2 + (1/4) * B_x^2) * sin(3 * Angle_New_Lower_Ball_Joint) + (A_y *
B_y + A_x * B_x - F_x * A_x - F_y * A_y - F_y^2 - (3/4) * B_x^2 - (3/4)
* B_y^2) * sin(Angle_New_Lower_Ball_Joint) - F_y *
cos(Angle_New_Lower_Ball_Joint) * F_x) * (B_x^2 + B_y^2)^(1/2) + (1/2) *
F_y * (B_x^2 + B_y^2) * cos(2 * Angle_New_Lower_Ball_Joint) - (1/2) *
F_x * (B_x^2 + B_y^2) * sin(2 * Angle_New_Lower_Ball_Joint) + F_y * ( -
F_y * A_y + A_y * B_y - F_x * A_x + A_x * B_x - (3/2) * B_y^2 - (3/2) *
B_x^2)) * _Z * (A_x^2 - 2 * A_x * B_x + A_y^2 - 2 * A_y * B_y + B_x^2 +
B_y^2)^(1/2) + ( - F_x^2 + 4 * F_y * A_y - A_x^2 + F_y^2 + 4 * F_x * A_x
+ A_y^2) * B_y^2 + F_y * (sin(Angle_New_Lower_Ball_Joint) + sin(3 *
Angle_New_Lower_Ball_Joint)) * (B_x^2 + B_y^2)^(3/2) + ( - F_y * (B_x^2
+ B_y^2) * sin(3 * Angle_New_Lower_Ball_Joint) + 4 * (F_y * A_y + F_x *
A_x + (3/4) * B_y^2 - A_x * B_x - A_y * B_y + (3/4) * B_x^2) * F_y *
sin(Angle_New_Lower_Ball_Joint) + 4 * ( - A_y^2 + A_x * B_x + A_y * B_y
+ F_y * A_y - A_x * ( - F_x + A_x)) * cos(Angle_New_Lower_Ball_Joint) *
F_x) * (B_x^2 + B_y^2)^(1/2) + 2 * A_y^2 * F_y^2 - (B_x^2 + B_y^2) *
(B_x^2 - 2 * A_x * B_x - F_x^2 - 2 * A_y * B_y + F_y^2 + A_x^2 + B_y^2 +
A_y^2) * cos(2 * Angle_New_Lower_Ball_Joint) + 2 * F_y * F_x * (B_x^2 +
B_y^2) * sin(2 * Angle_New_Lower_Ball_Joint) - 4 * A_x * ((1/2) * B_y^2
- A_y * B_y + F_y * A_y + F_x * ( - F_x + A_x)) * B_x + B_x^4 - 2 * A_x
* B_x^3 + (2 * B_y^2 - F_x^2 + 4 * F_x * A_x + F_y^2 + 4 * F_y * A_y - 2
* A_y * B_y + A_x^2 - A_y^2) * B_x^2 - 4 * (F_y * A_y + F_x * ( - F_x +
A_x)) * A_y * B_y + B_y^4 - 2 * A_y * B_y^3 - 2 * A_y^2 * F_x^2 + 4 *
A_x * A_y * F_x * F_y)
Categories
Find more on Numeric Solvers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!