Lololo
Salim Perchy
Pontificia Universidad Javeriana - Sec. Cali
3 de febrero deCali 2009
Cali
1
Vectores Definici´n o Representaci´n computacional o Igualdad Magnitud
Normalizaci´n o
Operaciones
Adici´n o Substracci´n o Multiplicaci´n por constante o Producto Punto Producto Cruz
2
Matrices Definici´n o Operaciones
SumaMultiplicaci´n por constante o Resta Multiplicaci´n o
Representaci´n Computacional o Matriz Indentidad
3
Transformaciones Traslaci´n o
Representaci´n Computacional o
Rotaci´n o
Representaci´n Computacional o
Escalaci´n o
Representaci´n Computacional o
Puntos y Vectores M´ltiples transformaciones u
4
Planos Definici´n o Representaci´n Computacional o Rayos Definici´n o Representaci´ncomputacional o Intersecci´n entre un rayo y un plano o
5
Definici´n I o
Geom´tricamente, un vector es un segmento de l´ e ınea dirigido. Tiene 2 propiedades intr´ ınsicas:
1 2
Magnitud Direcci´n o
Definici´n II o
Los vectores no tienen una localizaci´n asociada por lo tanto, o vectores con la misma magnitud y direcci´n son considerados o iguales.
B C A Cola Cabeza
Definici´nIII o
Los vectores pueden ser descritos relativos a un sistema de coordenadas. Cuando la cola de un vector coincide con el origen del sistema de coordenadas se dice que est´ en posici´n est´ndar. a o a
y
A x
C=B
Definici´n IV o
El sistema de coordenas que usaremos es uno tres dimensional, 3 . Por lo tanto los vectores ser´n representandos por la ubicaci´n de a o su cabeza, v = (vx ,vy , vz ). Vectores importantes: 0 = (0, 0, 0) ˆ = (1, 0, 0) ı ˆ = (0, 1, 0) ˆ k = (0, 0, 1)
Definici´n V o
Un vector con una magnitud igual a 1 es llamado vector unidad
y z j i x
k 0
Representaci´n computacional I o
En C++ podemos representar un vector de 3 dimensiones de la siguiente manera: typedef s t r u c t v e c t o r { GLfloat x ; GLfloat y ; GLfloat z ; } VECTOR ;VECTOR v = { 0 . 5 f , 0 . 5 f , 0 . 5 f } ;
Representaci´n computacional II o
En DirectX el vector ya est´ definido por la clase D3DXVECTOR3 a D3DXVECTOR3 i ( 1 . 0 f , 0 . 0 f , 0 . 0 f ) ; D3DXVECTOR3 j ( 0 . 0 f , 1 . 0 f , 0 . 0 f ) ; D3DXVECTOR3 k ( 0 . 0 f , 0 . 0 f , 1 . 0 f ) ;
Igualdad I
2 vectores se dicen iguales si apuntan a la misma direcci´n y tienen o la misma magnitud. Siest´n en un sistema de coordenadas se a puede resumir si todos sus puntos son iguales. En DirectX el operador de igualdad(==) est´ sobrecargado y a puede hacer esta operaci´n. o
Igualdad II
En OpenGL se puede definir: GL bo olean V e c t o r E q u a l (VECTOR v1 , VECTOR v2 ) { GL boolean r e s = ( v1 . x == v2 . x ) && ( v1 . y == v2 . y ) && ( v1 . z == v2 . z ) ; return r e s ; }Magnitud I
La magnitud o norma de un vector est´ definido de la siguiente a manera: v = vx 2 + vy 2 + vz 2
Magnitud II
En DirectX tenemos la siguiente funci´n definida: o f l o a t D3DXVec3Length ( const D3DXVECTOR3∗ pV // V e c t o r a s a c a r // s u norma );
Magnitud III
En OpenGL podemos definir la operaci´n as´ o ı: G L f l o a t V e c t o r L e n g t h (VECTOR v ) { return s q rt ( ( v . x ∗ v . x ) + ( v.y ∗ v.y ) + ( v. z ∗ v. z ) ); }
Normalizaci´n I o
Normalizar un vector significa convertirlo en un vector unidad, se puede hacer mediante el siguiente proceso: v= ˆ v v =( vy vx vz , , ) v v v
Normalizaci´n II o
DirectX tiene su propia funci´n: o D3DXVECTOR3∗ D3DXVec3Normalize ( D3DXVECTOR3∗ pOut , // R e s u l t a d o const D3DXVECTOR3∗ pV // V e c t o ra n o r m a l i z a r );
Normalizaci´n III o
En OpenGL hay que definirlo: v o i d N o r m a l i z e V e c t o r (VECTOR v , VECTOR∗ o u t ) { GLfloat len = VectorLength ( v ) ; out−>x = v . x / l e n ; out−>y = v . y / l e n ; out−>z = v . z / l e n ; }
Operaciones sobre vectores
Las siguientes operaciones sobre vectores est´n definidas: a Adici´n o Substracci´n o Multiplicaci´n por...
Regístrate para leer el documento completo.