





 
 




 
 


The documentation of povray seems to me inacurate on the oritentation
considerations if I look at http://www.povray.org/documentation/view/3.7.0/15/
To fix the orientattion conventions, there are 2 choices to be done :
 does xyz follow the left or right handed convention ?
 do we screw or unscrew the rotations with a positive angle ?
These two choices may be done independently. The documentation suggests that
these two choices are dependent, making the doc difficult to read. In my
opinion, the correct formulation should be that :
By default:
 xyz follows the left handed convention
 rotations with a positive angle with respect to a vector unscrews if the eye
is in the direction of the vector.
If we change the camera right vector to change to the right handed convention,
povray will implicitly change automatically change the second convention and
will screw positive rotations.
To produce povray code from an other software that cooperates with povray,
sometimes the other software does not follow the same conventions. In this case,
the documentation is not sufficient and it is necessary to experiment to reelly
understand what's going on.
My 2 cents,
Laurent.
Post a reply to this message


 
 




 
 


Am 04.10.2016 um 16:44 schrieb lelama:
>
> The documentation of povray seems to me inacurate on the oritentation
> considerations if I look at http://www.povray.org/documentation/view/3.7.0/15/
>
> To fix the orientattion conventions, there are 2 choices to be done :
>  does xyz follow the left or right handed convention ?
>  do we screw or unscrew the rotations with a positive angle ?
>
> These two choices may be done independently. The documentation suggests that
> these two choices are dependent, making the doc difficult to read.
I don't see the documentation implying anything of that sort. It simply
describes how POVRay does things, and neither asserts nor denies a
connection between the two features.
> In my
> opinion, the correct formulation should be that :
>
> By default:
>  xyz follows the left handed convention
 What /is/ the "left handed convention"? The current wording easily
explains POVRay's coordinate system by means of physiological
properties shared by well over 99.99% of all human beings, rather than
relying on the reader being familiar with arbitrary conventions
established in mathematics or computer graphics. Also, there are even
conventions out there using the terms "left handed" and "right handed"
with the reverse meaning, assigning the x, y and z axis to the middle
finger, index finger and thumb instead. By explicitly stating the finger
assignment, the current wording avoids this problem.
 The "left handed convention" does not say anything about the
orientation of the axes in space (such as which axis is up), just their
relation to each other. POVRay has a clearly defined default
orientation in space, and the current wording mentions that.
>  rotations with a positive angle with respect to a vector unscrews if the eye
> is in the direction of the vector.
 The current wording again explains POVRay's handling of rotations by
means of easily accessible physiological properties, rather than relying
on the arbitrary engineering conventions of what rotation direction will
tighten or loosen a (conventional) screw, or even whether the screw's
head would be facing towards or away from you when you do that feat.
"Clockwise" and "anticlockwise" would probably be better references
than screws, but I think human physiological properties win hands down
(pun somewhat intented).
I see no fault in the current wording, except maybe for the coordinate
system diagram that is ambiguous, since we don't really know whether the
Z axis points into or out of the image. We should probably add some
3dimensional shape near the center to resolve the ambiguity.
Post a reply to this message


 
 




 
 


