incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Regina Henschel <>
Subject Re: ODF angle problems continued
Date Wed, 15 Aug 2012 00:03:20 GMT
Hi all,

Armin Le Grand schrieb:
>      Hi Regina,
> good to start that. The definitions for draw:transform are correct AFAIS.

I have added case translate.

> Concerning the coordinate system mess:
> The two possible orientations of coordinate system are needed when you
> want to define 'clockwise' and 'counter-clockwise'.
> Instead, speaking about 'positive orientation' and 'negative
> orientation' in the mathematical sense is independent from the
> orientation where mathematical 'positive orientation' means (in both
> cases) that the rotation starts on (1,0), goes through the first
> quadrant and ends at (0,1).
> I would use the independent description. Together with the information
> that AOO uses (in all 2D cases) the screen orientation the result is
> that 'positive orientation' goes 'clockwise'.

I have added that suggestion.

> This definitions are missing and adding them will be fine. They still do
> not describe the existing problem with angles (except the ones in
> draw:transform and 3D). They are numerically *mirrored*, independent
> from the definition of the orientation.
> Thus the current state:
> - Screen orientation is used in core, api and odf
> - mathematically correct 'positive orientation' goes 'clockwise'
> - draw:angle is 'wrong' because it is numerically mirrored, it goes
> 'counter-clockwise', but resides in the same orientation
> Example: draw:angle(300) (in 0.1 degrees, another problem, independent
> from orientation) is not for lines, but *if* applied to a line from
> (0,0) to (1,0) on the X-Axis the line would be rotated 30 degrees
> anti-clockwise (!) in the current offic(es). The line will point from
> bottom-left to up-right.
> To get what you want (and what would be mathematically correct with the
> given definitions), an angle of -300 (or 3300 what is 3600 - 300) has to
> be used.
> Example the other way around: A line from (0,0) to (1,1), thus from
> top-left to bottom-right on screen *should* have a rotation value of 45
> degrees. The API value for rotation (do not know the exact name right
> now) will not give you 450, but 3150, which is 3600-450. ARGH!
> Thus the error(s) with draw:angle are:
> - It's in 10th of degrees and not documented as that
> - It's numerically mirrored, *independent* from the orientation

I have added this problem too. My suggestion is, to deprecate draw:angle 
and use svg:gradientTransform instead.

> On 09.08.2012 15:39, Regina Henschel wrote:
>> Hi all,
>> I have written a mail to OASIS, that I think that a lot of angle
>> definitions are not clear enough. It seems that the committee is willing
>> to discuss the problem. I have therefore started with section "19.228
>> draw:transform" in spec ODF 1.2 part 1.
>> You find my concerns and suggestions on
>> I plan to show that to the OASIS committee. But first I like to know
>> your ideas. So please have a look.

I have added comments to the gradient types "radial", "square" and 
"linear". My review is not finished yet. I hope I will find time to look 
at the other types too. Although the page is under my user area, you can 
add things and should correct errors you see.

I wonder why all these problems have not been addressed during the 
development of ODF1.2.

Kind regards

View raw message