





 
 




 
 


Chambers schrieb:
> clipka wrote:
>> They're perfectly counterintuitive for use in "rotate" though:
>
> True, they're meant for conversion rather than designation.
>
... which makes my point, because I'd love to have some means of
designation ;)
Post a reply to this message


 
 




 
 


Chambers wrote:
> David H. Burns wrote:
>> "Rad" and "deg" for angles and rotation *would* be useful.
>
> They're already implemented.
>
> // Declares the variable rad to be 45 degrees converted into radians.
> #declare rad = radians(45);
>
> // Declares the variable deg to be 0.3 radians converted into degrees.
> #declare deg = degrees(0.3);
>
I had forgotten that.
Post a reply to this message


 
 




 
 


clipka wrote:
> Chambers schrieb:
>> David H. Burns wrote:
>>> "Rad" and "deg" for angles and rotation *would* be useful.
>>
>> They're already implemented.
>>
>> // Declares the variable rad to be 45 degrees converted into radians.
>> #declare rad = radians(45);
>>
>> // Declares the variable deg to be 0.3 radians converted into degrees.
>> #declare deg = degrees(0.3);
>>
> They're perfectly counterintuitive for use in "rotate" though:
>
> // trying to express that I intend to rotate by 45 degrees,
> // with the effect of rotating by 45 radians instead
> rotate x * degrees(45)
>
> // trying to express that I intend to rotate by 0.3 radians,
> // with the effect of rotating by something particularly useless
> rotate y * radians(0.3)
True too. "Built in" unit definitions would be useful, maybe with a
default that could
be set as in calculators?
Post a reply to this message


 
 




 
 


clipka <ano### [at] anonymousorg> wrote:
> They're perfectly counterintuitive for use in "rotate" though:
> // trying to express that I intend to rotate by 45 degrees,
> // with the effect of rotating by 45 radians instead
> rotate x * degrees(45)
> // trying to express that I intend to rotate by 0.3 radians,
> // with the effect of rotating by something particularly useless
> rotate y * radians(0.3)
#declare deg = 1;
#declare rad = radians(1);
rotate x * 45*deg
rotate y * 0.3*rad

 Warp
Post a reply to this message


 
 




 
 


Warp schrieb:
> clipka <ano### [at] anonymousorg> wrote:
>> They're perfectly counterintuitive for use in "rotate" though:
>
>> // trying to express that I intend to rotate by 45 degrees,
>> // with the effect of rotating by 45 radians instead
>> rotate x * degrees(45)
>
>> // trying to express that I intend to rotate by 0.3 radians,
>> // with the effect of rotating by something particularly useless
>> rotate y * radians(0.3)
>
> #declare deg = 1;
> #declare rad = radians(1);
>
> rotate x * 45*deg
> rotate y * 0.3*rad
#declare Foo = sin(45*deg);
#declare Bar = cos(0.3*rad);
FAIL.
Which is to say: POVRay's current system for representing angles is
inconsistent, and a genuine builtin mechanism for specifying values as
either degree or radians would be helpful to mend this.
Note that this isn't about "how powerful is the language", but "how easy
is it to learn and use". Otherwise, we could simply refer to the
Turingcompleteness of the language and be done with it.
Post a reply to this message


 
 




 