HOME OGGETTI 3D LIBRI CORSI TUTORIAL FORUM SHOP CONTATTI   LOGIN









Autore Topic: Curve omologiche  (Letto 2451 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

marcomasetti

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 183
Curve omologiche
« il: 12 Agosto 2012, 19:49 »
Gli artisti italiani del Rinascimento rivoluzionarono il concetto di infinito (∞), come mi spiegò a suo tempo l’emerito professor Pietro Lenzini dell’Accademia di belle Arti di Bologna, forse l’ultimo pittore di pale d’altare esperto di prospettiva scenica.  Bologna, nel passato, con i Bibiena, aveva una scuola di prospettiva invidiata da tutta l’Europa.  Ancora oggi si studiano e si traducono all’estero le opere del Bibiena, come ho constatato nel visitare un sito spagnolo.  A Bologna, dove sono conservati i testi originali, questi rimangono impolverati in biblioteca.   Poi non sono disponibili copie.  Veramente qui in Italia non si investe nulla nella cultura, credendo in questo modo di operare risparmi, in realtà si sprecano le nostre potenzialità. Si dissipa il nostro patrimonio, poi si piange sopra una crisi dovuta principalmente ad ignoranza, avidità e appunto a spreco.
Tramite il concetto di punto di fuga, si passò dall’infinito potenziale all’infinito attuale.  Oggi si tende a trascurare la prospettiva proprio nelle scuole deputate alle arti visive, mentre paradossalmente nelle facoltà di architettura-ingegneria si è ritornati al disegno prospettico realizzato a mano.  Infatti la prospettiva si apprende con il disegno, non con il rendering automatico del computer.  Il computer non fa errori in termini di geometria, ma dal punto visivo sì.  Un allievo mi presentò il rendering prospettico freddo ed esatto di una stanza un po’ squallida, con sul pavimento la proiezione luminosa della finestra aperta. Le ombre di contorni piani su un piano, sono applicazioni del concetto di omologia o di prospettività, se il centro è proprio. A voler essere precisi l’omologia nasce da una prospettività, ove si sovrappongono i due piani di proiezione, che nella prospettività rimangono distinti.    L’omologia era esatta, ma quell’ombra proiettata dalla finestra sullo sfondo era assurda.  Infatti si restringeva verso l’osservatore invece di dilatarsi.
La prospettiva dunque, come le sue applicazioni, utilizza l’infinito come concetto attuale, per cui punti propri e impropri possono scambiarsi.  Per il calcolatore l’infinito semplicemente non esiste.  Come fare dunque per rappresentare curve infinite?  Basta proiettarle in modo da renderle finite.  Questo metodo può servire pure per studiare la forma delle curve e per generarne nuove.
Il disegno a mano è unico e irripetibile, ma è pure approssimativo.  L’interfaccia intuitiva del computer aiuta a generare linee complesse, dove la mano interagisce con il calcolo.  Tuttavia una curva geometrica, generata da una equazione ha una semplicità e una regolarità che non possiedono le curve disegnate.  Gli architetti dovrebbero tenerne conto.
La prospettività si può dunque considerare come un caso di proiezione prospettica tra due piani effettuata da un punto di vista.  Su un piano si disegna un forma, poi questa viene proiettata dal centro, esterno al piano, su di un altro piano.  Proiettando o ribaltando i due piani uno sull’altro, si ha l’omologia. Un caso di omologia è la prospettiva di un pavimento, con il suo ribaltamento lungo la linea di terra, che corrisponde all’asse dei punti uniti dell’omologia.  Se si collegano con rette i punti corrispondenti del pavimento ribaltato e della sua prospettiva, i collegamenti vanno a concorrere in un unico punto che è il centro dell’omologia.  Questo centro si può considerare come la proiezione o il ribaltamento sul quadro del punto di vista.
Dato che l’omologia nasce storicamente e logicamente dalla prospettiva, consideriamo i due piani come ortogonali, uno è il pavimento PO l’altro il quadro trasparente PV.  Sia h l’altezza dell’osservatore su PO e d la sua distanza da PV. La linea di intersezione LT tra i due piani è l’asse x dell’omologia, l’asse y è la verticale posta di fronte all’osservatore, per cui il punto di fuga principale ha coordinate (0,h).   Chiamiamo asse y anche il ribaltamento di y sul pavimento PO.  Per evitare confusione nelle formule aggiungiamo un apostrofo alle coordinate relative ai punti giacenti su PV o quadro.
Un punto (x’,y’) su PV viene pertanto proiettato su PO in (x,y)

Formula (1) per ricavare la forma oggettiva sul pavimento dell’oggetto disegnato in prospettiva sul quadro:

x= h*x’/(h-y’)   
y= d*x’/(h-y’)

Da notare che per y’=h il denominatore si annulla, perché il punto prospettico si trova sull’orizzonte LO e il suo corrispondente è un punto improprio. In questo caso si tratterebbe di un punto di fuga.

Formula (2) per ricavare la prospettiva sul quadro della forma oggettiva sul pavimento:

x’= d*x/(d+y)
y’= h*y/( d+y)

In questo caso il denominatore si annulla per y=-d, perché il punto oggetto si trova sul piano proiettante parallelo al quadro. Questi punti dello spazio, posti ad un angolo di visuale di 90°, non possono essere rappresentati sul quadro.
Il problema nel tradurre in uno script forme di estensione infinita, nasce, come si è detto, dal fatto che il computer non può riconoscere il concetto di infinito attuale, ma solo quello di infinito potenziale, inteso come possibile aumento del valore di parametro.  Supponiamo di voler suddividere l’asse y su PO in modo che punti corrispondenti su PV siano equidistanti.
L’asse y’ su PV avrebbe questa suddivisione dal basso verso la linea d’orizzonte a quota h:

for i=0 to m
y’=h/m*i
next i

Applicando la formula (1) si ricava:

for i=0 to m-1    !formula (3)
y=d*i/(m-i)
next i

Naturalmente bisogna escludere l’ultima coordinata, con m=1, che corrisponde a y’=h.
La distanza tra i punti di questa successione aumenta con progressione geometrica, in modo che si annulla poi sul quadro la riduzione prospettica, per cui i punti appaiono equidistanti.
Però a noi non interessa tanto suddividere l’asse y di PO, ma piuttosto l’asse x.
Infatti una curva su PO si esprime solitamente con y=y(x) e non con x=x(y).  Se la curva ha estensione infinita anche in orizzontale non potremo trasformarla con l’omologia nella sua interezza, se non riusciamo a comprimere l’asse x.
Applicando anche per l’asse x una formula analoga alla (3) si ricava:

for i=1 to 2*m-1    !formula (4)
x=p/2*(i-m)*( (1-sgn(i-m))/i + (1+sgn(i-m))/(2*m-i) )
next i

La formula è più complessa perché comprende anche il semiasse negativo, per cui in realtà è divisa in due parti, che si annullano ove conviene tramite sgn(i-m) che vale -1 per i<m e 1 per i>m.  Inoltre si è sostituito d con p, dato che la suddivisione di x è indipendente dall’asse y.  Con valori di p alti i vertici scorrono verso gli estremi, cioè nella trasformata verso i punti di fuga: con valori bassi aumenta la risoluzione della parte inferiore della curva prospettica
Per verificare se i risultati sono corretti, prima applichiamo la (3) ad una parabola:
y=x^2
x=sqr(y)
La parabola si chiude all’infinito, per cui il suo punto di fuga è il punto principale (0,h)
Lo script seguente dovrebbe generare non la parabola, ma una semiellisse tangente alla LO:

h=2
d=2
m=36
for i=0 to m-1
y=d*i/(m-i)
x=sqr(y)
xx= d*x/(d+y)    !formula (2): dal PO al PV
yy= h*y/( d+y)
put xx,yy
next i
put  0, h      !punto di fuga
poly2    nsp/2, 1+4  , get (nsp)

Utilizziamo ora una iperbole con vertici sull’asse y per verificare i risultati della formula (4)
y=b/a*sqr(a^2+x^2)-d
Il centro dell’iperbole deve essere sul piano proiettante parallelo al quadro PV, altrimenti si ha una porzione di ellisse inferiore alla metà
Lo script è il seguente:

a=1
b=2
h=2
d=2
p=1
m=36
put  -d*a/b, h      !punto di fuga sinistro
for i=1 to 2*m-1    !formula (4)
x=p/2*(i-m)*( (1-sgn(i-m))/i + (1+sgn(i-m))/(2*m-i) )
y=b/a*sqr(a^2+x^2)-d
xx= d*x/(d+y)    !formula (2): dal PO al PV
yy= h*y/( d+y)
put xx,yy
next i
put  d*a/b, h      !punto di fuga destro
poly2    nsp/2, 1, get (nsp)

A questo punto qualcuno si chiederà: a cosa serve questa complicazione. Forse mi domanderebbe: non avremmo fatto prima a costruire subito una ellisse?  Che bisogno c’era di costruire parabole o iperboli per avere ellissi?   La risposta è in un film di Stanlio e Ollio, dove sono travestiti da scolaretti con il classico cono di cartone e le orecchie da asino.  La cultura, lo studio, non ha solo fini pratici, questo lo insegnavano già gli antichi greci e dovrebbe insegnarlo la scuola.  Ogni materia, compresa la geometria e la matematica, hanno in sé una bellezza che prescinde dal suo utilizzo:  “Fatti non foste per esser come bruti!” scriveva Dante.  La tecnologia va avanti, ma i comportamenti sociali sembrano andare all’indietro: per certi versi ci stiamo comportando come trogloditi. Al posto della musica che ha raggiunto i suoi livelli più raffinati nel 1800, si picchia con il bastone su fusti di benzina, si circola mezzi nudi pieni di tatuaggi e con anelli al naso, non si dipingono quasi più pale d’altare ma si produce merda d’artista, anche se inscatolata, e questo non è certo il peggio. Almeno i nostri avi cavernicoli hanno rispettato la natura, permettendoci di essere ancora qui.

Le curve coniche sono le uniche curve algebriche che si trasformano una nell’altra mediante trasformazioni proiettive come l’omologia.  Inoltre sono semplici da costruire direttamente.  Quando si passa ad ordini superiori, come per le cubiche o per curve di ordine maggiore, si creano diverse famiglie di curve all’interno del medesimo ordine.  Soltanto all’interno di una stessa famiglia è possibile ricavare una curva dall’altra mediante proiezioni, ma non è possibile ottenere in questo modo gli altri tipi. Inoltre le curve del terzo e quarto ordine possono essere sghembe.  Le coniche sono sempre piane.  Pur non volendo competere con un Apollonio, ho inserito un fumetto sulle curve del terzo e quarto ordine dal titolo:    Curve algebriche e selle di scimmia  in:
http://oggettigeometricigdl.wordpress.com
Le curve del quarto ordine si studiano normalmente nei corsi di disegno geometrico, in quanto alcuni tipi si possono ottenere dalle intersezioni di cilindri rotondi.
Costruire una equazione traducibile nel linguaggio GDL di una curva chiusa del quarto ordine è piuttosto complesso. E’ possibile farlo per curve con assi di simmetria, altrimenti l’equazione non si risolve rispetto a una variabile.  Si creano infatti equazioni di terzo e quarto grado, anche solo nel cercarne le intersezioni con gli assi.  La soluzione algebrica di questi tipi di equazioni fu fornita già nel 1500 da Scipione dal Ferro e credo da Tartaglia, ma poi occorre scomodare i numeri complessi e la soluzione effettiva può essere data solo per approssimazioni.  I numeri complessi richiedono qui di risolvere la trisecazione di un arco, salvo casi particolari. La trisecazione di un arco è un problema che ha assillato per generazioni gli antichi matematici e non si risolve in modo elementare, come la quadratura del circolo.  Oltre il secondo grado le cose si complicano parecchio. Occorre studiare vie traverse, come appunto la deformazione proiettiva.

La curva algebrica del quarto ordine più semplice è la parabola di ordine 4, ottenuta eguagliando a y un polinomio di grado 4.
La sua forma più elementare presenta il solo monomio di grado 4:
y=a1*x^4
ma non è una curva interessante, essendo un semplice arco come la parabola comune.
Vogliamo allora creare una ammaccatura aggiungendo un monomio di grado 2 con segno negativo:
y= a1*x^4- a2*x^2
A questo punto vediamo il risultato:
 
a1=.5
a2=1
h=3
d=5
p=1
m=90
for i=1 to 2*m-1    !formula (4)
x=p/2*(i-m)*( (1-sgn(i-m))/i + (1+sgn(i-m))/(2*m-i) )
y= a1*x^4- a2*x^2
xx= d*x/(d+y)    !formula (2): dal PO al PV
yy= h*y/( d+y)
put xx,yy
next i
put  0, h      !punto di fuga unico
poly2    nsp/2, 1+4, get (nsp)

La curva ha la forma di una lancia o di un cuore rovesciato.
Aumentando a2 rispetto a1 aumenta la divaricazione e la lunghezza delle protuberanze inferiori, ma a2 non può essere aumentato troppo, perché rischia di portare la curva sotto i piedi dell’osservatore, dove si creerebbero punti impropri, con messaggio di errore.
Aumentando a1 rispetto a2 diminuisce l’effetto dell’ammaccatura che scompare per a1=0
Aumentando a1 la curva si stringe e con valori bassi si allarga. Questo perché a1 è legato alla pendenza della curva, che cresce con valori alti.
Dato che la curva si chiude all’infinito, dal punto di vista geometrico LO risulta tangente alla sua trasformata, anche se visivamente non è chiaro per la forma appuntita.

Applicando a questa curva una omologia non più sull’asse y , ma lungo l’asse x e in senso inverso, si crea una asimmetria. La formula (1) viene corretta in questo modo nella formula (5):
x= d*x’/(h-x’)  !formula (5): dal PV al PO   
y= h*y’/(h-x’) 
Questa operazione crea un asse limite in corrispondenza della retta di equazione x’=h, portando all’infinito i rispettivi punti e trascinando tutti gli altri.  Quelli posti sull’asse y non si muovono,
Non essendo però in grado di calcolare la larghezza della curva e quindi la distanza appropriata per evitare la creazione di punti impropri, occorre procedere per tentativi con valori di h alti, ovvero occorre visionare la curva precedente per porre l’asse limite alla sua destra.

a1=1
a2=1
h=1 !altezza omologia su y
d=2 !distanza omologia su y
hx=3 !altezza omologia su x, posizione nuovo asse limite
dx=2 !distanza omologia su x
p=1  !la variabile p può coincidere con d oppure no, fa variare le distanze relative fra i punti
m=36
for i=1 to 2*m-1    !formula (4)
x=p/2*(i-m)*( (1-sgn(i-m))/i + (1+sgn(i-m))/(2*m-i) )
y= a1*x^4- a2*x^2
xx= d*x/(d+y)    !formula (2): dal PO al PV
yy= h*y/( d+y)
xp= dx*xx/(hx-xx)  !formula (5): dal PV al PO   
yp= hx*yy/(hx-xx) 
put xp ,yp
next i
put  0, h      !punto di fuga unico , non si sposta perché sull’asse y
poly2    nsp/2, 1, get (nsp)


Non allego oggetti sulle curve, dato che basta copiare gli script per avere le curve.   Facendole ruotare o utilizzandole come sezioni generatrici si possono costruire forme 3D, anche se lo scopo dell’intervento è piuttosto illustrare come si applica la omologia 2D.  In maniera analoga si può applicare l’omologia 3D ai vertici di primitive solide.  Il risultato è una prospettiva tridimensionale, sul tipo della prospettiva teatrale.
Allego invece alcuni oggetti sull'omologia, che ne chiariscono il funzionamento.


















« Ultima modifica: 14 Agosto 2012, 16:56 da marcomasetti »