Check the geometric orthogonality condition for circles and hyperbolas¶
Exercise I.6.5.i [1] Prove the converses of the two statements in Exercise I.6.3: $ \newcommand{\scalar}[3][]{\left\langle #2,#3 \right\rangle_{#1}} \newcommand{\Space}[3][]{\mathbb{#2}^{#3}_{#1}} \newcommand{\Space}[3][]{\mathbb{#2}^{#3}_{#1}} \newcommand{\cycle}[3][]{{#1 C^{#2}_{#3}}} \newcommand{\realline}[3][]{#1 R^{#2}_{#3}} \newcommand{\bs}{\breve{\sigma}} \newcommand{\zcycle}[3][]{#1 Z^{#2}_{#3}} \newcommand{\SL}[1][2]{\mathrm{SL}_{#1}(\Space{R}{})} \newcommand{\rs}{\sigma_r} \newcommand{\lvec}[1]{\overrightarrow{#1}} \newcommand{\rmi}{\mathrm{i}} \newcommand{\alli}{\iota} \newcommand{\rme}{\mathrm{e}} \newcommand{\rmd}{\mathrm{d}} \newcommand{\rmh}{\mathrm{j}} \newcommand{\rmp}{\varepsilon} \newcommand{\modulus}[2][]{\left| #2 \right|_{#1}} \newcommand{\sperp}{⋋} $
- (e,h) Let $\sigma=\pm 1$. Then, two cycles in $\Space[\sigma]{R}{}$ (that is, circles or hyperbolas) are $\sigma$-orthogonal if slopes $S_1$ and $S_2$ of their tangents at the intersection point satisfy the condition \begin{equation} \label{eq:ortho-slopes-rel} S_1 S_2=\sigma. \end{equation} The geometrical meaning of this condition can be given either in terms of angles (A) or centres (C):
(A) For the case $\sigma=-1$ (circles), equation implies orthogonality of the tangents. For $\sigma=1$, two hyperbolas are h-orthogonal if lines with the slopes $\pm 1$ bisect the angle of intersection of the hyperbolas.
(C) In the cases $\sigma=\pm 1$, the tangent to one cycle at the intersection point passes the centre of another cycle.
- (p) Let $\sigma=0$ and a parabola $\cycle{}{p}$ have two real roots $u_1$ and $u_2$. If a parabola $\cycle[\tilde]{}{p}$ is $p$-orthogonal to $\cycle{}{p}$, then the tangent to $\cycle[\tilde]{}{p}$ at a point above one of the roots $u_{1,2}$ passes the p-centre $(\frac{u_1+u_2}{2},0)$ of $\cycle{}{p}$.
Solution. Define a cycle passing point $(u,v)$
from init_cycle import *
C3=C.subject_to(C.passing(P))
Define a cycle passing the same point and being orthogonal to C3
C4=C1.subject_to([C1.passing(P), \
(C3.val(P1).diff(u1)*C1.val(P1).diff(u1) \
-sign*C3.val(P1).diff(v1)*C1.val(P1).diff(v1)).subs({v1 : v, u1 : u})==0])
"Slopes at the intersection point ensure orthogonality of circles and hyperbolas: %s" %\
C3.cycle_product(C4).subs({pow(sign,2) : 1}, subs_options.algebraic).is_zero()
Check the geometric orthogonality condition for parabolas. A cycle passing the point $(u,v)$
C5=C1.subject_to(C1.passing(P))
Its slope at the point $(u,v)$
Sl5=(C5.val(P1).diff(u1)/C5.val(P1).diff(v1)).subs({u1 : u, v1 : v, sign : 0})
Diameter of the parabols
X=v/Sl5
Parabola having root at $(u,0)$ and the tangent passing its centre
C6=cycle2D([u+X,0],e.subs({sign : 0}),X*X)
"Parabolas are orthogonal if the tangent above root pass the centre: %s" % \
bool(C6.is_orthogonal(C5).subs({sign : 0}))
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.