Le 04/10/2016 à 16:44, lelama a écrit :
>
> The documentation of povray seems to me inacurate on the oritentation
> considerations if I look at http://www.povray.org/documentation/view/3.7.0/15/
>
> To fix the orientattion conventions, there are 2 choices to be done :
>  does xyz follow the left or right handed convention ?
>  do we screw or unscrew the rotations with a positive angle ?
>
> These two choices may be done independently. The documentation suggests that
> these two choices are dependent, making the doc difficult to read. In my
> opinion, the correct formulation should be that :
>
> By default:
>  xyz follows the left handed convention
>  rotations with a positive angle with respect to a vector unscrews if the eye
> is in the direction of the vector.
> If we change the camera right vector to change to the right handed convention,
> povray will implicitly change automatically change the second convention and
> will screw positive rotations.
>
There is only one choice: between left or right handed system.
(As long as we are using perpendicular vectors for up, right and direction)
And whatever the choice, the positive angle rotation along an axis k
will be the shortest rotation which transform axis k+1 into axis k+2
(modulo 3).
(the opposite rotation for the same transformation would be with a
negative angle whose absolute value would be 3 times bigger, modulo the
full rotation)
aka:
* rotation of +90° along +x transform +y into +z
* rotation of +90° along +y transform +z into +x
* rotation of +90° along +z transform +x into +y&
It works for left handed ( +x to the right, +y up, +z forward)
and it works for righthanded ( +x to the left, +y forward, +z up)
(IIRC, right handed is for architect: you do schema of floor on <x,y>, z
is the height of the floors,
while left handed is for mathematician: you draw <x,y> on the
blackboard, and extend the depth with z later)
The shortest rotation is always "screwing" (with a right helix, the
usual screw you encounter 99.9% of the time) along its axis... if that
can make sense to you, but:
the documentation page talks about the aerobic exercise, done with the
relevant hand, thumb along the axis, to fold the straight index finger
onto the already half folded middle finger.
There is no part which talks about screwing.
There is no option to change the fact that
* +y rotated by +quarter of circle +x becomes +z
* +z rotated by +quarter of circle +y becomes +x
* +x rotated by +quarter of circle +z becomes +y
Never. Consider it a part of the definition of the base.
> To produce povray code from an other software that cooperates with povray,
> sometimes the other software does not follow the same conventions. In this case,
> the documentation is not sufficient and it is necessary to experiment to reelly
> understand what's going on.
>
> My 2 cents,
> Laurent.
>
>
>
Post a reply to this message


 
 




 
 


> >
> > These two choices may be done independently. The documentation suggests that
> > these two choices are dependent, making the doc difficult to read.
>
> I don't see the documentation implying anything of that sort. It simply
> describes how POVRay does things, and neither asserts nor denies a
> connection between the two features.
>
The doc says that povray is a left handed system and uses the left hand for both
the axis relative locations and the rotations. It was not clear to me when I
read the doc whether I can change the default behaviour and use the left hand
for the axis and the right hand for the roations.
The default choices are clearly documented. But, what if we change the default
convention ? I see no place in the doc where it is written if we can make the
choices for the axis and for the rotations independently.
As far as I understand, this is not possible to choose the conventions
independently (whereas it is logically possible in principle). I think it would
be more clear if it was written explicitly that it is not possible.
>  What /is/ the "left handed convention"? The current wording easily
> explains POVRay's coordinate system by means of physiological
> properties shared by well over 99.99% of all human beings, rather than
> relying on the reader being familiar with arbitrary conventions
> established in mathematics or computer graphics.
Yes, OK with that. My problem is not with the wording. It is about the fact
that ( if I am correct ) only two conventions are possible among the 4 possible
choices that exist in theory.
Laurent.
Post a reply to this message


 
 




 
 


Am 04.10.2016 um 18:09 schrieb lelama:
> The doc says that povray is a left handed system and uses the left hand for both
> the axis relative locations and the rotations. It was not clear to me when I
> read the doc whether I can change the default behaviour and use the left hand
> for the axis and the right hand for the roations.
You cannot.
> The default choices are clearly documented. But, what if we change the default
> convention ? I see no place in the doc where it is written if we can make the
> choices for the axis and for the rotations independently.
Actually this is not a matter of choice of the coordinate system  it
is a matter of choice of how to represent rotations.
As Jerome already mentioned, there is a very strong consensus across
disciplines of theoretical and applied science of what constitutes
positive rotation around an arbitrary vector in any given coordinate
system. Tools produced by individual laymen may occasionally deviate
from this consensus, but so far I haven't seen any professional,
semiprofessional or even major hobbyist tool that implements rotation
differently.
POVRay's documentation therefore does not make much effort to explain
that there is, in theory, a choice to be made there, and instead just
documents how POVRay does it.
You may be confused by POVRay /not/ mentioning this theoretical
possibility; other people might experience it as unnecessarily confusing
if POVRay /did/ mention it (/especially/ because POVRay does not allow
a choice there).
Post a reply to this message


 
 




 
 


