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;

    Adios,
    Cactus Dan



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

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

    Thanks I'll try tonight !

    Mike


Log in to reply