# incubator-ooo-dev mailing list archives

##### Site index · List index
Message view
Top
From Armin Le Grand <Armin.Le.Gr...@me.com>
Subject Re: ODF angle problems continued
Date Thu, 09 Aug 2012 15:17:13 GMT
```	Hi Regina,

good to start that. The definitions for draw:transform are correct AFAIS.

Concerning the coordinate system mess:

The two possible orientations of coordinate system are needed when you
want to define 'clockwise' and 'counter-clockwise'.

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

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'.

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

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
> http://wiki.services.openoffice.org/wiki/User:Regina/MYDrafts4.
>
> I plan to show that to the OASIS committee. But first I like to know