clipka <ano### [at] anonymousorg> wrote:
> Actually this is not a matter of choice of the coordinate system  it
> is a matter of choice of how to represent rotations.
>
Agree with that.
> As Jerome already mentioned, there is a very strong consensus across
> disciplines of theoretical and applied science of what constitutes
> positive rotation
OK, didn't know that. Thanks for the remark.
> POVRay's documentation [...] just
> documents how POVRay does it.
> [...] other people might experience it as unnecessarily confusing [...]
The point is not a question of taste, it is about ambiguity. When the camera is
given a negative right vector, it is not clear what is a positive rotation in
this context. Only the expert users that are aware that there is a quite uniform
convention among different disciplines may guess. The other users have to check
that what they have in mind correspond (or not ) to povray's behaviour. Maybe
there is a line in the doc that I missed, but I have not seen where I could find
the solution without trial and error for a camera with a negative right vector.
Some people consider a rotation as a geometric concept (screwing/unscrewing),
like physicists using the corkscrew rule. For instance in france, the corkscrew
rule is quite common, probably because of the wine ;) These people will
probably guess that povray keeps the same screwing/unscrewing convention for a
negative right vector and for a positive right vector. And they will be wrong.
When a negative right vector is used, povray keeps the same algebraic formulas
for the rotations and toggles the corkscrew rule. The other choice (toggling the
formulas and keeping the corkscrew rule ) woud have been possible too.
Post a reply to this message


 
 




 
 


Am 04.10.2016 um 23:05 schrieb lelama:
>> POVRay's documentation [...] just
>> documents how POVRay does it.
>> [...] other people might experience it as unnecessarily confusing [...]
>
> The point is not a question of taste, it is about ambiguity. When the camera is
> given a negative right vector, it is not clear what is a positive rotation in
> this context. Only the expert users that are aware that there is a quite uniform
> convention among different disciplines may guess. The other users have to check
> that what they have in mind correspond (or not ) to povray's behaviour. Maybe
> there is a line in the doc that I missed, but I have not seen where I could find
> the solution without trial and error for a camera with a negative right vector.
>
> Some people consider a rotation as a geometric concept (screwing/unscrewing),
> like physicists using the corkscrew rule. For instance in france, the corkscrew
> rule is quite common, probably because of the wine ;) These people will
> probably guess that povray keeps the same screwing/unscrewing convention for a
> negative right vector and for a positive right vector. And they will be wrong.
> When a negative right vector is used, povray keeps the same algebraic formulas
> for the rotations and toggles the corkscrew rule. The other choice (toggling the
> formulas and keeping the corkscrew rule ) woud have been possible too.
"The left hand can also be used to determine rotation directions. To do
this we must perform the famous 'Computer Graphics Aerobics' exercise.
[...]
In a righthanded system we use our right hand for the 'Aerobics'."
I think that's clear enough.
If for some reason you ignore the handbased description in favour of
some other culturespecific rule, and then get confused because your
culturespecific rule doesn't cover questions that are answered quite
clearly in the handbased description, I wouldn't call that a fault of
the POVRay documentation.
Post a reply to this message


 
 




 
 


Le_Forgeron <jgr### [at] freefr> wrote:
>
> There is no option to change the fact that
> * +y rotated by +quarter of circle +x becomes +z
> * +z rotated by +quarter of circle +y becomes +x
> * +x rotated by +quarter of circle +z becomes +y
>
> Never. Consider it a part of the definition of the base.
>
>
Thanks, this is very clear.
Laurent.
Post a reply to this message


 
 




 
 


clipka <ano### [at] anonymousorg> wrote:
>
> "The left hand can also be used to determine rotation directions. To do
> this we must perform the famous 'Computer Graphics Aerobics' exercise.
> [...]
> In a righthanded system we use our right hand for the 'Aerobics'."
>
> I think that's clear enough.
>
OKay. I agree that there is no ambiguity.
Laurent.
Post a reply to this message


 
 




 
 


After this discussion, I come with a question:
I was thinking about replacing the folloing sentence in the documentation :
"In a righthanded system we use our right hand for the "Aerobics"."
By the following:
When a righthanded system is used in PovRay, we use our right hand
for the "Aerobics", both for the coordinate system
and for the rotations.
A rotation of 90 degrees around the vector +X sends the vector +Y
to the vector +Z, in any system, left handed or right handed.
There is no option to change this behaviour.
If this is confusing for some people, let's keep the old formulation. But if
it's not confusing, it would be more clear for people who wander whether it is
possible to play independtly with the coordinate system and the rotations, and
to people who want to know what may be changed with options.
Post a reply to this message


 
 




 

