I have a point P and two planes defined by three vertex each. How can I determine if P is between the two planes?
1 Answers
"Between" only makes sense if the two planes are parallel, in wich case they are fully determined by the one plane and the (signed) distance $h$ of the other plane. Then compute the signed distance $d$ of your point to the first plane and compare these two values.
If $|d| < |h|$ and ${\rm sgn}(d) = {\rm sgn}(h)$, the point is between the two planes, else it is not.
To find $h$ and $d$, chose the first plane and bring it into normal form, that is
$$P_1 = \{x\in\mathbb R^3 | \langle x, \theta\rangle =s\}$$
Where $s \in\mathbb R$ and $\theta\in S^2$ is a unit vector (the orientation is here).
Now take a Point $p_2$ from $P_2$ (any of the three given, assuming you know that $P_1 \parallel P_2$) and you get
$$P_2 = \{x\in\mathbb R^3 | \langle x, \theta\rangle = \langle p_2, \theta\rangle\}$$
We have found $h = \langle p_2, \theta\rangle - s$.
Similarly you get $d = \langle p, \theta\rangle - s$ where $p$ is you point.
$\langle\cdot,\cdot\rangle$ denotes the euclidean inner product.
- 24,905
-
Thanks, sorry but I didn't explain very well: I want to know also if the point is inside the two planes... someone suggested me to use the algorithm 'the distance from a point to an oriented plane' but i didn't find it – user3424077 Apr 10 '14 at 17:30
-
@user3424077 That's basically what I wrote down. I'll give some hints on how to accomplish that. – AlexR Apr 10 '14 at 17:34
-
@user3424077 Take a look and tell me if this clarified things for you. If you want to know how to bring a plane into normal form, look over at wikipedia. – AlexR Apr 10 '14 at 17:40
-
Yes! Very, very, very helpful! :D – user3424077 Apr 10 '14 at 17:41