HOME OGGETTI 3D LIBRI CORSI TUTORIAL FORUM SHOP CONTATTI   LOGIN









Autore Topic: Formule trasformazioni prospettiche  (Letto 2537 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
Formule trasformazioni prospettiche
« il: 10 Settembre 2012, 01:58 »
Inserisco diverse formule, nel caso che qualcuno volesse divertirsi a sperimentare qualche trasformazione prospettica, utilizzando rettangoli deformabili, sul tipo di quelli presentati nell'ultimo post.

Prospettiva lineare 2D
quadro: y=0; distanza d; centro proiezione in 0,-d,0
X=x*d/(y+d)
Z=z*d/(y+d)

Prospettiva lineare 3D
X=x*d/(y+d)
Y=y*d/(y+d)
Z=z*d/(y+d)

Prospettiva scenica lineare
d1=distanza quadro-punto limite, d2=distanza traguardo-punto limite, quadro:y=0
X=x*d2/(y+d2)
Y=y*d1/(y+d2)
Z=z*d2/(y+d2)

Prospettiva scenica sferica
d=raggio sfera limite, centro  0,0,0
X=x*d/(sqr(x^2+y^2+z^2)+d)
Y=y*d/(sqr(x^2+y^2+z^2)+d)
Z=z*d/(sqr(x^2+y^2+z^2)+d)

Prospettiva scenica cilindrica
asse z=luogo dei punti uniti ed asse cilindro, d=raggio cilindro limite,
traguardo sull'origine 0,0,0
X=x*d/(sqr(x^2+y^2)+d)
Y=y*d/(sqr(x^2+y^2)+d)
Z=z*d/(sqr(x^2+y^2)+d)

Prospettiva cilindrica sviluppata 2D
quadro: y=0; raggio cilindro=d; centro proiezione in 0,-d,0
X=d*2*pi/360*asn(x/sqr( (y+d)^2+x^2 ))
Z=z*d/sqr( (y+d)^2+x^2 )

Prospettiva cilindrica sviluppata 3D
X=d*2*pi/360*asn(x/sqr( (y+d)^2+x^2 ))
Y=d*2*pi/360*asn(y/sqr( (y+d)^2+x^2 ))
Z=z*d/sqr( (y+d)^2+x^2 )

Prospettiva cilindrica non sviluppata 2D
(I punti dello spazio proiettati sul cilindro)
asse cilindro x=0,y=-d; raggio cilindro=d; centro proiezione in 0,-d,0
X=x*d/sqr(x^2+(d+y)^2)
Y=d*(d+y)/sqr(x^2+(d+y)^2)-d
Z=z*d/sqr( (y+d)^2+x^2 )

Prospettiva cilindrica non sviluppata 2D
asse cilindro x=0,y=0; raggio cilindro=d; centro proiezione in 0,0,0
X=x*d/sqr(x^2+y^2)
Y=y*d/sqr(x^2+y^2)
Z=z*d/sqr(x^2+y^2 )

Prospettiva cilindrica non sviluppata 3D: in x,y sostituisco d con d^2/sqr(x^2+y^2)
X=x*d^2/(x^2+y^2)
Y=y*d^2/(x^2+y^2)
Z=z*d/sqr(y^2+x^2 )

Prospettiva sferica ortografica 2D
quadro: y=0; raggio sfera=d; centro proiezione in 0,-d,0
X=x*d/sqr( (y+d)^2+z^2 )
Z=z*d/sqr( (y+d)^2+z^2 )

Prospettiva sferica ortografica 2D
quadro: y=0; raggio sfera=d; centro proiezione in 0,0,0
X=x*d/sqr( y^2+z^2 )
Z=z*d/sqr( y^2+z^2 )

Prospettiva centrale su sfera: raggio sfera=d; centro proiezione in 0,0,0
I puntidello spazio vengono proiettati sulla sfera (proiez.2D)
X=x*d/sqr(x^2+y^2+z^2)
Y=y*d/sqr(x^2+y^2+z^2)
Z=z*d/sqr(x^2+y^2+z^2)

Prospettiva sferica 3D: ottenuta per analogia da cilindrica 3D
X=x*d^2/(x^2+y^2+z^2)
Y=y*d^2/(x^2+y^2+z^2)
Z=z*d^2/(x^2+y^2+z^2)

Prospettiva sferica stereografica 2D
quadro: y=0; raggio sfera=d; centro proiezione in 0,-d,0
X=2*x*d/(y+d+sqr(x^2+ (y+d)^2+z^2 ))
Z=2*z*d/(y+d+sqr( x^2+(y+d)^2+z^2 ))

Prospettiva sferica stereografica 2D
raggio sfera=d; centro proiezione in 0,0,0
X=2*x*d/(y+sqr(x^2+y^2+z^2 ))
Z=2*z*d/(y+sqr(x^2+y^2+z^2 ))

Prospettiva stereografica del piano
(piano z=0 proiettato su sfera di raggio d dal suo centro 0,0,d e riproiettato
su se stesso dal polo 0,0,2*d)
X=2*x*abs(d)/(sqr(x^2+y^2 +d^2)+d)
Y=2*y*abs(d)/(sqr(x^2+y^2 +d^2)+d)

Prospettiva stereografica dello spazio
(ricavata per analogia dalla prospettiva stereografica del piano)
X=2*x*abs(d)/(sqr(x^2+y^2+z^2 +d^2)+d)
Y=2*y*abs(d)/(sqr(x^2+y^2+z^2 +d^2)+d)
Z=2*z*abs(d)/(sqr(x^2+y^2+z^2 +d^2)+d)
Con d<0 si ha un effetto simile all'inversione del piano,
per d=2 le proporzioni si avvicinano alle reali in O.
Prospettiva sferica leggermente convessa(simile stereografica,semplificata),
conserva proporzioni vicino a O:
X=4*x/(sqr(x^2+y^2+z^2)+2)
Y=4*y/(sqr(x^2+y^2+z^2)+2)
Z=4*z/(sqr(x^2+y^2+z^2)+2)

Proiezione stereografica inversione 2D
d=raggio sfera
X=d^2*x/(x^2+y^2)
Y=d^2*y/(x^2+y^2)

Proiezione stereografica inversione 3D
X=d^2*x/(x^2+y^2+z^2)
Y=d^2*y/(x^2+y^2+z^2)
Z=d^2*z/(x^2+y^2+z^2)

Prospettiva scenica sferica
d=raggio sfera limite, centro  0,0,0
X=x*d/(sqr(x^2+y^2+z^2)+d)
Y=y*d/(sqr(x^2+y^2+z^2)+d)
Z=z*d/(sqr(x^2+y^2+z^2)+d)

Prospettiva scenica cilindrica
asse z=luogo dei punti uniti ed asse cilindro, d=raggio cilindro limite,
traguardo sull'origine 0,0,0
X=x*d/(sqr(x^2+y^2)+d)
Y=y*d/(sqr(x^2+y^2)+d)
Z=z*d/(sqr(x^2+y^2)+d)

Inserisco alcuni esempi di immagini ottenute con alcune di queste formule.