# [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                                  ---

```