Newsgroup: it.comp.hardware.video-3d
Titolo: Fanatici del 3D

Studiando la programmazione del 3D e la proiezione prospettica per ottenere
un punto tridimensionale su un monitor non capisco perche' si dica che per
uttenere la proiezione del punto x,y,z per tramutarle in coordinate m_x,m_y
dello schermo si debba usare la seguente formula:
m_x=x/z
e
m_y=y/z
supponiamo di avere un punto (x,y,z) a coordinate 10,0,1:
la proiezione su schermo diverrebbe:
m_x= 10/1=10
m_y=0/1=0
quindi il punto 3D 10,0,1 equivarrebbe al punto 2D 10,0
Ma se incremento la z di un' unita' allora:
m_x=10/2=5
m_y=0/2=0
il nuovo punto 2D andrebbe a coordinate 5,0.
Non vi sembra che prospetticamente sia errato ?
Per lo meno non e' cio' che accade nella prospettiva reale.
Qualcuno che sia ferrato sull' argomento ?
Simone Tromboni 
squa...@tin.it

Non vi sembra che prospetticamente sia errato ?
no: hai allontanato l'oggetto (la nuova z e' maggiore di quella
vecchia) per cui la proiezione dello stesso va verso il fuoco
(l'origine degli assi, tipicamente al centro del monitor)
devi tener conto che:
- hai raddoppiato la distanza del punto dal tuo pdv, per cui e'
normale che anche la proiezione 2d cambi radicalmente.
- gli incrementi non devono essere necessariamente interi
bye,
Luca !KiChKaHa! Barbetta

>Qualcuno che sia ferrato sull' argomento ?
Ho fatto l'esame di geometria (ingegneria), penso di essere abbastanza
ferrato.
Il tutto dipende dalla prospettiva che adotti.
La tua formula per (x,y,z) assi ortogonali --> proiezione (x1,y1) non
penso sia corretta.
Ma come prendi gli assi ?
Tanto per intenderci:
^ y         ^
|           /   z
|         /
|       /
|     /
|   /
| /----------------------------->   x
per questi assi se z=0, (x1,y1) viene sballato con le tue formule.
Ecco le mie formule:
x,y,z --> x1,y1
y1=y
x1=x+radice(z^2-y^2)   Teorema di pitagora (quello che sta dopo la x)
Se gli assi non sono ortogonali, sono cazzi perche' il teo. di
pitagora non si puo' piu' applicare. Bisogna applicare qualcosa di
piu' complicato.
ciao !!
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
Francesco Balduini              
baldus                  
bi...@tin.it
 
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
http://space.tin.it/musica/cbalduin
(la soluzione di Monkey3, come costruire un volante con meno di 40000,
Micromachines2 e Ignition records, my 3d Art Page, links a Fifa98,Wc98)   
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
http://www.freeweb.org/computer/baldo/
(my 3d Art Page, i miei programmi didattici in C,
e NOVITA' i records di Toca)
‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡



piu' complicato.
Si applica il teorema di Carnot (possiamo dire che quello di pitagora
è un'estensione a questo anche se antecedente)
un triangolo qualsiasi ABC: AB²=BC²+AC² -2AB*BC*cosß con ß= l'angolo C
byez,
	      Alessio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://skizzo.freeweb.org
  (U.C.)
  --< 
ski...@freeweb.org
 >--
  		ICQ: 6168664
   personal site: 
ftp://skizzo.dynip.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In VRML č diverso:
Z            X
 |          /
 |        /
 |      /
 |    /
 |  /
 |/____________  Y
in pratica guardando dall'alto si ha un normale piano xoy e z č
"l'altezza" nel sistema.
quindi i calcoli sono diversi


è un'estensione a questo
In realta' il teorema di pitagora e' un caso particolare e
semplificato del teo di Carnot (basta prendere ß=90° -> cos ß=0 -> teo
di pitagora)


 |/____________  Y
ops, correzione: l'origine degli assi è "in fondo" allo schermo, al
centro.
