I can define a plane in 3D space using three 3D points (p0
, p1
, p2
) that all lie in the plane and that form a non-degenerate triangle. Calculating the normal of the plane is as simple as calculating the cross product of any two non-parallel 3D vectors that lie in the plane, for instance (p1 - p0)
and (p2 - p0)
. So far, so good.
But what if I use homogeneous coordinates for my points? How do I find the normal of the plane then? Of course, if all points have w != 0
, I could simply normalize them (divide by w
) and treat them as regular 3D points. But what if one or more points have w == 0
?
The way I see it, there are three possible answers to this question:
- You do it the same way. If so, please explain how to calculate the cross product of two 3D vectors defined using homogeneous coordinates.
- You do it some other way. If so, please explain how.
- You can't, your question makes no sense and you are clearly confused. If so, please explain why.