|
![](/i/fill.gif) |
Leroy Whetstone <lrw### [at] joplin com> 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
|
![](/i/fill.gif) |