Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
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
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.
On 13/05/2011 at 00:43, xxxxxxxx wrote:
Ok, and then how can I orient my other object like this plane ?
Thank you
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
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
On 13/05/2011 at 07:36, xxxxxxxx wrote:
Thanks I'll try tonight !