Solution. The function to check the tangency, its zero value correspond to tangent cycles
In [1]:
from init_cycle import *
def tangency(C, C1):
return (pow(C.cycle_product(C1),2)-C.cycle_product(C)*C1.cycle_product(C1))\
.normal()
Define two straight lines
In [2]:
Cl=cycle(0,[l,n],m,e)
Cl1=cycle(0,[l1,n1],m1,e)
In [3]:
("A cycle is orthogonal to infinity iff it is tangent to infinity: %s"\
% (tangency(C,Zinf)-pow(C.cycle_product(Zinf),2)).normal().is_zero())
Out[3]:
Parallel line have equal slops $l/n = l_1/n_1$, or $l n_1-l_1 n=0$.
In [4]:
("Tangency of lines is the same as parallelity: %s" \
% (tangency(Cl,Cl1)-4*sign*pow(l*n1-n*l1,2)).normal().is_zero())
Out[4]:
This notebook is a part of the MoebInv notebooks project [2] .
References¶
Vladimir V. Kisil. Geometry of Möbius Transformations: Elliptic, Parabolic and Hyperbolic Actions of $SL_2(\mathbb{R})$. Imperial College Press, London, 2012. Includes a live DVD.
Vladimir V. Kisil, MoebInv notebooks, 2019.