Saltar al contenido principal

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$

( \newcommand{\kernel}{\mathrm{null}\,}\) $$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\id}{\mathrm{id}}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\kernel}{\mathrm{null}\,}$$

$$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$

$$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$

$$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\AA}{\unicode[.8,0]{x212B}}$$

$$\newcommand{\vectorA}[1]{\vec{#1}} % arrow$$

$$\newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow$$

$$\newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vectorC}[1]{\textbf{#1}}$$

$$\newcommand{\vectorD}[1]{\overrightarrow{#1}}$$

$$\newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}}$$

$$\newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}}$$

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\avec}{\mathbf a}$$ $$\newcommand{\bvec}{\mathbf b}$$ $$\newcommand{\cvec}{\mathbf c}$$ $$\newcommand{\dvec}{\mathbf d}$$ $$\newcommand{\dtil}{\widetilde{\mathbf d}}$$ $$\newcommand{\evec}{\mathbf e}$$ $$\newcommand{\fvec}{\mathbf f}$$ $$\newcommand{\nvec}{\mathbf n}$$ $$\newcommand{\pvec}{\mathbf p}$$ $$\newcommand{\qvec}{\mathbf q}$$ $$\newcommand{\svec}{\mathbf s}$$ $$\newcommand{\tvec}{\mathbf t}$$ $$\newcommand{\uvec}{\mathbf u}$$ $$\newcommand{\vvec}{\mathbf v}$$ $$\newcommand{\wvec}{\mathbf w}$$ $$\newcommand{\xvec}{\mathbf x}$$ $$\newcommand{\yvec}{\mathbf y}$$ $$\newcommand{\zvec}{\mathbf z}$$ $$\newcommand{\rvec}{\mathbf r}$$ $$\newcommand{\mvec}{\mathbf m}$$ $$\newcommand{\zerovec}{\mathbf 0}$$ $$\newcommand{\onevec}{\mathbf 1}$$ $$\newcommand{\real}{\mathbb R}$$ $$\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}$$ $$\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}$$ $$\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}$$ $$\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}$$ $$\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}$$ $$\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}$$ $$\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}$$ $$\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}$$ $$\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}$$ $$\newcommand{\laspan}[1]{\text{Span}\{#1\}}$$ $$\newcommand{\bcal}{\cal B}$$ $$\newcommand{\ccal}{\cal C}$$ $$\newcommand{\scal}{\cal S}$$ $$\newcommand{\wcal}{\cal W}$$ $$\newcommand{\ecal}{\cal E}$$ $$\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}$$ $$\newcommand{\gray}[1]{\color{gray}{#1}}$$ $$\newcommand{\lgray}[1]{\color{lightgray}{#1}}$$ $$\newcommand{\rank}{\operatorname{rank}}$$ $$\newcommand{\row}{\text{Row}}$$ $$\newcommand{\col}{\text{Col}}$$ $$\renewcommand{\row}{\text{Row}}$$ $$\newcommand{\nul}{\text{Nul}}$$ $$\newcommand{\var}{\text{Var}}$$ $$\newcommand{\corr}{\text{corr}}$$ $$\newcommand{\len}[1]{\left|#1\right|}$$ $$\newcommand{\bbar}{\overline{\bvec}}$$ $$\newcommand{\bhat}{\widehat{\bvec}}$$ $$\newcommand{\bperp}{\bvec^\perp}$$ $$\newcommand{\xhat}{\widehat{\xvec}}$$ $$\newcommand{\vhat}{\widehat{\vvec}}$$ $$\newcommand{\uhat}{\widehat{\uvec}}$$ $$\newcommand{\what}{\widehat{\wvec}}$$ $$\newcommand{\Sighat}{\widehat{\Sigma}}$$ $$\newcommand{\lt}{<}$$ $$\newcommand{\gt}{>}$$ $$\newcommand{\amp}{&}$$ $$\definecolor{fillinmathshade}{gray}{0.9}$$

En la sección anterior pudimos combinar rotación y escalado en una sola operación compuesta por multiplicación matricial. Desafortunadamente, la traducción aún no se puede incluir en el operador compuesto, ya que la hacemos por adición y no por multiplicación.

## Ejemplo$$\PageIndex{1}$$

Supongamos que deseamos rotar la imagen$$G$$$$\frac{\pi}{3}$$ alrededor del punto (−10,10). Nuestra matriz de rotación R ($$\theta$$) siempre gira alrededor del origen, por lo que debemos combinar tres transformaciones para lograr esto:

1. traducir el punto (−10,10) al origen;
2. rotar$$\frac{\pi}{3}$$ radianes alrededor del origen; y
3. traducir el origen de nuevo a (−10,10).

Para el paso (i), tenemos\ (b_ {0} =\ left [\ begin {array} {l}
10\\
-10
\ end {array}\ right]\) y

$\mathrm{G}_{1}=\mathrm{G}+\mathrm{b}_{0} 1^{T} \nonumber$

Para la etapa ii),

\ [\ begin {align}
\ mathrm {G} _ {2} &=\ mathrm {R}\ izquierda (\ frac {\ pi} {3}\ derecha)\ mathrm {G} _ {1}\ nonumber\\
&=\ mathrm {R}\ izquierda (\ frac {\ pi} {3}\ derecha)\ izquierda [\ mathrm {G} +\ mathrm {b} _ {0} 1^ {T}\ derecha]\ nonumber\\
&=\ mathrm {R}\ izquierda (\ frac {\ pi} {3}\ derecha)\ mathrm {G} +\ mathrm {R}\ izquierda (\ frac {\ pi} {3}\ derecha)\ mathrm {b} _ {0} 1^ {T}.
\ end {align}\ nonumber\]

Para el paso (iii), podemos usar −$$b_0$$ del paso (i):

\ [\ begin {align}
\ mathrm {G} _ {\ text {new}} &=\ mathrm {G} _ {2} -\ mathrm {b} _ _ {0} 1^ {T}\ nonumber\\
&=\ mathrm {R}\ left (\ frac {\ pi} {3}\ derecha)\ mathrm {G} +\ mathrm {R} izquierda\ (\ frac {\ pi} {3}\ derecha)\ mathrm {b} _ {0} 1^ {T} -\ mathrm {b} _ {0} 1^ {T}\ nonumber\\
&=\ mathrm {R}\ left (\ frac {\ pi} {3}\ derecha)\ mathrm {G} +\ izquierda [\ izquierda (\ mathrm {R}\ izquierda (\ frac {\ pi} {3}\ derecha) -\ mathrm {I}\ derecha)\ mathrm {b} _ {0}\ derecha] 1^ {T}.
\ end {align}\ nonumber\]

En este ejemplo no pudimos encontrar un solo operador de matriz$$A$$ para hacer todo el trabajo. La transformación total tomó la forma

$\mathrm{G}_{\text {new }}=\mathrm{AG}+\mathrm{b} 1^{T} \nonumber$

Esto se denomina transformación afín porque implica tanto la multiplicación por como$$A$$ la adición de una matriz constante. Esto contrasta con la transformación lineal más deseable, que implica sólo multiplicar por$$A$$.

Ahora vamos a avanzar hacia una representación modificada de la imagen y los operadores reescribiendo la última ecuación como

\ [\ mathrm {G} _ {\ text {new}} = [\ mathrm {Ab}]\ left [\ begin {array} {l}
\ mathrm {G}\\
1^ {T}
\ end {array}\ derecha]\ nonumber\]

donde en el ejemplo tuvimos$$A = \mathrm{R}\left(\frac{\pi}{3}\right)$$ y$$b=\left(\mathrm{R}\left(\frac{\pi}{3}\right)-\mathrm{I}\right) b_{0}$$.

## Ejercicio$$\PageIndex{1}$$

Demostrar que, para cualquier matriz A, B, C, D de tamaños compatibles,

\ [\ mathrm {AB} +\ mathrm {CD} =\ left [\ begin {array} {ll}
A &\ mathrm {C}
\ end {array}\ right]\ left [\ begin {array} {l}
\ mathrm {B}\
\ mathrm {D}
\ end {array}\ right]\ nonumber\]

La matriz\ (\ left [\ begin {array} {l}
\ mathrm {G}\\
1^ {T}
\ end {array}\ right]\) parece

\ [\ left [\ begin {array} {lll}
x_ {1} & x_ {2} & x_ {n}\\
y_ {1} & y_ {2} & y_ {n}\\
1 & 1 & 1
\ end {array}\ derecha]\ nonumber\]

y los puntos$$(x_i,y_i,1)$$ se denominan coordenadas homogéneas. Podemos modificar la Ecuación 5 para que la nueva matriz de puntos esté también en coordenadas homogéneas:

\ [\ left [\ begin {array} {l}
\ mathrm {G} _ {\ text {new}}\\
1^ {T}
\ end {array}\ right] =\ left [\ begin {array} {ll}
\ mathrm {A} &\ mathrm {b}\
\ mathrm {O} ^ {T} & 1
\ end {array}\ right]\ left [begin\ {array} {l}
\ mathrm {G} \\
1^ {T}
\ end {array}\ derecha]\ nonumber\]

En la nueva representación, cada punto de la imagen tiene una tercera coordenada, que siempre es un 1. La transformación homogénea es una matriz 3×3,

\ [\ mathrm {A} _ {h} =\ left [\ begin {array} {ll}
\ mathrm {A} &\ mathrm {b}\\
0^ {T} & 1
\ end {array}\ derecha]\ text {,}\ nonumber\]

que es capaz de traslación, rotación y escalado, todo por multiplicación matricial. Así, usando coordenadas homogéneas, podemos construir transformaciones compuestas que incluyen la traducción.

\ [\ mathrm {R} (\ theta) =\ left [\ begin {array} {lll}
\ cos\ theta & -\ sin\ theta & 0\\\ sin
\ theta &\ cos\ theta & 0\\
0 & 0 & 0 & 1
\ end {array}\ derecha]\ nonumber\]

\ [\ mathrm {S}\ izquierda (s_ {x}, s_ {y}\ derecha) =\ izquierda [\ begin {array} {lll}
s_ {x} & 0 & 0\\
0 & s_ {y} & 0\\
0 & 0 & 1
\ end {array}\ derecha]\ nonumber\]

\ [\ mathrm {T}\ izquierda (t_ {x}, t_ {y}\ derecha) =\ izquierda [\ begin {array} {lll}
1 & 0 & t_ {x}\\
0 & 1 & t_ {y}\\
0 & 0 & 1
\ end {array}\ derecha]\ nonumber\]

## Ejemplo$$\PageIndex{2}$$

La transformación compuesta para triplicar el tamaño de una imagen y luego moverla 2 unidades a la izquierda es

\ [\ mathrm {A} =\ left [\ begin {array} {lll}
1 & 0 & -2\\
0 & 1 & 0\\ 0 &
0 & 1
\ end {array}\ right]\ left [\ begin {array} {lll}
3 & 0 & 0\\ 0 & 3 &
0\\ 0 & 0\ 0 &
0 & 0 & 1
\ end {array}\ right] =\ left [\ begin {array} {lll}
3 & 0 & -2\\
0 & 3 & 0\\
0 & 0 & 0 & 1
\ end {array}\ derecha]\ nonumber\]

Por otro lado, la transformación compuesta para mover una imagen 2 unidades a la izquierda y luego triplicar su tamaño es

\ [\ mathrm {B} =\ left [\ begin {array} {lll}
3 & 0 & 0\\ 0 & 3 &
0\\ 0 &
0 & 0 & 1
\ end {array}\ right]\ left [\ begin {array} {lll}
1 & 0 & 2\\ 0 & 1 &
0\ 0 & 0 & 0 & 1 & 0\
0
\ end {array}\ right] =\ left [\ begin {array} {lll}
3 & 0 & -6\\
0 & 3 & 0\\
0 & 0 & 0 & 1
\ end {array}\ derecha]\ nonumber\]

En este último caso, también se triplicó la distancia de la traslación.

## Ejercicio$$\PageIndex{2}$$

Encuentre una única transformación compuesta en coordenadas homogéneas que rote una imagen por ángulo$$\theta$$ alrededor del punto$$(x_i,y_i)$$ como en el Ejemplo 1.

This page titled 5.5: Coordenadas homogéneas is shared under a CC BY 3.0 license and was authored, remixed, and/or curated by Louis Scharf (OpenStax CNX) via source content that was edited to the style and standards of the LibreTexts platform.