POV-Ray : Newsgroups : povray.advanced-users : rotating in a function : Re: rotating in a function Server Time
3 Jul 2024 06:03:32 EDT (-0400)
  Re: rotating in a function  
From: clipka
Date: 1 Mar 2009 06:20:01
Message: <web.49aa6f11deb4d92174c3e19a0@news.povray.org>
Leroy Whetstone <lrw### [at] joplincom> wrote:
> I use:
> Ang = angle in radians
> Fnc=function(x,y,z,Ang){Fna((x-.50)*cos(Ang)+(y-.433)*sin(Ang)+.50,
>                      -(x-.50)*sin(Ang)+(y-.433)*cos(Ang),1)+.433};
> to rotate a egualaterial triangle in place whose base is at <0,0,0> to
> <1,0,0> and peak is at <.5,.866,0>.
> It works when Ang=0.
> But doesn't when Ang=radians(120) or Ang=radians(120).
>
> Any Ideas?
>
> I've even try translating another corner of triangle to <0,0,0>
> rotating then translating back. Close but there's a noticable gap
> from the true triangle.

Maybe because you're not perfectly sure what point you should be rotating it
about?

From your formula I gather that you are rotating about <1/2,.866/2,0>. However,
the described equilateral triangle's centroid (i.e. the "center of mass" so to
speak) is at <1/2,.866/3,0>.


Post a reply to this message

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