# Points to plane

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 12/05/2011 at 16:52, xxxxxxxx wrote:

User Information:
Cinema 4D Version:   12&11.5
Platform:   Windows  ; Mac  ;  Mac OSX  ;
Language(s) :   C.O.F.F.E.E  ;

---------
Hi all !

I'm trying to orient an object in the same direction than a plane generated by 3 selected points ...

I have my 3 points and their coordinates, but I can't find what I should calculate to make them a reference plane with a correctly oriented axis.

Thanks for all suggestions...

Mike

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 12/05/2011 at 19:52, xxxxxxxx wrote:

Three points are all you need to define a plane (p1, p2, p3).  Select one point as an arbitrary 'origin' (p1) and the other two become the other ends of direction vectors that also contain that point (p2-p1 and p3-p1).  So, you have to vectors which define the plane.  From there you can determine a normal on the plane (perpendicular to the planar surface) using a cross product ((p3-p1) x (p2-p1) = normal).  If you normalize all the vectors (make them to be within a length of 1.0) and orthonormalize them (make them mutually perpendicular) you will have the correctly oriented axis of the plane.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 13/05/2011 at 00:43, xxxxxxxx wrote:

Ok, and then how can I orient my other object like this plane ?

Thank you

Mike

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 13/05/2011 at 06:48, xxxxxxxx wrote:

Ok now my axis is correctly placed and orientated, but it's sheared... When I do a reset system on it becomes ok.

How can I reset it in my script ?  (I would like to avoid using CallCommand)

Thanks

Mike

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 13/05/2011 at 07:24, xxxxxxxx wrote:

Howdy,

Use the cross product to square up your matrix starting with your plane's normal vector.

So, for example if your plane's normal vector is the Y axis, then you use either:
XAxis cross YAxis = ZAxis;
YAxis cross ZAxis = XAxis;
ZAxis cross XAxis = YAxis;
or
YAxis cross ZAxis = XAxis;
XAxis cross YAxis = ZAxis;
ZAxis cross XAxis = YAxis;