Lololo

Solo disponible en BuenasTareas
  • Páginas : 12 (2846 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de agosto de 2012
Leer documento completo
Vista previa del texto
Computaci´n Gr´fica - Fundamentos Matem´ticos o a a
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...
tracking img