|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
hi,
the manual defines: "vrotate(A,B) Rotate A about origin by B." yet when I
rotate a simple point, at 180 degrees the output is .. unexpected, not <-1,0,0>.
can someone please explain ?
#version 3.8;
global_settings {assumed_gamma 1}
box {0,1}
#declare P = <1,0,0>;
#debug concat("rot 000 : ",vstr(3,vrotate(P,0),",",0,2),"\n")
#debug concat("rot 090 : ",vstr(3,vrotate(P,90),",",0,2),"\n")
#debug concat("rot 180 : ",vstr(3,vrotate(P,180),",",0,2),"\n")
#debug concat("rot 270 : ",vstr(3,vrotate(P,270),",",0,2),"\n")
Persistence of Vision(tm) Ray Tracer Version 3.8.0-alpha.9945627.unofficial
....
==== [Parsing...] ==========================================================
rot 000 : 1.00,0.00,0.00
rot 090 : 0.00,0.00,-1.00
rot 180 : 1.00,-0.00,-0.00
rot 270 : 0.00,0.00,1.00
regards, jr.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Am 23.08.2024 um 13:22 schrieb jr:
> hi,
>
> the manual defines: "vrotate(A,B) Rotate A about origin by B." yet when I
> rotate a simple point, at 180 degrees the output is .. unexpected, not <-1,0,0>.
> can someone please explain ?
>
>
> #version 3.8;
>
> global_settings {assumed_gamma 1}
> box {0,1}
>
> #declare P = <1,0,0>;
>
> #debug concat("rot 000 : ",vstr(3,vrotate(P,0),",",0,2),"\n")
>
> #debug concat("rot 090 : ",vstr(3,vrotate(P,90),",",0,2),"\n")
>
> #debug concat("rot 180 : ",vstr(3,vrotate(P,180),",",0,2),"\n")
>
> #debug concat("rot 270 : ",vstr(3,vrotate(P,270),",",0,2),"\n")
>
>
>
> Persistence of Vision(tm) Ray Tracer Version 3.8.0-alpha.9945627.unofficial
> ....
> ==== [Parsing...] ==========================================================
> rot 000 : 1.00,0.00,0.00
> rot 090 : 0.00,0.00,-1.00
> rot 180 : 1.00,-0.00,-0.00
> rot 270 : 0.00,0.00,1.00
>
>
> regards, jr.
>
Hi jr,
B is a vector and so for example vrotate(P,90) is expanded to
vrotate(p,<90,90,90>) and then:
"Rotate it about the x-axis by an angle specified in degrees by the
float value B.x. Similarly B.y and B.z specify the amount to rotate in
degrees about the y-axis and z-axis. The result is a vector containing
the new x,y,z coordinates of the point."
That is exactly what you got.
Best regards,
Michael
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
hi,
MichaelJF <fri### [at] t-onlinede> wrote:
> ...
> B is a vector and so for example vrotate(P,90) is expanded to
> vrotate(p,<90,90,90>) and then:
man, unsure now whether I knew and forgot, or have been ignorant all along :-),
but thank you, _very_ much, for the explainer/reminder.
regards, jr.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|