norma de un vector

4
Vectores, normas, ´ angulos Vectores (espacio vectorial) puntos (espacio af´ ın) v P v =(x, y) P =(x, y) x y La longitud o norma del vector u =(u1, u2) se define como u =(u 2 1 + u 2 2) 1/2 El producto escalar de los vectores u =(u1, u2) y v =(v1, v2) es u · v = u1v1 + u2v2 = u v cos α Es decir, cos α = u · v u v u v α Pedro A. Ramos (Depto. Matem´ aticas, UAH) Vectores, normas, ´ angulos Una base de un espacio vectorial es un conjunto de vectores que es sistema de generadores linealmente independiente Si { u, v} es cualquier base de R 2 , todo vector w se puede escribir, de forma ´ unica, como w = α1 u + α2 v (Los escalares α12 se llaman coordenadas del vector en esa base). Trabajaremos con las bases can ´ onicas R 2 : {(1, 0), (0, 1)} = {e1, e2} R 3 : {(1, 0, 0), (0, 1, 0), (0, 0, 1)} = {e1, e2, e3} ¿Por qu´ e? Pedro A. Ramos (Depto. Matem´ aticas, UAH) Vectores, normas, ´ angulos Porque es muy sencillo: (x, y)= x e1 + y e2 = x(1, 0)+ y(0, 1) En general, en geometr´ ıa se trabaja con bases ortonormales vectores unitarios (norma 1) ortogonales 2 a 2 Es decir, una base { u1, u2, u3} de R 3 es ortonormal si ui · ui = 1, i = 1, 2, 3. ui · uj = 0, i , j = 1, 2, 3, i = j . e1 e2 e1 e2 e3 Pedro A. Ramos (Depto. Matem´ aticas, UAH) Proyecci ´ on ortogonal Si u es un vector unitario, la proyecci ´ on ortogonal de w sobre u es w =( w cos α) u =( w · u) u α u w w Por tanto, si {u1, u2} es una base ortonormal de R 2 , w =( w · u1) u1 +( w · u2) u2 (An ´ alogamente, para R 3 ) w u1 u2 Pedro A. Ramos (Depto. Matem´ aticas, UAH)

Transcript of norma de un vector

Page 1: norma de un vector

Vectores, normas, angulos

Vectores (espacio vectorial)puntos (espacio afın)

~v

P ~v = (x, y)

P = (x, y)

x

y

La longitud o norma del vector~u = (u1, u2) se define como

‖~u‖ = (u21 + u2

2)1/2

El producto escalar de los vectores~u = (u1, u2) y ~v = (v1, v2) es

~u · ~v = u1v1 + u2v2 = ‖~u‖ ‖~v‖ cos α

Es decir, cos α =~u · ~v

‖~u‖ ‖~v‖

~u

~vα

Pedro A. Ramos (Depto. Matematicas, UAH)

Vectores, normas, angulos

Una base de un espacio vectorial es un conjunto de vectores que es

sistema de generadores

linealmente independiente

Si {~u, ~v} es cualquier base de R2, todo vector ~w se puede escribir, deforma unica, como

~w = α1~u + α2~v

(Los escalares α1, α2 se llaman coordenadas del vector en esa base).

Trabajaremos con las bases canonicas

R2: {(1, 0), (0, 1)} = {e1, e2}

R3: {(1, 0, 0), (0, 1, 0), (0, 0, 1)} = {e1, e2, e3}

¿Por que?

Pedro A. Ramos (Depto. Matematicas, UAH)

Vectores, normas, angulos

Porque es muy sencillo:

(x , y) = x ~e1 + y ~e2 = x(1, 0) + y(0, 1)

En general, en geometrıa se trabaja con bases ortonormales

vectores unitarios (norma 1)

ortogonales 2 a 2

Es decir, una base {~u1, ~u2, ~u3} deR3 es ortonormal si

~ui · ~ui = 1, i = 1, 2, 3.

~ui · ~uj = 0, i , j = 1, 2, 3, i 6= j .e1

e2

e1

e2

e3

Pedro A. Ramos (Depto. Matematicas, UAH)

Proyeccion ortogonal

Si ~u es un vector unitario, la proyeccionortogonal de ~w sobre ~u es

~w ′ = (‖~w‖ cos α)~u = (~w · ~u)~uα

~u

~w

~w′

Por tanto, si {u1, u2} es una baseortonormal de R2,

~w = (~w · ~u1)~u1 + (~w · ~u2)~u2

(Analogamente, para R3)

~w ~u1~u2

Pedro A. Ramos (Depto. Matematicas, UAH)

Page 2: norma de un vector

Orientacion de una base

~e1

~e2

~u1

~u2

~u1

~u2

~u3

~e1

~e2

~e3

Hay dos posibles orientaciones para unabase de R2 o R3.

Si ~u1 = (x1, y1), ~u2 = (x2, y2) es una basede R2, se dice que esta positivamenteorientada (es decir, igual que lacanonica), si ∣∣∣∣ x1 x2

y1 y2

∣∣∣∣ > 0

(Analogo para R3)

Pedro A. Ramos (Depto. Matematicas, UAH)

Transformaciones lineales

Una aplicacion f : Rn → Rm es lineal si

f (u + v) = f (u) + f (v) para todo u, v ∈ Rn.

f (λ u) = λ f (u) para todo u ∈ Rn, λ ∈ R.

Todas las aplicaciones lineales f : Rn → Rm se pueden expresar enforma matricial: existe A ∈Mm×n de forma que

si X ∈ Rn, f (X ) = A · X ∈ Rm

Obs: en cualquier transformacion lineal, f (~0) = ~0.

Una transformacion afın es la composicion de una transformacionlineal y una traslacion.

Por tanto, una transformacion afın f : R2 → R2 se puede escribir de laforma

