@thomthom said:
Can anyone elaborate ...
Suppose you have 3 points (p1, p2, p3) and want a point (p4) "normal" to p1. The 3 points define the PLANE and also 2 vectors with origin in p1.
If you make a CROSS PRODUCT between those 2 vectors, you will get a 3rd vector that is NORMAL to the PLANE and passing on p1. If you offset p1 using this new vector ... voila!
Example:
p1 = Geom::Point3d.new(1,2,3) (can be any 3d point, non hard coded)
p2 = Geom::Point3d.new(4,5,6)
p3 = Geom::Point3d.new(7,8,9)
v1=p2-p1 or v1=p1.vector_to(p2)
v2=p3-p1 or v2=p1.vector_to(p3)
p4 = p1.offset(v1v2)
or
p4 = p1.offset((p2-p1)(p3-p1))
Regards
Marcio