Sei sulla pagina 1di 19

· Automorfismi del piano di Fano

·Cicli Ipercicli ed Orocicli nel disco


di Poincarè
Approfondimento del corso di Fondamenti di Geometria - MasterMath
2021/2022

Nicola Frosi

1 Determinazione degli automorfismi del Piano


di Fano
1.1 Il piano di fano
Il piano di Fano è un esempio di piano proiettivo di ordine 2.
Esso è costituito da sette punti e sette rette.
L’insieme dei punti P è dato da:
P = {1, 2, 3, 4, 5, 6, 7}
L’insieme delle rette è dato da:
R = {{1, 2, 3}, {1, 5, 4}, {2, 6, 4}, {1, 6, 7}, {4, 7, 3}, {5, 7, 2}, {3, 5, 6}} = {R1 , R2 , R3 , R4 , R5 , R6 , R7 }

Figura 1: Piano di Fano

1
Definition 1.1. Sia P un insieme di punti e R un sottoinsieme dell’insieme
delle parti di P , ovvero R ⊆ P(P ). Chiamiamo Piano Proiettivo l’insieme
(P , R) che soddisfa le seguenti condizioni:

• I1: ∀p, q ∈ Pp ̸= q∃!R ∈ R : p, q ∈ R


• I ′ 2: ∀R ∈ R, |R| ≥ 3
• I3: |R| ≥ 2

• I4: ∀R, S ∈ RR ∩ S ̸= ∅
Theorem 1.1. Il Piano di Fano è un piano proiettivo.
Dimostrazione. La dimostrazione si basa sulla verifica degli assiomi.

Figura 2: Dimostrazione Teorema 1.1

Il piano di Fano è un piano proiettivo finito. É il più piccolo piano proiettivo.


Per dimostrare questo fatto bisogna introdurre alcune considerazioni.
Definition 1.2. Sia (P , R) un piano proiettivo e sia T ∈ R, se

P ′ = {p ∈ P \ T }

2
e
R ′ = {R ∩ P ′ : R ∈ R \ {T }}
Allora (P ′ , R ′ ) è detta derivazione affine di (P , R) rispetto alla retta T .
Theorem 1.2. Sia (P ′ , R ′ ) derivazione affine di (P , R) rispetto ad una rette
T ∈ R.
Allora (P ′ , R ′ ) è un piano affine.
Dimostrazione. La dimostrazione consiste nella verifica degli assiomi I1, I2,I3,(P )

Figura 3: Dimostrazione Teorema 1.2

3
Questi risultati sono utili per dimostrare un’altro teorema che caratterizza i
piani proiettivi finiti.
Theorem 1.3. Sia (P , R) un piano proiettivo finito di ordine n. Allora:
1. ∃n : |R| = n + 1 ∀S ∈ R
2. |R| = n2 + n + 1
3. |P | = n2 + n + 1
Dimostrazione. La dimostrazione si fonda sull’utilizzo del teorema 1.2

Figura 4: Dimostrazione Teorema 1.3

Si può verificare che questo teorema è valido per il piano di Fano, infatti si ha:

∀R ∈ R : |R| = n + 1 = 3,
|R| = n2 + n + 1 = 7,
|P| = n2 + n + 1 = 7.
In particolare il Piano di Fano è il più piccolo Piano Proiettivo possibile.
Prima di procedere a definire cosa sono gli automorfismi si può introdurre un’al-
tra importante caratteristica del piano di Fano che serve come introduzione al
concetto di collinearità.Ovvero il piano di Fano risulta un piano Desarguesiano,
ovvero soddisfa la condizione definita nel teorema di Desargues.

4
1.2 Isomorfismi e automorfismi
Definition 1.3. Sia (P , R) uno spazio di incidenza o spazio di rette. P ′ è detto
sottospazio d’incidenza se ∀x, y ∈ P ′ e x ̸= y ⇒ xy ⊆ P ′
Definition 1.4. Siano dati P , Π e R dove:

P → insieme di punti;
Π → insieme di piano;
R → insieme di rette;
tali che rispettino i seguenti assiomi:

• S1: ∀A, B ∈ P con A ̸= B ⇒ ∃!R ∈ R: A, B ∈ R


