POV-Ray : Newsgroups : povray.advanced-users : math quiz : Re: math quiz Server Time
30 Jul 2024 08:22:26 EDT (-0400)
  Re: math quiz  
From: Sigmund Kyrre Ås
Date: 8 Dec 1999 11:45:02
Message: <384E8B06.B4EF5A47@stud.ntnu.no>
Thanks a bunch! I finally understand the transformation matrix. The
documentation isn't very good.

Josh English wrote:

> There is a standard orientation macro that looks like this:
>
> #macro Orient(v1,v2)
>   #local nx = vnormalize(v2 - v1);
>   #local nz = vnormalize(vcross(nx,y));
>   #local ny = vcross(nz,nx);
>   matrix <nx.x,nx.y,nx.z,
>           ny.x,ny.y,ny.z,
>           nz.x,nz.y,nz.z,
>           v1.x,v1.y,v1.z>
> #end
>
> This only works if the object "faces" the positive x axis... so you might
> want to rotate your torus by 90*z before including the macro:
>
> torus { 1, 0.25 // or whatever
>             rotate 90*z
>             Orient(thisvector, thatvector) }
>
> It is possible (and I've don't it before but I don't have the file handy)
> to rearrange the first three lines of the macro that will make the
> rotation command unnecessary.
>
> Good Luck
>


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.