how to solve a revolutionary body by two line segments with same length

24 Views Asked by At

There are two ray lines, which can be denoted as

Line A: $\vec{P}_1=p_1+\vec{n}_1*t$

and

Line B: $\vec{P}_2=p_2+\vec{n}_2*t$

where, $p_1$ and $p_2$ are the starting points of the two ray lines respectively.

I want to find a revolutionary body around an axis, by which, the point $p_1$ can be rotated to point $p_2$ and the vector direction $\vec{n}_1$ can also be rotated to vector $\vec{n}_2$ .

The following is my thinking.

Assuming the unknowns of the revolution are its rotating axis $\vec{n}_a$ and one point on the axis $\vec{x}_a$.

Without loss of generality, $z$ component of $\vec{x}_a$ can be set to 0. Because $\vec{n}_a$ is a unit vector, its $z$ component can be calculated by

$n_{az}=1-\sqrt{(n_{ax}^2+n_{ay}^2)}$.

And the rotating angle is $\theta$.

So there are only five unknowns: $x_a,y_a,n_{ax},n_{ay},\theta$

The equations we can achieve are:

$P_{1x}=P_{2x}$

$P_{1y}=P_{2y}$

$P_{1z}=P_{2z}$

$n_{1x}=n_{2x}$

$n_{1y}=n_{2y}$

(As the $\vec{n}_1$ and $\vec{n}_2$ are unit vectors,so the relations $n_{1z}=n_{2z}$ will be satisfied naturally)

So I think it should have a unique solution. But I am not sure. Also, if there is a solution, I don't know how to solve the equations. It seems very difficult.

I appreciate your help very much.