• S2: ∀A, B, C non allineati ⇒ ∃!π1 ∈ Π:A, B, C ∈ π1
• S3: ∀R ∈ R,π1 ∈ Π ⇒ R ∩ π1 ̸= ∅

• S4: ∀π1 , π2 ∈ Π ⇒ ∃R ∈ R con R ⊆ π1 ∩ π2


• S5: ∃ 4 punti A, B, C, D distinti:
– a) a 3 a 3 non siano allineati;
– b) non sono complanari;

• S6: ∀R ∈ R|R| ≥ 3
Theorem 1.4. Sia π1 un piano di Π e siano R ′ le rette di R contenute in π1 .
Allora
(π1 , R ′ ) è un piano proiettivo.

Dimostrazione. Tralasciata
Definition 1.5. Siano (P , R) e (P ′ , R ′ ) due spazi proiettivi. Chiamiamo iso-
morfismo un’applicazione f : P → P ′ bijettiva tale che f ed f −1 mutino
sottospazi proiettivi in sottospazi proiettivi della stessa dimensione.
Definition 1.6. Chiamiamo collineazione o automorfismo un isomorfismo
da uno spazio proiettivo in se stesso.
Un isomorfismo è quindi un’applicazione bijettiva fra uno spazio proiettivo
ed un altro spazio proiettivo, una collineazione o automorfismo è un’applicazio-
ne bijettiva tra uno spazio proiettivo e se stesso.

collineazione = isomorfismo + piano proiettivo in se


stesso

5
Theorem 1.5. Sia Π = (P , R) uno spazio proiettivo e sia f : Π → Π una
collineazione.
Allora:

• f è bijettiva;
• f preserva la collinearità;
Sia Π un insieme di punti e sia (Π, R) un piano proiettivo come mostrato in
figura. Si ha che:

Figura 5: Punto fisso per una collineazione

f : π → π fissa il punto x se f (x) = x;


Intuitivamente una collineazione trasforma rette in rette.

Figura 6: Collinearità

6
1.3 Collineazioni del piano di Fano
Occorre quindi determinare le collineazioni del piano di fano, ovvero tutte le
funzioni:
f : {1, 2, 3, 4, 5, 6, 7} → {1, 2, 3, 4, 5, 6, 7}
che mutano rette in rette nel piano di Fano.
Intuitivamente per determinare la soluzione si può procedere nel seguente modo.
Si prenda il punto 1. Esso può essere trasformato in tutti gli altri punti ed in
se stesso. Quindi al punto 1 sono associate 7 collineazioni.

