Bug 72687 - poor precision in rotation (Draw)
Summary: poor precision in rotation (Draw)
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
(earliest affected) release
Hardware: All All
: medium major
Assignee: Not Assigned
Depends on:
Blocks: Object-Rotation
  Show dependency treegraph
Reported: 2013-12-13 18:30 UTC by Roberto Casini
Modified: 2023-09-09 03:06 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:

shows a circle with various radii at different angles (1.31 KB, application/pdf)
2013-12-13 18:30 UTC, Roberto Casini
test case (8.63 KB, application/vnd.oasis.opendocument.graphics)
2014-09-27 21:36 UTC, Roberto Casini
test case (9.19 KB, application/vnd.oasis.opendocument.graphics)
2016-11-08 14:52 UTC, Roberto Casini

Note You need to log in before you can comment on or make changes to this bug.
Description Roberto Casini 2013-12-13 18:30:06 UTC
Created attachment 90740 [details]
shows a circle with various radii at different angles

1) draw a circle and its radius, using "snap to grid" (e.g., a vertical radius)
2) rotate the radius around the center of the circle by any amount other than a multiple of 90 deg

-> the rotated radius is consistently shorter and does not reach the circle, despite the length of the radius being correct (within the precision of the displayed figures; I tried to see if it is possible to increase the internal precision of Draw but with no success)

I'm using mm units as default.
Comment 1 retired 2013-12-14 22:22:21 UTC
4.0 is End of live. Have you tried how or 4.2 beta 2 behave?


Also could you attach a draw document and precise reproduce steps if the bug is still valid with those new versions?
Comment 2 A (Andy) 2014-09-26 19:57:14 UTC
Could you please give more information about the different steps to reproduce this issue.
Comment 3 Roberto Casini 2014-09-27 20:20:31 UTC
I'm not sure what to add beyond what I've already stated in my initial comment, since all operations I listed use standard functionalities of the Draw program.

The drawing of a circle and its radius are performed with the "snap to grid" option turned on, to make sure that there are no freehand positioning errors in the resulting figure. Just to make sure, I then open the Format->'Position and Size' dialogue to verify the aspect ratio of the circle (i.e., to make sure it didn't come out an ellipse) and the length of the radius. The error can then be reproduced with the following (very detailed!) steps:

1) Select the circle

2) Open the Format->'Position and Size' menu, and select the 'Position and Size' tab

3) In the 'Position' part of the tab, select the central base point of the figure, and annotate its X and Y coordinates. These are the coordinates of the circle's center

4) Close the 'Position and Size' menu

5) Back in the drawing, select the radius and make a copy of it on itself (via Ctrl-C and Ctrl-V)

6) With the radius still selected, open the Format->'Position and Size' menu, and select the 'Rotation' tab

7) Enter the coordinates of the circle center (annotated in step #3) into the Pivot Point fields

8) Enter an angle different from a multiple of 90 deg (e.g., 45 deg) in the Angle field, and click OK

9) Back in the drawing, zoom in around the region where the rotated radius should meet the circumference. The rotated radius consistently fails to reach all the way to the circumference, other than when the rotation angle is a multiple of 90 deg

This bug is preserved also while exporting the drawing. I also verified that the bug is still existing in v. for Linux.
Comment 4 A (Andy) 2014-09-27 20:38:19 UTC
Thanks for your fast reply.
Because I am unfortunately not a DRAW expert, what do you mean in step 5 with "select the radius"?  What do I have to do?
Comment 5 Roberto Casini 2014-09-27 20:53:22 UTC
Just go over it with the cursor and click on it. Once an object is selected in Draw, the "anchor points" that delimit the object will pop up in the form of tiny square boxes. That tells you that the object has been selected.

The same goes for the circle. Go over the circumference and click on it with the mouse. You'll see 8 anchor points pop up, defining the perimeter of the square circumscribing the circle.

