[Ipe-discuss] ipe features

Jan Hlavacek jhlavace at svsu.edu
Wed Jan 25 17:00:28 CET 2006

Dmitriy Morozov wrote:

> Now consider the following figure (I haven't actually needed to draw a
> figure like that myself; I've borrowed the type of figure from my advisor
> since I think it would illustrate the point well) . Suppose we are
> illustrating a discussion of Delaunay triangulation construction as a
> filtration, so it shows two sets of discs centered at the same points, but
> with two different radii. Moreover, suppose you want to show them as a
> union, i.e., for each set you want the boundary of the union to be black,
> and the inside to be gray1 for one set, and gray2 for another set. I think
> the explanation got sufficiently complicated that I'll attach a PDF file
> (sorry about the quality, I threw it together in a few minutes). A good
> way to do it is to draw 4 sets of discs. The lowest (deepest) set is the
> contours of the discs with the larger radii, the second one is the
> interiors of the discs with the larger radii, the third are contours of
> the discs with smaller radii, and the fourth are their interiors. In XFig
> this can be easily done by putting each one of the four sets of discs into
> its own depth layer, with layers coming in order.

I had to draw a simpler, but essentially the same figure before.  I 
think "the IPE way"(TM) to do this would be use snapping to 
intersections, cut each of the circles at their intersection points, 
then select the parts of the circles that form the boundary of the 
"union" of the circles and join them into one path.  Then you could 
delete all the other parts of the circles, and set line thickness and 
color and fill color for the resulting path object. You would do the 
same for the smaller circles, and you would only have to make sure that 
the small circle union is in front of the large circle union.

The main problem with this is that IPE 6 does not snap to the 
intersections of circles or splines, so the snapping is not going to 
help here.  Recently several people write about their favorite 
bugs/wishlist items.  This is one of mine.  Snapping to intersections of 
any path, and possibility to cut any path at an arbitrary point.  I 
don't care about icons, and I don't care about recent files. One of the 
best features of IPE is the snapping modes, and this is an unfortunate 
gap in this feature.  If I remember correctly, IPE 5 did have snapping 
to any intersections, is that correct.  I know, IPE 5 used completely 
different library for geometry.

There is also another hypothetical way to easily create your drawing: in 
Inkscape, one can take several closed path objects and perform "set 
operations" on them: union, intersection, difference, etc. If you have 
several closed path, their union would be a path that's the boundary of 
a union of all the "inside areas" of the paths.  Something like that 
could probably be implemented as an ipelet, and it would simplify your 
construction to just few clicks. However, similarly to my two favorite 
feature requests, it would require a way to find the exact intersections 
of two arbitrary paths, and ability to split any path at a given point.

OK, and why we are talking about wishes, I just thought up another one: 
right now you can set the "direction" of the "crosshair" to be parallel 
to a given line segment.  It would be great to be able to set the 
direction to be tangent to a given path at a given point. OK, I will 
shut up now.

Jan Hlavacek                                        Science West 359
Instructor of Mathematics                             (989) 964-2004
Saginaw Valley State University                                  ---

More information about the Ipe-discuss mailing list