This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.2 Quick start with cycle relations
Here is a brief summary how various geometric properties can be
expressed through predefined cycle relations. Mathematical aspects of cycle relations will be discussed in § 6.3,
A new cycle can be added to a figure by specifying a
list of its relation to other cycles—either already existing or the
new cycle itself. In this way we can avoid vicious loops. Thus the
concept of a cycle relation is central to this software and we
systematically introduce it here. Lists of relations for some common configurations are presented in § 2.5.
A cycle relation from MoebInv library belongs to one of the following categories:
- Characterising a geometric property through one or several
equations on new cycle’s coefficients—it is typically used in a list with
others relations. The most fundamental example is orthogonality (⊥), cf. § 2.1.
- Constructing a new cycle—it is used alone or with
choosing relations from the next category. An example is a
reflection defined by a pair “object-mirror” (⟃).
- Choosing a cycle by certain condition, e.g. either its all
coefficients are real numbers. Such relations are usually not
used themselves, rather they may complement relations of the first two
categories.
Thereafter, a meaningful list of relations to define a new cycle has
the form:
(some characterising or single constructing)
and optional choosing relation(s).
The order of relations in the list is not important. Some relations
(at any category) may need additional parameter(s) (real numbers).
All relations except four choosing—Only Real coefficients
(ℜ), Only Numeric coefficients (½), Positive orientation
(⇧)
and Negative orientation
(⇩)
—link a new cycle to
other cycle(s) and can be selected from the respective cycle’s context
menu (LeftClick).
Besides the above four exclusions the following relations of a cycle to itself are meaningful:
- Orthogonal (⊥);
- f-Orthogonal (⋋);
- Two cycle product ratio (⋇);
- Product sign (±);
- Positive orientation
(⇧)
and Negative orientation
(⇩)
.
For this reason all these relations appear in New cycle ↷ ToolBar button, to give an opportunity to define such relations of the new cycle to itself.
2.1 Characterising relations for common geometric properties
The most used relation in this category is Orhogonality(⊥)—a wealth of geometric properties can be expressed by it:
Geometric property | Cycle relation | Is linear? |
Cycle L is a line | L is
Orthogonal
(⊥) to
infinity (infty=∞) | ✔ |
Cycle L is a Lobachevsky line | L is Orthogonal (⊥) to the real line (R=ℝ) | ✔ |
Cycle A is a point | A is Orthogonal (⊥) to itself | ✘ |
Cycle C passes point A | C is Orthogonal (⊥) to A | ✔ |
Line L1 is parallel
to line L2 | L1 is Tangent (⩈) to L2 | ✘ |
Usually three independent conditions fully determine a cycle on a plane,
e.g.:
Geometric object | List of relations |
Line L through two different points A, B | {L ⊥ ∞, L ⊥ A, L ⊥B} |
Intersection point P of two cycles C and D | {P ⊥ P, P ⊥ C, P ⊥
D} |
Cycle C has centre A and passes B | {C ♓{A,∞}, C ⊥ B} |
In the first case all equations are linear, thus there is at most one solution.
In the second case one condition (P ⊥ P) is
quadratic, thus two different solutions may appear. In the third case the relation “in pencil” (♓) spanned by A and ∞ says that C is concentric with A, that is has its centre in A if A is a point. The relation leaves only one degree of freedom, thus the second relation (C ⊥ B) already defines C uniquely.
Other relations in this category are:
- Focal orthogonal (⋋);
- Tangent both (⩈) subdivided into Tangent inner (⋐) and Tangent outer (⫓);
- Steiner power (Ⓢ);
- Cross tangent distance (⦻);
- ArcCos of cycle angle (∠);
- Two cycle product ratio (⋇);
- Cycles cross ratio
(∺),
- In pencil (♓).
They are described below.
2.2 Constructing relations
Some relations can directly construct a new cycle from already
defined cycles. Relations in this category are:
- The cycle Conjugation of C1 and C2 which geometrically
means inversion (reflection) of the object C1 in the mirror
C2. The “mirror” cycle C2 can be either ad-hoc given by its coefficients (Ad-hoc cycle reflection (⊚) ) or an existing cycle named by its label (Named cycle conjugation (⟃))
- The Fraction-linear transform (⧉) of an existing cycle defined by a given complex 2× 2 matrix.
- The SL2(ℝ) transform (⊞) of an existing cycle with a given real 2× 2 matrix,
- The selection among multiple instances of an existing cycle the
instance Instance with index (#). (Multiple instances appear from
quadratic relations, e.g. cycle intersections).
2.3 Choosing relations
We often need to restrict the set of solutions by some additional
requirements. For example, the list
{P ⊥ P, P ⊥ L1, P ⊥ L2, P≠∞}
determines the unique (if exists) intersection point of two lines
L1 and L2 in the finite plane. The last condition
P≠∞ (that is P is Different
from ∞) is required to exclude infinity,
which is the common point of any two lines.
Relations in this category are:
- A new cycle shall be Different (≠) from an already existing one;
- A variant of the previous relations suitable for float-point
calculations (or rather complicated expressions with
irrationalities) is Almost different (≄).
- A new cycle shall have Only real coefficients (ℜ).
- A new cycle shall have Only numeric coefficients (½)
(without symbolic variables).
- A new cycle shall have a definite Product sign (±) in the
product with an existing cycle.
- A new cycle shall have a definite orientation: Positive orientation
(⇧)
or Negative orientation
(⇩).
2.4 List of all known relations
Besides the three categories, relations have other important
properties:
- They link a new cycle to various numbers of
other cycles (currently from 0 to 3).
- They may or may not require additional parameter(s).
- They may or may not meaningfully link a new cycle to itself.
- They may or may not depend on the metric: elliptic,
parabolic and hyperbolic.
In addition to these characterising relations
- produce some equations, which may or may
not be linear.
The possible linearity is an important property greatly simplifying
their solutions. However, none of characterising relation is linear if
it links a the new cycle to itself.
We summarise all above-mentioned properties of known relations in reference tables below. The columns are:
- The respective encoding character.
- Par: The number of required parameters.
- Cycles: the number of other cycles involved. If it is meaningful for
a relations to link the new cycle to itself, then this is indicated by
the symbol ↶in the column with the number of other cycles required. Such relations
appear in New cycle ↷ ToolBar button.
- Lin? is the relation linear.?
- Metric? is the relation metric dependant?
- Name of the relation.
It is expected that GUI handles all the above aspects of cycle
relations in a correct manner.
2.4.1 Characterising relations properties
The next table shows all characterising relations with
| Par | Cycles | Lin? | Metric? | Name |
⊥ | 0 | +1 ↶ | ✔ | ✅ | Orthogonal
|
⋋ | 0 | +1 ↶ | ✔ | ✅ | f-Orthogonal
|
♓ |
0 | +2 | ✔ | | In pencil
|
⋇ | 1 | +2 ↶ | ✔(*) | ✅ | Two cycle product ratio
|
∺
| 1 | +3 ↶ | ✔(*) | ✅ | Cycles cross ratio
|
⟗
| 1 | +7 ↶ | ✔(*) | ✅ | Rate two cross ratios
|
Ⓢ | 1 | +1 | ✘ | ✅ | Steiner Power
|
⦻ | 1 | +1 | ✘ | ✅ | Cross Tangent Distance
|
∠ |
1 | +1 | ✘ | ✅ | ArcCos of Cycle Angle
|
⩈ | 0 | +1 | ✘ | ✅ | Tangent Both
|
⋐ | 0 | +1 | ✘ | ✅ | Tangent Inner
|
⫓ | 0 | +1 | ✘ | ✅ | Tangent Outer
|
(*) Note: the relation may be non-linear if the new cycle is substituted more than once in it.
2.4.2 Constructing relations properties
None of constructing relations may link a new cycle to
itself. The required numbers of real parameters, the numbers of
other cycles involved and metric independence are as follows:
| Par | Cycles | Metric? | Name |
⧉ | 8 | +1 | ✅ | Fractional-linear map
|
⊞ | 4 | +1 | ✅ | SL(2,R) Moebius map
|
⊚ | 4 | +2 | ✅ | Ad-hoc cycle reflection |
⟃ | 0 | +2 | ✅ | Named cycle conjugation
|
# | 1 | +1 | | Instance with index
|
2.4.3 Choosing relations properties
Last five choosing relations may link the new cycle to itself (indicated by ↶), thus they appear in New cycle ↷ ToolBar button only. Last four relations do not require any other cycle.
| Par | Cycles | Metric? | Name |
≠ |
0 | +1 | | Different
|
≄ | 0 | +1 | | Almost Different
|
± | 1 | +1 ↶ | ✅ | Product sign
|
½ | 0 | +0 ↶ | | Only Numeric coefficients
|
ℜ |
0 | +0 ↶ | | Only Real coefficients
|
⇧ | 0 | +0 ↶ | | Positive orientation
|
⇩ | 0 | +0 ↶ | | Negative orientation
|
2.5 Examples of relations for some common configurations
Some common geometrical configurations can be defined through a single list of cycle relations. We provide below few examples. Here @ refers to the newly created cycle.
Configuration | List of cycle relations
|
Circle passing three points A, B, C | - orthogonal to A
- orthogonal to B
- orthogonal to C
|
Straight line passing two points A, B | - orthogonal to A
- orthogonal to B
- orthogonal to ∞
|
Intersection point of lines/circles a, b | - orthogonal to a
- orthogonal to b
- orthogonal to itself
- for lines only: different from ∞
|
Perpendicular from point A to line a | - orthogonal to A
- orthogonal to a
- orthogonal to ∞
|
Line from point A parallel to line a | - orthogonal to A
- orthogonal to ∞
- tangent to a
|
Midpoint of interval [A,B] | - orthogonal to line AB
- orthogonal to itself
- value of cross ratio ⟨ @, ∞; A, B ⟩ =1
- different from ∞
|
Circle with centre O passing point A | - in pencil spanned by O and ∞
- orthogonal to A
|
Centre of circle a | - in pencil spanned by a and ∞
- orthogonal to itself
- different from ∞
|
Perpendicular line bisecting segment [A,B] | - in pencil spanned by A and B
- orthogonal to ∞
|
Bisector of angle between lines a, b | - in pencil spanned by a and b
- rate of cross ratios ⟨ @, a; a, @ ⟩ = ⟨ @, b; b, @ ⟩
|
An interesting investigation is to see what will be a result of the above constructions if certain points and lines are replaced by various cycles (circles).