norma de un vector
-
Upload
armando-alvarez -
Category
Documents
-
view
209 -
download
0
Transcript of 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)
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)
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)
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)