Матрице преласка и хомогене координате

[верзија 0.1, 23. септембар 2009.]

Страхиња Радић

Нека су e=(e1,e2,,en)e=(e_1, e_2, \ldots, e_n) и e=(e1,e2,,en)e'=(e'_1, e'_2, \ldots, e'_n) базе nn-димензионалног векторског простора VnV^n. Даље, нека су координате вектора vv, где је A=O+vA=O+v, у бази ee једнаке x1x_1, x2x_2, \ldots, xnx_n, а у бази ee' једнаке x1x'_1, x2x'_2, \ldots, xnx'_n.

Осим тога, нека је матрица CC таква да су јој колоне координате вектора старе базе у новој. Ове координате су бројеви којима се множе вектори нове базе да би се добили вектори старе:

e1=c11e1+c21e2++cn1en, en=c1ne1+c2ne2++cnnen,(1)\tag{1}\begin{aligned}e_1&={c_{11}}\cdot e'_1+{c_{21}}\cdot e'_2+\ldots+{c_{n1}}\cdot e'_n\text{,}\\&\ \,\vdots\\e_n&=c_{1n}\cdot e'_1+c_{2n}\cdot e'_2+\ldots+c_{nn}\cdot e'_n\text{,}\end{aligned}

тј.

e=eC,C=[c11c12c1nc21c22c2ncn1cn2cnn].e=e'C\text{,}\qquad C=\begin{bmatrix}{c_{11}}&c_{12}&\cdots&c_{1n}\\{c_{21}}&c_{22}&\cdots&c_{2n}\\\vdots&\vdots&&\vdots\\{c_{n1}}&c_{n2}&\cdots&c_{nn}\end{bmatrix}\text{.}

Ова матрица, CC, се назива матрицом преласка са нове базе на стару. Дакле, формулама (1) исказујемо векторе старе базе, e1e_1, e2e_2, \ldots, ene_n преко вектора нове, e1e'_1, e2e'_2, \ldots, ene'_n, ефективно изражавајући векторе старе базе у новој бази.

Ако се ради о афином простору, за репер је, поред базе придруженог векторског простора, битна и тачка коју смо изабрали за координатни почетак, тачка OO. Ако су њене координате у новој бази (бројеви којима се множе вектори нове базе) једнаке c1(n+1)c_{1(n+1)}, c2(n+1)c_{2(n+1)}, \ldots, cn(n+1)c_{n(n+1)}, онда тачку OO представљамо у бази ee' на следећи начин:

O=c1(n+1)e1+c2(n+1)e2++cn(n+1)en.O=c_{1(n+1)}\cdot e'_1+c_{2(n+1)}\cdot e'_2+\cdots+c_{n(n+1)}\cdot e'_n\text{.}

Напишимо сада израз за тачку AA у старој бази и сведимо га на израз за исту тачку у новој бази:

A=v+O=x1e1+x2e2++xnen+O==x1(c11e1++cn1en)+=+x2(c12e1++cn2en)+=++=+xn(c1ne1++cnnen)+=+c1(n+1)e1++cn(n+1)en\begin{aligned}A&=v+O=x_1\cdot e_1+x_2\cdot e_2+\cdots+x_n\cdot e_n+O=\\&=x_1\cdot(c_{11}\cdot e'_1+\cdots+c_{n1}\cdot e'_n)+\\&\phantom{=}+x_2\cdot(c_{12}\cdot e'_1+\cdots+c_{n2}\cdot e'_n)+\\&\phantom{=}+\cdots+\\&\phantom{=}+x_n\cdot(c_{1n}\cdot e'_1+\cdots+c_{nn}\cdot e'_n)+\\&\phantom{=}+c_{1(n+1)}\cdot e'_1+\cdots+c_{n(n+1)}\cdot e'_n\end{aligned}

Сада групишимо чланове уз векторе нове базе:

A=e1(x1c11+x2c12++xnc1n+c1(n+1))+=+e2(x1c21+x2c22++xnc2n+c2(n+1))+=++=+en(x1cn1+x2cn2++xncnn+cn(n+1)),\begin{aligned}A&=e'_1\cdot(x_1\cdot c_{11}+x_2\cdot c_{12}+\cdots+x_n\cdot c_{1n}+c_{1(n+1)})+\\&\phantom{=}+e'_2\cdot(x_1\cdot c_{21}+x_2\cdot c_{22}+\cdots+x_n\cdotc_{2n}+c_{2(n+1)})+\\&\phantom{=}+\cdots+\\&\phantom{=}+e'_n\cdot(x_1\cdot c_{n1}+x_2\cdot c_{n2}+\cdots+x_n\cdotc_{nn}+c_{n(n+1)})\text{,}\end{aligned}

тј.:

