Cosa sono lo "spazio del mondo" e lo "spazio degli occhi" nello sviluppo del gioco?


16

Sto leggendo un libro sui concetti 3D e OpenGL. Il libro parla sempre dello spazio del mondo , dello spazio degli occhi e così via.

  • Che cos'è esattamente un mondo all'interno dello schermo del monitor del computer?

  • Qual è lo spazio mondiale?

  • Cos'è lo spazio oculare? È sinonimo di proiezione?




1
SO è domanda duplicato: stackoverflow.com/questions/19946652/...

Risposte:


25

Prima di capire cos'è il mondo o lo spazio degli occhi, cos'è uno spazio?

In senso astratto, uno spazio geometrico (ad esempio lo spazio euclideo) è un'estensione illimitata in cui gli oggetti tendono ad esistere. Lo spazio definisce le proprietà di base che gli oggetti che vivono in questo spazio dovrebbero soddisfare. Ad esempio, nello spazio euclideo la distanza è definita come Sqrt( vector dot product with itself).

Molte persone tendono a mescolarsi tra la definizione di spazio e sistema di coordinate. Uno spazio come spazio euclideo definisce le proprietà ma non definisce il sistema di coordinate, direi che "spazio dell'occhio" è meglio chiamato "coordinate dell'occhio".

Nella computer grafica ci occupiamo quasi esclusivamente dello spazio euclideo. Quando definisci un vertice di (X, Y, Z) nello spazio euclideo non significa niente per noi.

Una definizione più tangibile sarebbe quella di definirla in relazione a qualche sistema di coordinate. Ad esempio un vertice (X, Y, Z) è relativo alle coordinate oculari. Quindi se Vertex = (0,2,3) rispetto alle coordinate oculari. significa che questo vertice è:

  • 0 nella direzione X dalla posizione X dell'occhio.
  • 2 nella direzione Y dalla posizione Y dell'occhio.
  • 3 nella direzione Z dalla posizione Z dell'occhio.
  • E la distanza del vertice dall'occhio è sqrt (0 ^ 2 + 2 ^ 2 + 3 ^ 2) = sqrt (13) unità.

Ma cosa sono le coordinate oculari e come si definisce un sistema di coordinate?

Definiamo un sistema di coordinate fornendo tre vettori di base ortogonale (leggi: lunghezza unitaria e perpendicolare) che ricorda l'orientamento e una posizione (traduzione). inserisci qui la descrizione dell'immagine

Quindi, se è stata definita la telecamera in openGL (si noti che questo è relativo alle coordinate del mondo):

 - Position (0,3,10)
 - Up       (0,1,0)
 - Forward  (0,0,-1)
 - Right    (1,0,0)

Ciò significa che lo spettatore si sta posizionando a (0,3,10) dal mondo (0,0,0) e la sua destra è allineata con l'asse X del mondo, e la sua prua è invertita rispetto al mondo Z, e la sua su è allineata al mondo Y.

inserisci qui la descrizione dell'immagine

Ma hai parlato troppo delle coordinate oculari, quali sono le coordinate mondiali?

Le coordinate del mondo sono solo un sistema di coordinate padre fisso. Le coordinate dell'occhio stesso dovrebbero essere relative a qualcosa. Questo è il sistema di coordinate globale a cui tutto è definito rispetto.

La coordinata mondiale ha una i = (1,0,0) fissa nella direzione X, j = (0,1,0) nella direzione Y, k = (0,0,1) nella direzione Z. Questi sono i vettori che definiscono il sistema di coordinate cartesiane.

Ma questo non ha senso! Quali sono le coordinate a cui sono definite le coordinate mondiali rispetto?

Direi che è relativo a se stesso, in realtà sarebbe il centro dell'universo (ma è troppo semplicistico).

Ma in un senso più pratico, direi che in Computer Graphics è conveniente definire lo spazio mondiale come il centro dell'universo (mondo di gioco) in modo da poter immaginare come le cose possano relazionarsi l'una con l'altra.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.