HOME OGGETTI 3D LIBRI CORSI TUTORIAL FORUM SHOP CONTATTI   LOGIN









Autore Topic: Curve omologiche2  (Letto 1899 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 omologiche2
« il: 14 Agosto 2012, 16:53 »
(Questo topic riprende il topic intitolato: Curve omologiche.
Ho trasferito qui gli ultimi paragrafi del topic precedente per continuità.)

Le curve del terzo ordine, come tutte le curve algebriche di ordine dispari, compresa la retta, si chiudono soltanto all’infinito, subendo una torsione a causa del fatto che il piano improprio presenta una sola faccia come il nastro di Moebius.  Pertanto non possono chiudersi, nella loro interezza, nel piano euclideo, a differenza delle curve algebriche pari. Tuttavia è possibile considerarne solo una parte. 
Come esempio consideriamo la funzione algebrica fratta:
y=1/( a^2-x^2)
è una curva del terzo ordine, costituita da due archi esterni simmetrici a forma di iperbole e di una curva compresa tra due asintoti di equazione x=a e x=-a.  Le iperboli esterne puntano all’infinito in basso, mentre la parabola schiacciata intermedia punta all’infinito verso l’alto, con la convessità verso il basso. Il suo massimo relativo è sull’asse x, con ordinata y=1/(a^2).
Per averla tangente all’asse x la abbassiamo:
y=1/( a^2-x^2)- 1/(a^2)
In questo caso x varia semplicemente nell’intervallo [-a,a].
La trasformata omologica della porzione di curva del terzo ordine è generata dallo script:

h=2
d=3
m=36
a=1
for i=1 to m-1
x=2*a/m*i-a
y=1/( a^2-x^2)- 1/(a^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
poly2    nsp/2, 1+4  , get (nsp)

Il risultato è una goccia o un petalo. Il motivo è dovuto al fatto che il punto improprio è un cappio, infatti la curva dovrebbe proseguire. In questo caso LO non è tangente nel punto di fuga.

Infine consideriamo il seguente caso:
data la funzione y=y(x) di cui consideriamo definita la parte entro l’intervallo [0, ∞],
vogliamo comprimerla tramite l’omologia entro un intervallo [0,h].   In questo caso si tratta di realizzarne la prospettività su PV, considerando la curva iniziale come tracciata su PO.  Quindi occorre servirsi della formula (2), scambiando gli assi x e y, per cui otteniamo l’inversa della formula (5). 
x’= h*x/( d+x)                                   !formula (6): dal PO al PV   
y’= d*y/(d+x)
Inoltre le suddivisioni su x+ devono allargarsi secondo la progressione geometrica, per avere una distribuzione uniforme dei punti nella trasformata omologica (altrimenti si accumulerebbero in vicinanza di x=0 e si diraderebbero verso x=h).
Lo script finale è il seguente:

h=2
d=2
a=1
k=1
p=2 !valore dell’intervallo, se p=d gli intervalli della prospettiva saranno uguali
m=36
for i=0 to m-1
x=p*i/(m-i)
y=k/(x^2+a)
xx= h*x/( d+x)                                   !formula (6): dal PO al PV   
yy= d*y/(d+x)
put xx,yy
next i
put  h, 0      !punto di fuga
poly2    nsp/2, 1 , get (nsp)
line2 0,k/a,h,0

La curva che è stata utilizzata:
y*(x^2+a)-k=0
è algebrica del terzo ordine. Ha la forma di una campana, con estensione infinita, con y come asse di simmetria. L’asse x è un suo asintoto, i valori delle y sono sempre positivi. Il valore massimo è k/a.
La curva originaria ha in x=0, nel punto di massimo, una tangente orizzontale, ma per effetto della prospettiva la tangente della curva trasformata punta verso la fuga principale (h,0).
La linea inserita serve per verificare che quella è la nuova direzione della tangente.

Per mantenere la tangente orizzontale è sufficiente applicare la distorsione solo nel senso delle ascisse x. In questo caso però non avremo più una omologia e le linee rette non parallele agli assi coordinati verranno incurvate. In questo caso la curva y=y(x) definita in [0, ∞] con asintoto orizzontale si comprime a fisarmonica entro [0, h]    Per semplificare scegliamo p=h ( h deve sempre essere maggiore di 0, mentre d potrebbe essere anche nullo, nel qual caso il centro cadrebbe  sul luogo dei punti uniti. Tuttavia, in questo caso, si dovrebbero  escludere i punti oggettivi con ascissa zero).
for i=0 to m-1
x=h*i/(m-i)
y=y(x)
xx= h*x/( d+x)
put xx,y
next i
put  h, 0      !punto di fuga
poly2    nsp/2, 1 , get (nsp)
Se invece la curva definita in [0, ∞] presentasse un asintoto obliquo con la direzione del vettore (ax,ay), ax>0 e ay>0,  risultando illimitata anche nel senso delle y positive, si potrebbe applicare la compressione a fisarmonica nei due sensi x positivo e y positivo:
for i=0 to m-1
x=h*i/(m-i)
y=y(x)
xx= h*x/( d+x)
yy= h*y/( d+y)
put xx,yy
next i
put  h, h      !punto di fuga
poly2    nsp/2, 1 , get (nsp)
In questo caso, per ragioni di simmetria, dovrebbero mantenersi diritte, dopo la trasformazione, anche le rette uscenti dall’origine.
Per mantenere l’inclinazione originaria dell’asintoto occorrerebbe poi applicare:
mul2  h,h*ay/ax
per cui la funzione sarebbe ristretta entro le rette x=h e y= h*ay/ax, che rappresentano l’unica retta impropria dello spazio, che viene piegata ad angolo.
In realtà la retta impropria non presenta spigoli e si può assimilare ad una circonferenza. Volendo che la retta limite diventi una circonferenza, in modo che il piano xy venga compresso al suo interno, si useranno le trasformazioni:
xx= h*x/( sqr(x^2+y^2+d^2))
yy= h*y/( sqr(x^2+y^2+d^2))
Infatti queste trasformazioni, per y=0 o per x=0 rispettivamente, restituiscono i risultati della trasformazione precedente: ciò significa che sugli assi coordinati producono lo stesso effetto, ma con una simmetria circolare che si applica a tutte le direzioni.  Di fatto abbiamo introdotto una omologia circolare che si può estendere alla spazio, diventando la prospettiva sferica solida:
xx= h*x/( sqr(x^2+y^2+d^2))
yy= h*y/( sqr(x^2+y^2+d^2))
zz= h*y/( sqr(x^2+y^2+d^2))
La prospettiva solida lineare, utilizzata in teatro dagli scenografi nella scena all’italiana, si ricava invece dall’omologia bidimensionale,  ovvero dalla formula (2) ,  che diventa:
xx= d*x/( y+d)
yy= h*y/( y+d)
zz= d*z/( y+d)
In questo caso la forma dell’equazione per la y differisce da quelle per la x e per la z. Infatti l’asse y rappresenta l’asse ottico, mentre il piano xz costituisce il quadro, o piano del boccascena.  La lettera h indica la distanza tra il piano del boccascena e il piano limite o fondale, ad esso parallelo.   Su quel piano, di equazione y=h,  cadono i punti di fuga scenici.      Infatti se y >-d  risulta:
 y <  y+d        h*y <h*(  y+d )       ( essendo y+d>0  )        yy = h*y/ (  y+d )  < h
Il punto di vista si trova in (0,-d,0), ed ovviamente v è la distanza.
Il punto principale scenico è (0, h,0), per cui l’asse ottico è definito da:
lin_   0, -d, 0, 0, h, 0
Il cerchio di distanza corrisponde a:
n= 36    !risoluzione
for   i=1  to  n
lin_   d*cos*(360/n*i),  0, d*sin*(360/n*i),  d*cos*(360/n*(i+1)),  0, d*sin*(360/n*(i+1))
next i
Sul quadro y=0 non mutano le proporzioni.  Sui piani paralleli oltre il quadro (y>0), ovvero sulla scena,le proporzioni si riducono linearmente per la convergenza al punto di fuga.

Ritorniamo alla curva  definita in  [0, ∞],  con asintoto obliquo (ax,ay).  L’omologia circolare  porta la retta impropria sulla circonferenza di raggio h, con centro in O.    L’omologia circolare della linea si ricava dallo script:

for i=0  to m-1
x=h/2*(i-m)*( (1-sgn(i-m))/i + (1+sgn(i-m))/(2*m-i) )
y=y(x)
xx= h*x/( sqr(x^2+y^2+d^2))
yy= h*y/( sqr(x^2+y^2+d^2))
put xx,yy
next i
put  h*cos( an ),  h*sin( an) )      !punto di fuga
poly2    nsp/2, 1 , get (nsp)
Dove an= atn(ay/ax) è l’angolo che l’asintoto forma con l’asse x.   Infatti il punto di fuga è individuate sul cerchio limite dal raggio con la stessa inclinazione uguale dell’asintoto. 

La curva espressa nella forma:
x=h*i/(m-i)
y=y(x)
potrebbe anche essere generalizzata in forma parametrica:
x=x(i)
y=y(i)

Se la linea da trasformare è una linea retta, sono da distinguere due casi:
se la retta esce da O, la sua trasformata è un diametro del cerchio con la stessa inclinazione.  Da questo fatto si deduce che si sdoppiano i punti di fuga, come accede per la prospettiva sferica.
Se la retta non esce da O si incurva, uscendo da un estremo del diametro del cerchio, per fuggire nell’estremo opposto dello stesso diametro.
Se poi la retta è parallela a un asse coordinato tale diametro coincide con l’asse stesso.
Ad esempio la retta verticale  x=v passa per i vertici superiore ed inferiore del cerchio ed  attraversa il punto di coordinate:
( h*v/( sqr(v^2+d^2)) , 0 )
Consideriamo la retta generica di equazione y=p*x+q   Tale linea è definita in  [-∞, ∞],  cioè lungo tutto l’asse x.    Poiché poi l’omologia circolare abbraccia tutto il piano,  utilizziamo la suddivisione dell’intero asse x, secondo la formula (4).   Il punto di fuga va ripetuto con segno contrario, in quanto la retta va all’infinito nei due sensi.

put  -h*cos(atn(p)),  -h*sin(atn(p))     !punto di fuga
for i=1 to 2*m-1
x=h/2*(i-m)*( (1-sgn(i-m))/i + (1+sgn(i-m))/(2*m-i) )
y= p*x+q
xx= h*x/( sqr(x^2+y^2+d^2))
yy= h*y/( sqr(x^2+y^2+d^2))
put xx,yy
next i
put  h*cos(atn(p)),  h*sin(atn(p))     !punto di fuga
poly2    nsp/2, 1 , get (nsp)

La retta si trasformerà in una ellisse, dove l’asse maggiore si ottiene congiungendo i punti di fuga sdoppiati.
In maniera analoga, nello spazio, la prospettiva sferica trasforma i piani in semiellissoidi uscenti dal cerchio di raggio massimo della sfera limite. Questo cerchio geodetico si ottiene tagliando la sfera con un piano che ha la medesima giacitura del piano oggettivo dato.    Tale  cerchio massimo rappresenta la retta impropria, od orizzonte, del piano dato.  I piani oggettivi passanti per il centro della sfera limite si mantengono piani. La stella di rette con sostegno nel centro della sfera si trasforma nei diametri della sfera coincidenti con le rette stesse.  Le altre rette diventano semiellissi,  con l’asse maggiore definito dai rispettivi punti di fuga doppiati.  Tali punti di fuga si trovano sugli estremi di quel diametro della sfera che segue la direzione della retta data.

Gli oggetti allegat riguardano gli argomenti:
rappresentazione di un fascio di rette e di quello ad esso ortogonale in omologia circolare.
E' la quadrettatura di un piano che viene ristretto entro il cerchio limite.  Le rette si incurvano secondo l'effetto fish-eye.  La prospettiva sferica (ortografica) di un piano frontale crea lo stesso effetto.

parabola in omologia circolare

Iperbole in omologia circolare
« Ultima modifica: 14 Agosto 2012, 17:05 da marcomasetti »