Previous Up Next
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

1 Yaglom: a different interactive geometry package

Yaglom is an Interactive Geometry Package (IGP), which provides a Graphical User Interface to libraries MoebInv.

1.1 Interactive Geometry Packages and Yaglom

You may be already familiar with popular and mature IGPs like GeoGebra, CaRMetal, Kig, Dr. Geo and others. Does it make sense to introduce yet another tool to the family? Yes, if it will be different.

Here is a list of some significant distinctions of Yaglom from common IGPs:

  1. A usual IGP treats differently geometrical objects like points, lines, circles, etc. For Yaglom all objects are cycles: points are cycles with zero radius, lines—with infinite and circles—with a non-zero finite radius.
  2. Majority of IGPs work in the context of Euclidean geometry while Yaglom realises all nine Cayley–Klein geometries [11, 3] and it is just a single mouse click to switch the graphical presentation of a figure from one to another.
  3. The above mentioned IGPs feature rich graphical toolbars of this sort:

    Here icons represent different geometrical operations: construction of the midpoint of an interval, a perpendicular from a point, etc. Instead, the toolbar of Yaglom contains only two geometrical actions:

This document provides further details on these and other features of Yaglom.

Previously this programme was known as MoebInv-GUI. Now it is named after Soviet mathematician Isaak Moiseevich Yaglom (Russian: Исаак Моисевич Яглом), who wrote several important works on the underlying geometry. In particular this programme is a perfect companion to study Yaglom’s book [11].

1.2 Short overview of geometric constructions with Yaglom

The main purpose of Yaglom is to construct a figure, which is a collection of interrelated cycles. In the case of the elliptic metric cycles are points, lines and circles. Cycles in parabolic and hyperbolic metric will be discussed latter.

The construction of figures is performed as follows:

  1. Every figure has already two pre-defined cycles: Further initial cycles can be explicitly defined by a user. Points can be simply added by mouse LeftClick on the graphics view. Arbitrary cycles or lines can be supplied by their equation coefficient through the dialogue activated by Define Cycle ≔ button.

    Some basic cycles can be created by a pair of mouse clicks. For this call the figure Context Menu (RightClick with no existing cycle highlighted) and select to create either from:

    Note, that the origin, real and vertical axes with infinity form a basis of the cycle space. Moreover, transforming the vertical axis (shifts and rotations) and the unit cycle (shifts and scaling) as described in the next item, you may obtain an arbitrary cycle by just mouse clicks without keying their coefficients.

  2. Cycles without parents (that is created as indicated above) may be modified at any time in several ways. It is possible to select a cycle by moving mouse pointer over it, the selected cycle will be highlighted by a special colour. For the selected cycle you can either Furthermore,
  3. A new cycle can be created through a list of relations to already existing cycles and itself, see § 2 below. Respective relations are selected in context menus which are called by mouse RightClick either on the geometric representation of cycle in the graphic view or on its line in the tree view. The list of chosen relation can contain a relation of new cycle to itself, which can be selected by clicking New cycle ↷ button. This menu also allows us to select a generation for a new cycle: Using this feature you may place, say, medians and altitudes of a triangle in separate generation despite their similar relation to parenting sides/vertices of the triangle.

    Once all required relations are selected, a click on Create Cycle ⚙ will add a cycles (if any) which satisfy all specified conditions. The locus of point (if non-empty) well be sketches in the graphics view. See § 2.5 for some introductory examples.

  4. It is possible to use an existing figure as a building block for a new figure, see § 3 for details.
  5. Any cycle created by user as described above can be at any time re-assigned by any desired value or above type with the only restriction: a cycle cannot be requested to be parented by any its current descendants. That can be done from the Edit parameters action of the cycle Context Menu. The dame menu provides few more options@ change cycle’s label or drawing style, delete it.
  6. Yaglom can check that a certain relation among existing cycles. That makes sense if the relation was not explicitly requested earlier and allow us to experiment with trueness of geometrical statements.
  7. Created figures can be saved or exported to several different formats for further use.

1.3 Any further advice?

Above brief description shall be sufficient to start with Yaglom, but it does not cover all aspects and scenarios, of course. A necessary experience can come from practical use and Yaglom is designed to deliver necessary support just in time it would be needed.

ToolTips and StatusTips provide brief descriptions of all elements. If something requires a more extended advice it may be provided from Shift-F1 keybinding. All dialogues provide brief descriptions of information required from user, e.g. the number of parents for particular relation, a nature of parameters, etc. If some elements are not compatible for simultaneous use, unnecessary part will be disabled/removed by Yaglom. This document along with some further information are available from the Help menu.

It may be convenient to start from the video illustrating usage:

building a triangle orthocenter: https://youtu.be/cnnS_50yfnE

There are several more videos on various aspects of Yaglom usage, they are referred below and appear in respective sections of Yaglom’s menu.

The geometric meaning of various relations is discussed in the next section. Nobody shall be scared by the number of available relations, in fact a good portion of basic geometric construction is possible through the most fundamental—orthogonality, see § 2.5 (well, be in pencil is handy as well). Other relations help to refine more advanced constructions. Mathematical foundation of relations are comprehensively presented in [3, 4, 5]. If a user is not familiar with them, a very brief revision is provided in § 6.

There is a possibility to edit the library of subfigures from within Yaglom itself. This provides a convenient and powerful macro-like tool. Here is an illustration of its usage:

Simpson line and library of subfigures: https://youtu.be/GUmCppyUv60

Further advise on library of subfigures is provided in Section 3.

We do not describe the standard menus like File, Edit, etc. in the hope that their nature is familiar to a user and behaviour is intuitive and predictable. There are tooltips and status bar messages to hint on particular elements of GUI. All operations are accessible from GUI Main menu (Toolbar) and/or context menus of respective GUI elements. It is possible to make some group actions (e.g. change drawing style or delete) on any selection of cycles. For this either call a context menu either RightClick:


Previous Up Next