2012-05-17 26 views
6

Spesso vedo le parole "vettore" e "vertice" (plurale "vertici") utilizzate in contesti di programmazione 3D.Qual è la differenza tra un vettore e un vertice?

Da quello che posso dire, entrambi descrivono un punto nello spazio n-dimensionale. Il framework XNA ad esempio ha classi Vector2, Vector3 e Vector4, ma sembra che non ci sia una classe Vertex.

Qual è la differenza esatta tra un vettore e un vertice?

risposta

13

A 'vector' è un concetto matematico; crude, rappresenta uno spostamento in qualche spazio di coordinate. Un vertice è un elemento di alcune geometrie 3D (o 2D, in realtà) che tipicamente hanno una posizione e altri attributi (colore, coordinate della trama, eccetera).

La posizione di un vertice (e quindi talvolta il vertice stesso) può essere rappresentata da un vettore se si assume che il vettore sia uno spostamento dall'origine del sistema di coordinate. A volte le persone chiamano questa rappresentazione di un vettore un "vettore di posizione".

Quindi, grosso modo, la differenza è che i vettori possono essere utilizzati per descrivere (in tutto o in parte) un vertice.

+5

La parte importante da notare qui è che un vettore contiene solo i dati posizionali, mentre un vertice può (e di solito lo fa) contenere più informazioni rispetto alla sua posizione. – CodeHxr

+0

In XNA, e possibilmente in altri framework grafici 3D, esiste una classe Vector4. Dato che gli umani possono ancora osservare solo 3 dimensioni spaziali, la classe Vector4 è usata per i vertici? Se è così, perché si chiama un vettore? – lesderid

+3

@lesderid Più formalmente, i vettori sono un elemento di uno spazio vettoriale e possono avere n coordinate. Mentre è vero che i vettori dimensionali a 1, 2 e 3 hanno delle relazioni geometriche convenienti con lo spazio 3D che gli esseri umani possono visualizzare, che di per sé non è una proprietà intrinseca dei vettori. Detto questo, i vettori a 4 componenti sono comunemente usati come attributi di vertici (tipicamente per attributi di posizione o di colore). Sono utili per la posizione perché consentono trasformazioni a matrice 4x4 e sono utili per i colori solo perché sono in grado di memorizzare quattro componenti (RGBA). –

Problemi correlati