Re: Comment on CSS3 angles

On Fri, Aug 29, 2008 at 4:28 AM, François REMY
<fremycompany_pub@yahoo.fr> wrote:
>
> Hello,
> I'm not sure I agree with you.
>
> For simple cases like matrix operations, this is not needed.
>
> It's thus simpler for the developers to only have to consider a [0;360[
> range.
> => When we must transform an angle to a matrix, for a rotation or something
> else, it's easier.
> => When we need to multiply things by a angle, it can be slower if we se 720
> where 360 can works too.

Matrices aren't capable of distinguishing between a 360° and 720°
rotation.  If you need to compute a rotation matrix, it wouldn't
matter if it's outside the [0°,360°) range ― taking the sine or cosine
to create the matrix works just the same, and probably is not
measurably slower.  There's no difference from a matrix standpoint.
(At least, I can't imagine one ― but I'm a mathematician, not a
graphics programmer.)

> For more complex cases, they are two possibilities :
> => Use another notation to specify complete turns (like: "-xx-animation:
> slow rotation 1t 90°" where1t = 360°, we can have -t)
> => Differency "signed angle" and "unsigned angle"
> ===> Signed angle are not limited to [0; 360[
> ===> Unsigned angle are limited to [0; 360[
> ===> It need a redefinition of each property that use angles to say if the
> property should use signed angle or not.

If in some cases there's no difference between 0° and 360°, why not
just allow both and treat them the same when (and only when) there's
no difference?  You don't lose anything.  0deg is the same as 0rad is
the same as 0turn is the same as 0grad is the same as -0deg is the
same as 0.0deg . . . is the same as 360deg, sometimes.  What's the
problem with this?

Received on Friday, 29 August 2008 15:28:07 UTC