f (X ) = A X + b, donde A ∈M2×2, b ∈ R2

Pedro A. Ramos (Depto. Matematicas, UAH)

Transformaciones afines

Una transformacion afın general f : R2 → R2 tiene la forma(x ′

y ′

)=

(a11 a12a21 a22

) (xy

)+

(b1b2

)

Depende de 6 parametros. Por tanto, queda determinada por untriangulo T y su transformado f (T ).

Tf(T )

P

Q

R

f(P )f(Q)

f(R)

f

Pedro A. Ramos (Depto. Matematicas, UAH)

Transformaciones afines

¿Y si queremos visualizar la transformacion “animada”?

Si f (X ) = A X , podemos considerar la interpolacion lineal

At = (1− t) ∗ I + t A → ft(X ) = ((1− t) ∗ I + t A) X

Aplicacion: si se quiere transformar un polıgono mas complicado enotro, se puede hacer “a trozos” (si se consiguen dos triangulacionescompatibles).

T1

T2 T3 T4 T ′1 T ′

2

T ′3

T ′4

Pedro A. Ramos (Depto. Matematicas, UAH)

Page 3: norma de un vector

Transformaciones afines

Si f y g son dos transformaciones afines, y queremos hacer g ◦ f ,aparece un problema:

f (X ) = A1 X + b1

g(X ) = A2 X + b2

g ◦ f (X ) = A2 A1 X + A2 b1 + b2

Solucion ...

Pedro A. Ramos (Depto. Matematicas, UAH)

Coordenadas homogeneas

En coordenadas homogeneas, un punto de R2 se representa con 3numeros reales (y uno de R3 con 4).

Formalmente (para R2),en el conjunto C = {(x , y , w) | x , y , w ∈ R} se define la siguienterelacion de equivalencia:

(x , y , w) ∼ (x ′, y ′, w ′) ⇔ ∃λ 6= 0 tal que (x ′, y ′, w ′) = λ(x , y , w)

¿Como se puede interpretar el conjunto cociente C/ ∼?

C/ ∼ representa el plano R2 junto con las direcciones del infinito

“Receta”

Si w 6= 0, (x , y , w) ∼ (x/w , y/w , 1) ↔ (x/w , y/w) ∈ R2.

(x , y , 0) representa el punto del intinito en la direccion de (x , y)(si x , y) 6= (0, 0)).

(0, 0, 0) ↔ (0, 0) ∈ R2

Pedro A. Ramos (Depto. Matematicas, UAH)

Coordenadas homogeneas

OpenGL (y el resto de herramientas similares) utilizan siempre (almenos a nivel interno), coordenadas homogeneas.

Permiten trabajar con puntos del infinito (direcciones).

Evitan el problema del crecimiento de las expresiones alcomponer transformaciones afines:

(x ′

y ′

)=

(a11 a12a21 a22

) (xy

)+

(b1b2

)→

x ′

y ′

1

=

a11 a12 b1a21 a22 b20 0 1

xy1

En resumen,

Xh =

xy1

Ah =

(A b0 1

)→ X ′

h = Ah Xh

Pedro A. Ramos (Depto. Matematicas, UAH)

Transformaciones rıgidas. Matrices ortogonales

Se dice que una transformacion f : Rn → Rn es una transformacionrıgida o isometrıa si conserva los angulos y las distancias.(En ese caso, conserva tambien areas y volumenes).

Si la transformacion se escribe f (X ) = AX + b, con A ∈Mn, se tiene

f es una transformacion rıgida ⇔ A · At = I

Las matrices que verifican A · At = I se llaman matrices ortogonales.

Obs:

Si A es una matriz ortogonal, det A = ±1.

En general, |det A| mide la distorsion que produce latransformacion f (X ) = AX + b en areas y volumenes.

El signo de det A mide si la transformacion conserva o no laorientacion.

Pedro A. Ramos (Depto. Matematicas, UAH)

Page 4: norma de un vector

Transformaciones en R2.

Una transformacion afın general f : R2 → R2 se escribe(x ′

y ′

)=

(a11 a12a21 a22

) (xy

)= A X + b

En coordenadas homogeneas, x ′

y ′

1

=

a11 a12 b1a21 a22 b20 0 1

xy1

= Ah Xh

Pedro A. Ramos (Depto. Matematicas, UAH)

Transformaciones rıgidas en R2.

Traslacion de vector(

ab

).

Giro de angulo α alrededor del origen.

Simetrıa respecto de la recta y = ax .

El resto de transformaciones se pueden obtener comocomposicion de estas.

Ejemplo: obtener la expresion matricial del giro de angulo αalrededor del punto P.

P

X

X ′

α

O

T−P

TPα

Gα,P = TP ◦ Gα,O ◦ T−P

Pedro A. Ramos (Depto. Matematicas, UAH)

Transformaciones no rıgidas.

1 - Escalado (con respecto al origen).

A =

(λ1 00 λ2

)b = 0

2 - Deslizamiento. (“Shear”)

Sx =

(1 s0 1

)Sy =

(1 0s 1

)

Pedro A. Ramos (Depto. Matematicas, UAH)

Matrices en OpenGL

Las transformaciones basicas estan implementadas enOpenGL. (Traslacion, escalado, giro).

Para transformaciones mas complicadas, se pueden manejarmatrices directamente.

Comandos basicos: glLoadMatrixf(), glMultMatrixf()

Importante: glLoadMatrixf() lee las matrices por columnas. Portanto, si declaramos M[4][4], elemento M[i][j] columna i fila j (alreves que en C). Solucion: declarar M[16]

Programas de ejemplo: transf-2d-ej1, pilas-matrices, Mi animacion

Pedro A. Ramos (Depto. Matematicas, UAH)