Hope this helps!
Comment 6 A (Andy) 2014-09-27 21:16:10 UTC
Thanks, but I am still doing something wrong.  In Step 3 my X and Y coordinates are both 5.00 cm.  In Step 7 I also entered these 5.00 cm.  In Step 8 I am testing it with several different angles and now the second circle I have created in Step 5 is moved around (im my case up to right).  If I go back to the tab ROTATION the X and/or Y cooordinates have been changed. 
Therefore, I don't know how to get to your attachment.  What is my mistake or misunderstanding?
Comment 7 Roberto Casini 2014-09-27 21:36:11 UTC
Created attachment 106971 [details]
test case
Comment 8 Roberto Casini 2014-09-27 21:37:32 UTC
I added a .odg file containing a circle and a radius. From what you described, it seems that you didn't have a radius, and you were instead selecting the circle and rotating it around some pivot point that is not the circle's center. See if starting from this example you can follow the steps of my previous message.
Comment 9 A (Andy) 2014-09-27 22:20:41 UTC
Thanks for your patience and help.

Result: Reproducible with LO (Win 8.1)

Now only two issues are left for me: 

1. How do I get this radius?  Is this in LO for Windows different to Linux?

2. Why, always if I change the angle and afterwards go again to FORMAT -> POSITION AND SIZE -> tab ROTATION, the X and Y coordinates are changed?  Is this another bug?  Why do they not keep the coordinates I entered?
Comment 10 Roberto Casini 2014-09-27 22:45:47 UTC
I'm not sure what you're asking in your question #1. Do you mean how you draw the radius?

The fact that when you access the Rotation tab of the 'Position and Size' menu the coordinates you see are not the ones you entered is NOT a bug. That tab defaults to a pivot point that is the median point (center of gravity) of the selected object. When you entered by hand the X and Y coordinates of circle's center as the pivot point for the radius rotation, you selected instead one of the end points of the radius.

Comment 11 QA Administrators 2015-10-14 19:56:06 UTC Comment hidden (obsolete)
Comment 12 QA Administrators 2016-11-08 11:00:05 UTC Comment hidden (obsolete)
Comment 13 Roberto Casini 2016-11-08 14:52:06 UTC
Created attachment 128571 [details]
test case

1) I drew a circle
2) I drew four segments from the center of the circle, with length equal to the radius of the circle, at 0, 90, 180, and 270 degrees, respectively. This makes a "cross-hair" pattern that has the same width and height as the circle. It is drawn in black color
3) I rotated by 45 degrees the cross-hair pattern around its center (which is also the center of the circle). The rotated pattern is highlighted in red color.

The corners of the rotated pattern should touch the circle, but instead in the rotation process the four segments have been slightly (but visibly) shortened with respect to the circle's radius.
Comment 14 Roberto Casini 2016-11-08 15:03:17 UTC
with respect to my comment #13, the version of LO Draw I've used for the new bug test is

Build ID: 10m0(Build:2)

(as displayed by the help/about menu option in LO)

This is the information on the linux OpenSuse distribution I'm using, which I got through the "uname -a" command:

Linux linux-8hy2 4.1.34-33-default #1 SMP PREEMPT Thu Oct 20 08:03:29 UTC 2016 (fe18aba) x86_64 x86_64 x86_64 GNU/Linux

This bug has been consistent over successive releases of LO, and it seems to be independent of hardware and OS type.
Comment 15 QA Administrators 2017-11-09 07:44:04 UTC Comment hidden (obsolete)
Comment 16 Roberto Casini 2017-11-09 15:13:42 UTC Comment hidden (obsolete)
Comment 17 QA Administrators 2018-11-10 03:51:57 UTC Comment hidden (obsolete)
Comment 18 QA Administrators 2021-09-08 03:42:13 UTC Comment hidden (obsolete)
Comment 19 QA Administrators 2023-09-09 03:06:21 UTC
Dear Roberto Casini,

To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.

There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.

If you have time, please do the following:

Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/

If the bug is present, please leave a comment that includes the information from Help - About LibreOffice.
If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice.

Please DO NOT

Update the version field
Reply via email (please reply directly on the bug tracker)
Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not 
appropriate in this case)

If you want to do more to help you can test to see if your issue is a REGRESSION. To do so:
1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/

2. Test your bug
3. Leave a comment with your results.
4a. If the bug was present with 3.3 - set version to 'inherited from OOo';
4b. If the bug was not present in 3.3 - add 'regression' to keyword

Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa

Thank you for helping us make LibreOffice even better for everyone!

Warm Regards,
QA Team