[artworks] Odd bounding boxes

  • From: Simon Smith <simon_smith@xxxxxxxxx>
  • To: artworks@xxxxxxxxxxxxx
  • Date: Fri, 23 Mar 2007 22:43:22 GMT

Here's a slight intersection oddity:

1. Draw an ellipse

2. Draw a second ellipse entirely inside the first.

3. Join the two shapes.

4. Draw a box across both ellipses, producing a shape a bit like a London
Underground roundel.

5. Join the shapes.

6. Draw a large box on top of the roundel, covering it entirely.

7. Join the shapes again.

8. Clone.

9. Intersect with top.

10. Break shapes.

11. Delete the remants of the intersected boxes, leaving two curved shapes,
one vaguely resembling a letter 'c' or 'u' and the other resembling its
mirror image.

A.) Where the box cut the ellipses there are several control points slightly
to one side of where the 'cuts' were made. Now, these are straight even
though the rest of the curve is a proper curve. Why is this? Furthermore -
and this is the annoying bit - converting the unwanted straight line
sections back to curves is fiddly because there are several control points
exactly overlapping. Some visual feedback when there are multiple
overlapping control points would be very useful, and a way to step through
them one at a time without disturbing them would also be welcome.

B.) Experimentation with selecting the two surviving shapes shows that
somehow ArtWorks still seems to retain a memory of the shapes' original
'bounding box'. I can drag a selection box over one shape and yet the other
shape is the one selected. Confusing. The bounding area seems to be that
of the large box drawn in stage 6, so the behaviour is more apparent if you
make this box much larger than necessary. The spurious bounding box seems to
disappear if you move the shape, but I'm not entirely sure I have fully
understood ArtWorks' behaviour here. If one can have excessively large
bounding boxes, as here, I would like some way to be able to see where they
are - or else I would assume this behaviour needs to be treated as a bug and

C.) While the procedure of drawing boxes and intersecting does allows one to
split and join shapes however one pleases, it does introduce several extra
manipulation stages. Would it be easy to add 'union' and 'difference'
facilities that automate the procedures given in the Intersect5 and
Intersect6 tutorials? I would like be able to construct shapes by starting
with a series of unions, then difference bits away, then add on some more
using union, then subtract some more, and so on. While logically equivalent,
using a series of Intersects doesn't come nearly as easily to me.

Simon Smith
Have you heard of the International Obfuscated Perl Code Competition? Each
contestant is shown ten Perl programs - five that have been written normally
and five that have been deliberately obfuscated. In order to win, you just
have to decide which is which.

Other related posts: