0
$\begingroup$

I would like to compute the plane which is tangent with a given sphere (see Fig 1 on the attached figure).

Known parameters are the following:

  • Point P (§x_1, y_1, z_1§) belongs to the plane. One “orientation” of the plane is given by the vector §_vec{u}§
  • The center of the sphere § x_c y_c z_c § and its radius R are known

On Fig 2 on the attached figure, I try to explain why I am facing such problem. I have developed a humanoid robot with a thigh which makes an angle with respect to the leg. It means that there is always a constant distance (R) – whatever the rotation of the thigh is - between the Pelvic and the leg.The foot is articulated with a forefoot and a midfoot.

If I want to compute the orientation of the leg and thigh with respect to a given position of the Pelvic and the Foot, I come with the geometrical problem of computing a plane tangent with a sphere whose center is the extremity of the Pelvic.

I hope that the problem is clearly explained and if somebody can provide an answer it will be wonderful enter image description here

$\endgroup$
0
$\begingroup$

These parameters are not enough. For most points $P$ and vectors $u$, there are two planes containing both $P$ and $u$ and tangent to the sphere. On the other hand, if the ray $P + tu$ ($t \in \Bbb R$) intersects the sphere in two points, then there is no such plane. Let's assume that $u$ is a unit vector to make things simpler; otherwise, replace $u$ by $u/\|u\|$. The you can actually determine the point $Q$ on the ray $P + tu$ that's closest to the sphere-center $C$ by solving for $t$. If $T$ is the point of tangency, then $Q-T$ is both perpendicular to $C-T$ (by tangency) and to $u$ (because $Q$ is the closest point to $C$ along the ray). And $\| C - T \| = R$. Together, these give you two possible solutions for $T$. (It's probably easiest to write $$ T = C + R \cos (b) v + R \sin(b) w $$ where $u, v, w$ is an orthonormal basis with $v$ parallel to $Q-C$; then you can solve for $b$, which will give you two possible values, corresponding to the two solution planes.

$\endgroup$
3
  • $\begingroup$ Thank you very much for your answer. I agree that the number of parameters are not enough and that I will come up with two solutions in any case.If I follow you, I need an iterative process to solve $t$ - I cannot find it analytically? $v$ is parallel to $Q-C$ and $w$ = $Q-T$ ? I also found a link with a question similar to mine here [link] (math.stackexchange.com/questions/1835853/…) $\endgroup$ – fabrice Feb 5 '17 at 7:46
  • $\begingroup$ Nah...you can find the minimizing value $t_0$ analytically, because $u \cdot (P + t_0u - C) = 0$; that tells you that $t_0 + u \cdot (P - C) = 0$, so $t_0 = u \cdot (C - P)$ (assuming I haven't screwed up the algebra here by typing without writing it out first). $\endgroup$ – John Hughes Feb 5 '17 at 14:09
  • $\begingroup$ Actually I posted an answer because I did not find how to insert a picture in a comment. To be sure I understood the reasoning I made a drawing with the different vectors. $\endgroup$ – fabrice Feb 9 '17 at 13:14
0
$\begingroup$

graphical representation

Thank you for clarifying the answer, actually to be sure I understood your reasoning I posted a picture. Q is on the $P + t\vec{u}$, the $\vec{u}$ I defined in the previous picture. $\vec{v}$ is along the $Q-C$. Is it correct? Thank you for your help

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.