|
![](/i/fill.gif) |
> I'm having trouble thinking through a transformation problem, and I'm
> pretty sure this isn't too crazy of a problem.
> The idea is that I have an object centered at the origin, let's say a
> thin oval with the major and minor radii along the x and z axes, (so the
> normal on the flat face is in y). I want to rotate this so the x and y
> axes are pointing in the direction of two arbitrary (normalized and
> perpendicular) vectors.
>
> transforms.inc has the Point_At_Trans(newY) that will do half this
> problem, but if I want to then rotate the x axis to align with another
> vector, it will mess up the original translation.
>
> The object can then be translated to be centered at a given point, but
> that part is easy.
I think what you want is Shear_Trans.
As long as the vectors you supply are normal and perpendicular
the object just gets rotated. You can use VPerp_To_Plane to
get the third vector...
#include "transforms.inc"
#include "math.inc"
object {
Foo
Shear_Trans(Xvec,YVec,VPerp_To_Plane(Xvec,YVec))
}
Post a reply to this message
|
![](/i/fill.gif) |