|{f (1) : f varia tra le collineazioni| = 7

Si prenda il punto 2, esso può essere trasformato in tutti i punti restanti, quindi
in 6 modi differenti.

|{f (2) : f varia tra le collineazioni| = 6

Il punto 3 deve essere allineato con i primi due.

|{f (3) : f varia tra le collineazioni| = 1

Rimane quindi fissata l’immagine della retta R1 = {1, 2, 3}.


Per fissare l’immagine del punto 4 si hanno 4 possibilità.

|{f (4) : f varia tra le collineazioni| = 4

Fissata l’immagine di 4 rimane fissata l’immagine del punto 7 perchè sono fissate
anche le immagini del punto 6 allineato con 2 e 4(R7 = {6, 2, 4}) e del punto 5
allineato con 1 e 4 (R2 = {1, 5, 4}).

|{f (5) : f varia tra le collineazioni| = 1

|{f (6) : f varia tra le collineazioni| = 1


|{f (7) : f varia tra le collineazioni| = 1
Le collineazioni del piano di Fano risultano quindi pari a:

ncollineazioni = 7 ∗ 6 ∗ 1 ∗ 4 ∗ 1 ∗ 1 ∗ 1 = 168

Nel seguito si riportano gli esempi di alcune di queste collineazioni. La prima è


la collineazione identità.

7
Figura 7: Collineazione identità.

R1 = {1, 2, 3} → R1 = {1, 2, 3}
R2 = {1, 5, 4} → R2 = {1, 5, 4}
R3 = {6, 2, 4} → R3 = {6, 2, 4}
R4 = {1, 6, 7} → R4 = {1, 6, 7}
R5 = {4, 7, 3} → R5 = {4, 7, 3}
R6 = {5, 7, 2} → R6 = {5, 7, 2}
R7 = {3, 5, 6} → R7 = {3, 5, 6}

Figura 8: Collineazione in cui vengono scambiati due punti.

R1 = {1, 2, 3} → R6 = {5, 7, 2}
R2 = {1, 5, 4} → R2 = {1, 5, 4}

8
R3 = {6, 2, 4} → R3 = {6, 2, 4}
R4 = {1, 6, 7} → R7 = {5, 3, 6}
R5 = {4, 7, 3} → R5 = {4, 7, 3}
R6 = {5, 7, 2} → R1 = {1, 2, 3}
R7 = {3, 5, 6} → R4 = {7, 1, 6}

Figura 9: Collineazione in cui vengono trasformati 6 punti.

R1 = {1, 2, 3} → R2 = {5, 1, 4}
R2 = {1, 5, 4} → R7 = {5, 3, 6}
R3 = {6, 2, 4} → R3 = {6, 2, 4}
R4 = {1, 6, 7} → R6 = {5, 7, 2}
R5 = {4, 7, 3} → R4 = {1, 6, 7}
R6 = {5, 7, 2} → R5 = {3, 7, 4}
R7 = {3, 5, 6} → R1 = {1, 2, 3}

9
1.4 Costruzione algebrica
Un campo con due elementi esiste, perchè due è un numero primo. Per ogni
primo p ed ogni intero n esiste un campo di ordine pn . Dall’algebra lineare è
dunque possibile considerare il campo finito F2 costituito da due elementi. Le
operazioni di somma e prodotto che definiscono tale campo sono:
+ 0 1
0 0 1
1 1 0

x 0 1
0 0 0
1 0 1

É possibile costruire uno spazio vettoriale associato a tale campo, ovverlo lo


spazio V (F2 ). In particolare si consideri lo spazio vettoriale di dimensione 3,
V3 (F2 ).
Il piano di Fano corrisponde ai punti, tolta l’origine, dello spazio vettoriale
V3 (F2 ). I punti di tale spazio vettoriale, tolto lo zero, possono essere rappresen-
tati dalle seguenti terne:

P = {(001), (010), (011), (100), (101), (110), (111)} = {1, 2, 3, 4, 5, 6, 7}

tali punti corrispondono ai sette punti del piano di Fano.


Allo stesso modo vengono rappresentate le rette del piano di Fano, che come già
detto sono sette, ovvero come terne del campo F2 tolta la terna nulla.
Dall’algebra lineare si ha che un punto appartiene ad una retta se il prodotto
scalare delle componenti dei vettori del punto e della retta è nullo. In conse-
guenza di ciò si possono definire le rette del piano di Fano.
La retta R1 = {1, 2, 3} = (100) è costituita dai punti 1 (001), 2 (010) e 3(011),
la retta R2 = {1, 5, 4} = (010) è costituita dai punti 1(001), 5(101) e 4(100), e
via dicendo. Si ha:

R1 = {1, 2, 3} = {(001), (010), (011)} = (100)


R2 = {1, 5, 4} = {(001), (101), (100)} = (010)
R3 = {2, 6, 4} = {(010), (110), (100)} = (001)
R4 = {1, 6, 7} = {(001), (110), (111)} = (110)
R5 = {4, 7, 3} = {(100), (111), (011)} = (011)
R6 = {5, 7, 2} = {(101), (010), (111)} = (101)
R7 = {3, 5, 6} = {(011), (101), (110)} = (111)
I risultati che seguono hanno un forte legame con il teorema fondamentale della
geometria proiettiva.
Si possono associare spazi proiettivi ad uno spazio vettoriale su un campo K.
Sia V = Vn+1 {K}, ovvero sia V uno spazio vettoriale di dimensione n + 1 sul
campo K.
Si ponga: P:= P G(V ):= {p = ⟨v⟩}:v ∈ W }, dove ⟨v⟩:= {kv:k ∈ K}. P è l’in-
sieme dei sottospazi 1-dimensionali di V , ovvero per il piano di Fano si tratta

10
dei punti, e si ponga:
Σ:= {S = [W ]: W ≤ V }, dove [W ]:= {⟨w⟩:w ∈ W ∗ }, è l’insieme dei sottospazi
proiettivi, che non sono altro che sottospazi vettoriali di V . Nel piano di Fano
Σ è rappresentato dalle rette, viste in precedenza.
Si può verificare che (P = P G(V ), Σ) verifica tutti gli assiomi di incidenza e
l’assioma I4, e viene chiamato spazio proiettivo n-dimensionale associato allo
spazio vettoriale V = Vn+1 (K).
Posto K = F2 si può individuare lo spazio proiettivo del piano di Fano co-
me (P(F2 ), Σ). Gli automorfismi di P(F2 )) sono tutte e sole le trasformazioni
bijettive f : V (F2 ) → V (F2 ). Gli automorfismi lineari dello spazio vettoria-
le V (F2 formano un gruppo. Tale gruppo si denota con GL(V ) e si chiama
gruppo generale lineare su V . Nel caso del piano di Fano tale gruppo è GL3 (F2 ).
Se inoltre si indica con P GL(V ) il sottogruppo delle proiettività lineari (proiettività)
si può verificare che risulta:
se
V = Vn+1 (K)
allora
P GL(V ) ≃ P GLn+1 (K) = GLn+1 (K)/Z(GLn+1 (K))
Tornando al piano di Fano l’ordine di GL3 (F2 ) è rappresenta il numero di au-
tomorfismi (collineazioni) del piano.
In generale per un gruppo finito si ha che l’ordine
n−1
Y
GLn (Kq ) = (q n − q k ) = (q n − 1)(q n − q)(q n − q 2 )...(q n − q n−1 )
k=0

e in definitiva

GL3 (F2 ) = (23 − 1)(23 − 2)(23 − 22 ) = (8 − 1)(8 − 2)(8 − 4) = 7 ∗ 6 ∗ 4 = 168

11
2 Luoghi notevoli nel modello di Poincarè (cicli,
ipercicli e oricicli)
2.1 Costruzione geometrica
La seguente costruzione avviene nel piano Euclideo nel quale è posta una circon-
ferenza Σ di centro O. Tale circonferenza rappresenta il sostegno del Modello
di Poincarè anche detto Disco di Poincarè. Si intende che le nozioni primitive
della geometria iperbolica (punti, rette, appartenenza di un punto ad una retta,
...) siano tradotte nell’ambito euclideo di riferimento.
Inoltre si considerano validi gli assiomi di Hilbert nella seguente forma:
Gruppo I: Assiomi di incidenza
• I1: per due punti distinti a,b passa una ed una sola retta
• I ′ 2: ∀R ∈ R |R| ≥ 2
• I3: esistono almeno 3 punti a,b,c non allineati
Gruppo II: Assiomi di ordinamento
• T 1: ∀(a, b, c) ∈ P (a|b, c) = (a|c, b)
• T 2:∀(a, b, c), (a, b, d) ∈ P (a|b, c)(a|c, d) = (a|b, d)
• T 3: ∀(a, b, c) ∈ P vale esattamente una tra le seguenti (a|b, c) = −1 oppure
(b|a, c) = −1 oppure (c|a, b) = −1
⃗ : (b|a, c) = −1
• T 4: ∀a, b ∈ P distinti ∃c ∈ ab
• P SC(Assioma di Pasch): sia (P, R, α) uno spazio lineare con (T 4) e α
funzione di TRA; ∀a, b, c ∈ P non allineati, ∀R ∈ Rt.c.a, b, c ∈
/ R se
R ∩ ab ̸= ∅ ⇒ R ∩ ac ̸= ∅ oppure R ∩ bc ̸= ∅
Gruppo III: Assiomi di congruenza
• C1: ∀a, b, c ∈ P con a ̸= b, ∀R ∈ R : c ∈ R ∃!x1 , x2 ∈ R distinti :
(c, x1 ) ≡ (a, b) ≡ (c, xc )
• C2: ∀a, b, c ∈ P distinti e allineati e tali che (a, c) ≡ (b, c) ⇒ (c|a, b) = −1
• C3: ∀a, b, c ∈ P distinti e allineati ∀a′ , b′ , c′ ∈ P distinti e allineati, se
(a, b) ≡ (a′ , b′ ) e (a, c) ≡ (a′ , c′ ) e (a|b, c) ≡ (a′ |b′ , c′ ) ⇒ (b, c) ≡ (b′ , c′ )
• C4: ∀a, b, c ∈ P non allineati ∀a′ , b′ ∈ P : (a, b) ≡ (a′ , b′ ) ⇒ ∃!x1 , x2 ∈ P
distinti e tali che (a′ , x1 ) ≡ (a, c) ≡ (a′ , x2 ) (b′ , x1 ) ≡ (b, c) ≡ (b′ , x2 )
• C5: f oralla, b, c ∈ P non allineati ∀x ∈ ab, ∀a′ , b′ , c′ , x′ ∈ P tali che
(a, b) ≡ (a′ , b′ ), (a, c) ≡ (a′ , c′ ), (b, c) ≡ (b′ , c′ ), x′ ∈ (a′ b′ ), (a, x) ≡ (a′ , x′ )
e (b, x) ≡ (b′ , x′ ) ⇒ (c, x) ≡ (c′ , x′ )
• C6: ∀a, b, x1 , x2 ∈ P distinti (a, x1 ) ≡ (a, x2 ) e (b,1 ) ≡ (b, x2 ) ⇒ x1 , x2 ∈
/
ab e (ab|x1 , x2 ) = 1
In questo contesto il modello di Poincarè è rappresentato nel piano Euclideo dai
punti interni della circonferenza
Σ : x2 + y 2 = 1
di centro 0, 0 e raggio r = 1

12
Figura 10: Disco di Poincarè

2.2 Inversione circolare


Come si può rappresentare il cerchio all’interno di questo modello?
Sia A un punto qualsiasi interno a Σ e sia B la trasformazione di A attraverso
una inversione circolare ovvero tale che:
OA · OB = r2
Per costruire il punto B basta prendere la perpendicolare per A alla retta OA e
tracciare la tangente a Σ nel punto di intersezione T dato da:
T = OA⊥ ∩ Σ
Il punto B è dato da:
tan ∩ OA = B

Figura 11: Inversione Circolare

2.3 Cicli
Il fascio di rette passanti per A è costituito dalla retta OA del I tipo e dagli
archi di circonferenza passanti per A e B che risultano ortogonali a Σ.

13
Sia c ∈ Σ : (c|O, A) = −1, ovvero tale che c sia tra O ed A. Esiste un cerchio
γ ortogonale a tutti i cerchi passanti per A e B. Inoltre si può dimostrare che
tutti i segmenti AP, AQ, AR, AP ′ , AQ′ , AR′ , ... risultano di uguale lunghezza.

γ risulta il luogo dei punti equidistanti dal punto A


γ si può definire come il ciclo di centro A e raggio AP

Figura 12: Costruzione di un ciclo nel disco di Poincarè

2.4 Ipercicli
Sia data una retta a avente U e V come estremi su Σ.
Considerando un qualsiasi arco γ di centro interno a Σ e passante per U e V , e
siano h, k, l, ... rette perpendicolari ad a.
Basta considerare i cerchi del fascio iperbolico associato al fascio ellittico di
punti base U e V .
Si può dimostrare che P H, QK, RL, ... hanno la stessa lunghezza.
γ è il luogo di punti equidistanti dalla retta a e allora è un iperciclo di asse a.

Figura 13: Costruzione di un iperciclo nel disco di Poincarè

14
2.5 Orocicli
Sia data una retta a, considero tutte le rette parallele ad a in una delle due
direzioni. Tutte queste rette si trovano su cerchi tangenti ad un punto U , ossia
aventi centro sulla tangente t in U a Σ. Se ora consideriamo un qualsiasi cerchio
γ avente centro su d e passante per U esso risulta ortogonale a tutte le rette
parallele, quindi è linea ortogonale a tutte le linee in una data direzione. Esso
rappresenta quindi, nel modello di Poincarè, un orociclo e dato che la curva AU
è infinita, l’orociclo diventa un ciclo di raggio infinito.

Figura 14: Costruzione di un orociclo nel disco di Poincarè

2.6 Utilizzo del pacchetto ’Hyperbolic’ di Python


Esiste la possibilità di utilizzare un pacchetto di Python per la rappresentazione
di problemi di geometria iperbolica. Il pacchetto permette la rappresentazione
del Disco di Poincarè in modo tale che le nozioni primitive della geometria iper-
bolica sono tradotte nell’ambito euclideo di riferimento. Il modulo Hyperbolic
contiene i pacchetti:
• euclid

• euclid3d
• poincare
• tiles
• util

É quindi possibile la rappresentazione di punti, segmenti e rette nel disco di


Poincarè come nell’immagine che segue. É possibile anche rappresentare cerchi
o cicli all’interno del disco. ed ipercicli. Infine un orociclo.

15
Figura 15: Punti, segmenti e rette nel disco di Poincarè

Figura 16: Ciclo nel disco di Poincarè

Figura 17: Iperciclo nel disco di Poincarè

16
Figura 18: Orociclo nel disco di Poincarè

#! / u s r / b i n / env python
# c o d i n g : u t f −8

# In [ 1 3 ] :

import math
import random

import drawSvg a s draw


from drawSvg import Drawing
from h y p e r b o l i c import e u c l i d , u t i l

p1 = Po in t ( . 4 , − . 5 )
p2 = Po in t ( 0 , −1)
p3 = Po in t ( −0.3 , 0 . 7 )
p4 = Po in t ( 0 . 3 , −0.2)

h l 1 = L in e . f r o m P o i n t s ( ∗ p1 , ∗p2 , segment=True )
h l 2 = L in e . f r o m P o i n t s ( ∗ p3 , ∗p4 , segment=F a l s e )

d = Drawing ( 2 . 1 , 2 . 1 , o r i g i n= ’ c e n t e r ’ )
d . draw ( e u c l i d . s h a p e s . C i r c l e ( 0 , 0 , 1 ) , f i l l = ’ y e l l o w ’ )

r1 = 0.5
C1 = C i r c l e . fromCenterRadius ( p1 , 0 . 5 )

d . draw ( p1 , r a d i u s =0.03 , f i l l =’ orange ’ )


d . draw ( p2 , r a d i u s =0.03 , f i l l =’ orange ’ )
d . draw ( hl1 , hwidth =0.08 , f i l l =’ black ’ )
d . draw ( hl2 , hwidth =0.08 , f i l l =’ blue ’ )
d . draw ( p3 , r a d i u s =0.02 , f i l l =’ black ’ )

17
d . draw ( p4 , r a d i u s =0.02 , f i l l = ’ b l a c k ’ )
d . append ( draw . Text ( ’ Punti , ␣ s e g m e n t i ␣ e ␣ r e t t e ␣ n e l ␣ d i s c o ␣ d i ␣ P o i n c a r e ’ , 0 . 1 ,
−1 ,0.95 , f i l l = ’ b l a c k ’ ) )
d . append ( draw . Text ( ’ Segmento ’ , 0 . 0 8 , −0.2 , −0.6 , f i l l = ’ b l a c k ’ ) )
d . append ( draw . Text ( ’ Retta ’ , 0 . 0 8 , −0.2 , 0 . 6 , f i l l = ’ b l u e ’ ) )
d . append ( draw . Text ( ’ P1 ’ , 0 . 0 8 , −0.5 , 0 . 6 5 , f i l l = ’ b l a c k ’ ) )
d . append ( draw . Text ( ’ P2 ’ , 0 . 0 8 , 0 . 4 , −0.25 , f i l l = ’ b l a c k ’ ) )
d . append ( draw . Text ( ’ P3 ’ , 0 . 0 8 , −0.15 , −0.95 , f i l l = ’ b l a c k ’ ) )
d . append ( draw . Text ( ’ P4 ’ , 0 . 0 8 , 0 . 4 , − . 6 , f i l l = ’ b l a c k ’ ) )

d . s e t R e n d e r S i z e (w=400)
d . saveSvg ( ’ images / t e s t 1 . svg ’ )

p = Po in t ( . 4 , − . 5 )

d = Drawing ( 2 . 1 , 2 . 1 , o r i g i n= ’ c e n t e r ’ )
d . draw ( e u c l i d . s h a p e s . C i r c l e ( 0 , 0 , 1 ) , f i l l = ’ y e l l o w ’ )

r1 = 2.7
C1 = C i r c l e . fromCenterRadius ( p , r 1 )

d . draw ( p , r a d i u s =0.03 , f i l l = ’ o r a n g e ’ )
d . draw ( C1 , hwidth =0.08 , f i l l = ’ b l a c k ’ )
d . append ( draw . Text ( ’ C i c l o ␣ n e l ␣ d i s c o ␣ d i ␣ P o i n c a r e ’ , 0 . 1 ,
−0.6 ,0.95 , f i l l =’ black ’ ))
d . append ( draw . Text ( ’ C i c l o ’ , 0 . 0 8 , −0.2 , 0 . 6 , f i l l = ’ b l a c k ’ ) )
d . append ( draw . Text ( ’P ’ , 0 . 1 , 0 . 2 5 , −0.55 , f i l l = ’ b l a c k ’ ) )
d . append ( draw . Text ( ’ ( c e n t r o ␣ d e l ␣ c i c l o ) ’ , 0 . 0 6 , 0 . 1 , −0.6 , f i l l = ’ b l a c k ’ ) )

d . s e t R e n d e r S i z e (w=400)
d . saveSvg ( ’ images / t e s t 2 . svg ’ )

p1 = Po in t ( . 2 , − . 5 )
p2 = Po in t ( . 7 , . 2 )

d = Drawing ( 2 . 1 , 2 . 1 , o r i g i n= ’ c e n t e r ’ )
d . draw ( e u c l i d . s h a p e s . C i r c l e ( 0 , 0 , 1 ) , f i l l = ’ y e l l o w ’ )

h l = Li ne . f r o m P o i n t s ( ∗ p1 , ∗p2 , segment=F a l s e )

h c l = H y p e r c y c l e . f r o m H y p e r c y c l e O f f s e t ( hl , 0 . 9 )

d . draw ( hl , s t r o k e= ’ b l a c k ’ , stroke_width =0.01 , f i l l = ’ none ’ )


d . draw ( h c l , s t r o k e= ’ b l u e ’ , stroke_width =0.02 , f i l l = ’ none ’ )
d . draw ( p1 , r a d i u s =0.01 , f i l l =’ black ’ )
d . draw ( p2 , r a d i u s =0.01 , f i l l =’ black ’ )

18
d . append ( draw . Text ( ’ I p e r c i c l o ␣ n e l ␣ d i s c o ␣ d i ␣ P o i n c a r e ’ ,
0.1 , −0.6 ,0.95 , f i l l =’ black ’ ))
d . append ( draw . Text ( ’ r ’ , 0 . 1 , 0 . 4 , −0.3 , f i l l = ’ b l a c k ’ ) )
d . append ( draw . Text ( ’ i p e r c i c l o ’ , 0 . 0 8 , −0.2 , 0 . 3 , f i l l = ’ b l u e ’ ) )

d . s e t R e n d e r S i z e (w=400)
d . saveSvg ( ’ images / t e s t 3 . svg ’ )

p = Po in t ( . 2 , . 1 )

d = Drawing ( 2 . 1 , 2 . 1 , o r i g i n= ’ c e n t e r ’ )
d . draw ( e u c l i d . s h a p e s . C i r c l e ( 0 , 0 , 1 ) , f i l l = ’ y e l l o w ’ )

horo = H o r o c y c l e . f r o m C l o s e s t P o i n t ( p , s u r r o u n d O r i g i n=F a l s e )

d . draw ( horo , hwidth =0.1 , f i l l = ’ b l u e ’ , o p a c i t y =0.7)


d . draw ( p , r a d i u s =0.01 , f i l l = ’ b l a c k ’ )

d . append ( draw . Text ( ’ O r o c i c l o ␣ n e l ␣ d i s c o ␣ d i ␣ P o i n c a r e ’ ,


0.1 , −0.6 ,0.95 , f i l l =’ black ’ ))
d . append ( draw . Text ( ’ o r o c i c l o ’ , 0 . 0 8 , −0.2 , 0 . 3 , f i l l = ’ b l u e ’ ) )
d . s e t R e n d e r S i z e (w=400)
d . saveSvg ( ’ images / t e s t 4 . svg ’ )

19

Potrebbero piacerti anche