Studio di poligonali logaritmiche (o geometriche) aventi lati in progressione geometrica e delle
relative curve interpolanti eseguito con l' aiuto della fida tartaruga e della
sua geometria. (di Giorgio Pietrocola ) Ho chiamato poligonale logaritmica (o geometrica) la linea continua ottenuta ruotando di uno stesso angolo una serie infinita di segmenti in progressione geometrica. (vedi figure) La nostra poligonale logaritmica sarà caratterizzata, in pratica, da un segmento iniziale, dall'angolo di rotazione della tartaruga e dal fattore di riduzione dei successivi segmenti. |
||
to poligonale :angolo :a :rap :iter if :iter = 0 [stop] forward :a right :angolo poligonale :angolo :a*:rap :rap :iter-1 end |
Questa procedura ricorsiva scritta in Logo, comandandando alla tartaruga di avanzare e di girare a destra, genera le
poligonali mostrate sotto. forward :a fa avanzare la tartaruga secondo il parametro a. (oppure fd :a) right :angolo fa girare la tartaruga secondo il parametro angolo (oppure rt :angolo) Da notare che angolo non è l'angolo tra i segmenti ma il suo complemento a 180. rap, minore di uno per evidenti motivi grafici, è il rapporto costante ossia la ragione della progressione geometrica iter controlla il numero di iterazioni. La figura a lato si ottiene, memorizzata la procedura, con il comando poligonale 108 140 0.62 12 essendo, nel caso specifico, angolo=108, a=140, rap=0.62 (quasi aureo) iter=12 |
|
poligonale 90 140 0.8 15 | poligonale 60 130 .8 20 | poligonale 90 140 0.8 12 |
Come dimostrerò tra breve tutte le poligonali regolari di cui tratto convergono in un punto che, nel caso in cui il rapporto tra segmenti sia aureo (62% circa), è detta occhio di dio. | ||
Teorema:
Una poligonale logaritmica, con primo segmento a, angolo di rotazione
della tartaruga
a, e fattore di riduzione r,
converge nel vertice opposto al primo segmento (a) su cui è costruito un
triangolo in modo che l'angolo opposto a tale segmento sia
a e che risulti
c/b=r Nella figura accanto la gentile tartaruga non solo ha tracciato, dal basso verso l'alto, il primo segmento della poligonale ma ha anche costruito il triangolo che evidenzia il punto di convergenza nel vertice del triangolo il cui angolo corrispondente ha ampiezza a. . L'altra particolarità del triangolo è di avere il rapporto tra gli altri due lati uguale al fattore di riduzione, cioè c/b=r. |
||
La dimostrazione segue dal fatto che il secondo triangolo simile al primo ottenuto da questo riducendo i lati del fattore r ha il lato maggiore uguale al lato minore del primo ed è quindi possibile costruirlo a partire da c facendo in modo che gli angoli alfa siano adiacenti. E' facile constatare che l'angolo tra i due segmenti risulta b+c=180-a e quindi lo spostamento a destra della tartaruga è proprio alfa. Dunque questa costruzione ha per perimetro esterno proprio la nostra poligonale. Dato che i lati della poligonale si riducono continuamente la poligonale si avvicina indefinitamente al vertice comune dei triangoli. | ||
to tri
:alfa :a :r make "b sqrt :a*:a/(:rap*:rap+1-2*:rap*cos :alfa) make "c :b*:rap make "h 2*(triarea :a :b :c)/:a make "gamma arcsin :h/:b if and (:alfa<90) (:c>:b/cos :alfa) [make "gamma 180-:gamma ] make "beta 180 - :alfa - :gamma fd :a rt 180-:beta fd :c rt 180-:alfa fd :b rt 180-:gamma end to triarea :a :b :c make "p (:a+:b+:c)/2 output sqrt :p*(:p-:a)*(:p-:b)*(:p-:c) end
|
La procedura tri costruisce in logo
il triangolo partendo da un segmento di lunghezza a, un anglo alfa ed un
fattore di riduzione r. La funzione triarea calcola l'area del triangolo dati tre lati. b è calcolato mediante il teorema del coseno di Carnot. L'if serve a tener conto di quando, uscendo la priezione del vertice dal segmento, l'angolo gamma diventa esterno. Una volta determinati tutti gli elementi del triangolo la tartaruga esegue la figura avanzando (fd=forward) dei rispettivi lati e ruotando a destra (rt=right) degli angoli esterni. La figura a destra è stata ottenuta con questa funzione scegliendo alfa=60 a=140 e,successivamente, r=.62 r=.8 r=.9 r=1 Da notare che con r=1 non vi è nessuna riduzione e si ottiene un triangolo equilatero Da notare che questa procedura è trasparente cioè lascia la tartaruga esattamente dove la trova.
|
|
to superpoligonale :angolo :a :rap :iter if :iter = 0 [stop] tri :angolo :a :rap forward :a rt :angolo superpoligonale :angolo :a*:rap :rap :iter-1 end |
Questa procedura è stata ottenuta da
poligonale cambiando nome in superpoligonale ed aggiungendo la terza riga
che richiama tri ecco a destra cosa si ottiene con superpoligonale 80 200 .62 8 nota 0.62 è un'approssimazione del rapporto aureo (-1+rad 5)/2 =1/phi dove phi=(1+rad 5)/2 |
|
Ecco quindi le due poligonali auree! Quella del quadrato 90 gradi di rotazione della tartaruga e quella del triangolo aureo che corrisponde ad una rotazione della tartaruga di 108 gradi Le due figure si ottengono rispettivamente con superpoligonale 90 200 .62 8 superpoligonale 108 200 .62 8 |
||
Ecco cosa succede con un fattore di
riduzione non aureo per esempio 0.8 (ed aumentando
le iterazioni) superpoligonale 90 200 .8 20 superpoligonale 108 200 .8 20 Da notare le diagonali evidenziate da Dino Liberatore. (vedi qui) Non dipendono dal rapporto aureo ma solo dal gioco dei novanta gradi (quarto di giro) |
||
Corollario:
ogni serie archi interpolante i segmenti della spezzata converge nel
vertice/vortice comune ai triangoli. E' inoltre evidente che ad ogni poligonale logaritmica rimane associata una spirale logaritmica interpolata. |
||
Ma ripartiamo ora dal nostro triangolo per
costruire un arco logaritmico. Puntando uno "pseudo-compasso" sul vertice corrispondente ad alfa dovremo tracciare una curva che partendo dal raggio b arrivi al raggio ridotto c e questo gradatamente secondo una progressione geometrica e quindi una funzione esponenziale. Da notare che nel caso particolare r=1 la curva coincide con un arco di cerchio |
||
to
triarc :alfa :a :rap make "b sqrt :a*:a/(:rap*:rap+1-2*:rap*cos :alfa) make "c :b*:rap make "h 2*(triarea :a :b :c)/:a make "gamma arcsin :h/:b make "beta arcsin :h/:c make "beta 180 - :alfa - :gamma fd :a rt 180-:beta fd :c rt 180-:alfa make "divang int (:a*2) make "fat power :rap 1/:divang make "lungo :b make "angolino :alfa/:divang repeat :divang [fdp :lungo rt :angolino make "lungo :lungo*:fat] lt :alfa fd :b rt 180-:gamma end to fdp :x |
Le linee marcate in blu ripetono il contenuto della
procedura tri ma oltre a disegnare il
solito triangolo sul segmento a viene disegnato un arco di curva
logaritmica. La variabile divang indica il numero di parti in cui viene diviso l'angolo alfa per tracciare i punti dell'arco. Il fattore 2 riflette la scelta di fare il doppio dei punti rispetto a quelli del segmento sotteso. fat è il fattore di "capitalizzazione frazionata" per cui si deve moltiplicare ogni volta il raggio che deve progressivamente passare, nelle volte indicate da divang, dalla misura di b a quella di c. Infine la procedura fdp :x funge da punta per il nostro pseudo-compasso facendo tracciare alla tartaruga un punto dopo aver percorso la distanza x a penna alzata e, quindi, senza lasciar traccia. |
|
Nella figura sopra l'angolo alfa che insiste sul segmento è sempre di 60 gradi mentre il fattore di riduzione varia da .6 fino ad 1 caso limite in cui il triangolo diventa equilatero e la curva logaritmica diventa una circonferenza. Come si vede la differenza tra gli archi è molto piccola. | ||
Questioni emerse. In queste riflessioni, favorite dalla tartaruga, ho notato che, lasciando fisso il valore di a e di r e facendo variare l'angolo alfa di rotazione, il centro di convergenza si muove su una circonferenza. Nel caso del rapporto aureo r=1/f questo cerchio, ha raggio uguale ad a. In coordinate cartesiane ,il centro si trova in [0,fa] e il cerchio quindi ha la seguente equazione: |
||
x2+(y-fa)2=a2 |
Dove naturalmente la casa di partenza del segmento a e della tartaruga è (0;0) | |
Altre immagini della
spirale logaritmica |
||
Questo risultato, trovato empiricamente prima di
capire dove avvenisse la convergenza, si dimostra agevolmente
considerando il luogo dei punti P tali che PB/PC = r (dove C e B sono gli estremi del primo segmento della poligonale aventi coordinate rispettivamente [0;0] e [0;a]). Imponendo questa condizione si ottiene x2+(y-a)2=r2(x2+y2) da cui facilmente C=[0;a/(1-r2)] e Raggio=(ra)/(1-r2) che quando r=1/f si riduce a quanto osservato precedentemente. |
||
Ringrazio Ivana che mi ha spronato in questo studio, la sua rete di
collaboratori che conosco solo indirettamente: Dino, Elena,
Gianfranco, il laborioso Claudio che gentilmente ci ospita e,
infine, naturalmente, la fida tartaruga compagna inseparabile di continue
avventure geometriche. Per osservazioni, commenti, approfondimenti, segnalazione di lavori collegati ai temi trattati o altro potete scrivermi a questo indirizzo: giorgio.pietrocola@gmail.com g.p. 28 Luglio 2004 |
||