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

Bug #1239462 reported by su_v
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
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>

Revision history for this message
su_v (suv-lp) wrote :

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

Revision history for this message
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'.

Revision history for this message
su_v (suv-lp) wrote :

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

Revision history for this message
jazzynico (jazzynico) wrote :

Confirmed on Windows XP, Inkscape trunk revision 12686.

Changed in inkscape:
status: New → Triaged
Revision history for this message
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
Revision history for this message
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.

Revision history for this message
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).

Revision history for this message
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.

Revision history for this message
su_v (suv-lp) wrote :

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

Revision history for this message
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)
Changed in inkscape:
milestone: 0.49 → none
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.