A=e(CxT+Oe),x=(x1,x2,,xn)=ve.A=e'\cdot(Cx^{\text T}+O_{e'})\text{,}\qquad x=(x_1, x_2, \ldots,x_n)=v_{e'}\text{.}

Одавде су координате вектора vv у новој бази xT=CxT{x'}^{\text T}=Cx^{\text T}, односно матрица преласка са нове базе на стару је уједно матрица која преводи координате вектора тачке у старој бази на координате у новој бази.

Увођењем хомогених координата имамо xi=ξiξn+1x_i=\frac{\xi_i}{\xi_{n+1}}, па је:

A=ξ1ξn+1e1+ξ2ξn+1e2++ξnξn+1en+O.A=\frac{\xi_1}{\xi_{n+1}}\cdot e_1+\frac{\xi_2}{\xi_{n+1}}\cdot e_2+\cdots+\frac{\xi_n}{\xi_{n+1}}\cdot e_n+O\text{.}

Множењем претходне једнакости са ξn+1\xi_{n+1} добијамо:

ξn+1A=ξ1e1+ξ2e2++ξnen+ξn+1O.\xi_{n+1}A=\xi_1\cdot e_1+\xi_2\cdot e_2+\cdots+\xi_n\cdot e_n+\xi_{n+1}O\text{.}

Превођењем у нову базу добијамо:

ξn+1A=ξ1(c11e1+cn1en)+=ξ2(c12e1+cn2en)+=++=ξn(c1ne1+cnnen)+=ξn+1(c1(n+1)e1++cn(n+1)en)\begin{aligned}\xi_{n+1}A&=\xi_1\cdot(c_{11}\cdot e'_1+\cdots c_{n1}\cdot e'_n)+\\&\phantom{=}\xi_2\cdot(c_{12}\cdot e'_1+\cdots c_{n2}\cdot e'_n)+\\&\phantom{=}+\cdots+\\&\phantom{=}\xi_n\cdot(c_{1n}\cdot e'_1+\cdots c_{nn}\cdot e'_n)+\\&\phantom{=}\xi_{n+1}\cdot(c_{1(n+1)}\cdot e'_1+\cdots+c_{n(n+1)}\cdot e'_n)\end{aligned}

Груписањем следи:

ξn+1A=e1(ξ1c11+ξ2c12++ξnc1n+ξn+1c1(n+1))+=+e2(ξ1c21+ξ2c22++ξnc2n+ξn+1c2(n+1))+=++=+en(ξ1cn1+ξ2cn2++ξncnn+ξn+1cn(n+1)),\begin{aligned}\xi_{n+1}A&=e'_1\cdot(\xi_1\cdot c_{11}+\xi_2\cdot c_{12}+\cdots+\xi_n\cdot c_{1n}+\xi_{n+1}c_{1(n+1)})+\\&\phantom{=}+e'_2\cdot(\xi_1\cdot c_{21}+\xi_2\cdot c_{22}+\cdots+\xi_n\cdot c_{2n}+\xi_{n+1}c_{2(n+1)})+\\&\phantom{=}+\cdots+\\&\phantom{=}+e'_n\cdot(\xi_1\cdot c_{n1}+\xi_2\cdot c_{n2}+\cdots+\xi_n\cdot c_{nn}+\xi_{n+1}c_{n(n+1)})\text{,}\end{aligned}

Можемо проширити матрицу CC на следећи начин:

C=[COeT01],Oe=(c1(n+1),c2(n+1),,cn(n+1)),0=(0,0,,0).\overline{C}=\begin{bmatrix}C&O_{e'}^{\text T}\\\vec 0&1\end{bmatrix}\text{,}\qquad O_{e'}=(c_{1(n+1)}, c_{2(n+1)}, \ldots,c_{n(n+1)})\text{,}\qquad\vec0=(0, 0, \ldots, 0)\text{.}

Сада је за λξn+1=ξn+1\lambda\xi'_{n+1}=\xi_{n+1}:

λξ[e001]T=λξn+1[A1]T=(CξT)T[e001]T,ξ=(ξ1,ξ2,,ξn+1),\begin{aligned}\lambda\cdot\xi'\cdot\begin{bmatrix}e'&0\\\vec0&1\end{bmatrix}^{\text T}=\lambda\xi'_{n+1}\cdot\begin{bmatrix}A\\1\end{bmatrix}^{\text T}=(\overline{C}\xi^{\text T})^{\text T}\cdot\begin{bmatrix}e'&0\\\vec0&1\end{bmatrix}^{\text T}\text{,}\qquad\xi=(\xi_1, \xi_2, \ldots, \xi_{n+1})\text{,}\end{aligned}

па је λξT=CξT\lambda{\xi'}^{\text T}=\overline{C}\xi^{\text T} за ξ=(ξ1,ξ2,,ξn+1)\xi'=(\xi'_1,\xi'_2, \ldots, \xi'_{n+1}). (C\overline{C} је матрица центроафине трансформације.)


Generated by slweb © 2020-2024 Strahinya Radich.