trunk: using paths based on a rotated ellipse in path operations produces unexpected results (rev >= 12677)

Bug #1239462 reported by su_v on 2013-10-13
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Medium
Unassigned

Bug Description

Steps to reproduce:
1) launch current trunk (default prefs, default new doc)
2) draw a large rectangle
3) draw an ellipse on top of the rectangle
4) rotate the ellipse
5) select both and apply 'Path > Difference'

Expected result:
The ellipse as seen on-canvas is subtracted from the rectangle

Actual result:
The subtraction seems to be based on a distorted version of the ellipse.

Variation:
1) launch current trunk (default prefs, default new doc)
2) draw a large rectangle
3) draw an ellipse on top, rotate it, duplicate the ellipse & arrange slightly overlapping
4) combine the two ellipses ('Ctrl+K')
5a) select both objects and apply 'Path > Difference'
--> distorted result
5b) node-edit the combined ellipses (select all nodes, nudge with arrow keys) before applying difference
--> result as expected

Based on tests with archived builds on OS X:
- not reproduced with rev <= 12676,
- reproduced with rev >= r12677,
this regression seems to be a result of the changes in
- Revision 12677: Fix some more issues with ellipses.
  <http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/12677>

su_v (suv-lp) wrote :

Sample file with (copy of) rotated ellipse, and 'Path > Difference' result.

su_v (suv-lp) wrote :

Sample file with (copy of) two rotated ellipses combined into a single path, and the distorted result of 'Path > Difference'.

su_v (suv-lp) wrote :

Possibly r12677 triggers an existing error similar to the one described in bug #1048845.

jazzynico (jazzynico) wrote :

Confirmed on Windows XP, Inkscape trunk revision 12686.

Changed in inkscape:
status: New → Triaged
su_v (suv-lp) wrote :

Setting bug importance to 'Medium' for now: while this is unexpected and incorrect behavior, a (somewhat cumbersome) workaround exists (trigger a rewrite of the path data with the node tool before applying path operations to paths derived from transformed ellipses).

Changed in inkscape:
importance: Undecided → Medium
Alvin Penner (apenner) wrote :

a partial fix has been committed to rev 12756.
I was going to mark this as Fix Committed, when I accidentally produced a counter-example that fails. However I did not save the counter-example, so am not precisely sure if this is fixed or not.

su_v (suv-lp) wrote :

@Alvin - here is one which still produces an unexpected result (r12756). I can't reproduce it though (IIRC I skewed the ellipse at some point).

Alvin Penner (apenner) wrote :

thanks, here is another counter-example. After a Difference operation, the hole in the rectangle is too small. I'll continue to look at this bug, since I think we are almost there.

su_v (suv-lp) wrote :

Another one (skewed and 2x rotated ellipse duplicated and combined)

Alvin Penner (apenner) wrote :

second patch committed to rev 12763.
I believe this fixes the remaining issues in comments 7, 8, 9.

su_v (suv-lp) on 2013-12-05
Changed in inkscape:
milestone: 0.49 → none
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers