GKIW Moduł 4: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| Linia 19: | Linia 19: | ||
Współczesna grafika komputerowa operuje na milionach elementów (punktów, trójkątów). Przy tak dużej liczbie zachodzi konieczność opisania operacji geometrycznych w taki sposób, aby ich wykonanie było z jednej strony efektywne, a z drugiej, aby opis był prosty i ujednolicony. Takie warunki spełnia opis macierzowy. | Współczesna grafika komputerowa operuje na milionach elementów (punktów, trójkątów). Przy tak dużej liczbie zachodzi konieczność opisania operacji geometrycznych w taki sposób, aby ich wykonanie było z jednej strony efektywne, a z drugiej, aby opis był prosty i ujednolicony. Takie warunki spełnia opis macierzowy. | ||
Niech <math>P=\begin{bmatrix} | Niech <math>P=\begin{bmatrix} x_p & y_p \\ \end{bmatrix}^T</math> opisuje położenie punktu na płaszczyźnie. Najprostszym rozwiązaniem byłoby przyjęcie, że macierz <math>M(2\times 2)</math> opisuje przekształcenie punktu <math>P\,</math> na <math>P'\,</math> i że <math>P'=M\cdot P</math> | ||
|} | |} | ||
| Linia 45: | Linia 45: | ||
Niech <math>M_{T1}=\begin{bmatrix} a & b \\ c & d \\ \end{bmatrix}</math>. Niech wektor <math>P=\begin{bmatrix} T_X & T_Y \\ \end{bmatrix}</math> opisuje translację punktu na płaszczyźnie. | Niech <math>M_{T1}=\begin{bmatrix} a & b \\ c & d \\ \end{bmatrix}</math>. Niech wektor <math>P=\begin{bmatrix} T_X & T_Y \\ \end{bmatrix}</math> opisuje translację punktu na płaszczyźnie. | ||
Czy można znaleźć takie a, b, c, d, aby <math>M_{T1}=\begin{bmatrix} | Czy można znaleźć takie a, b, c, d, aby <math>M_{T1}=\begin{bmatrix} x_p+T_X \\ y_p+T_Y \\ \end{bmatrix}=\begin{bmatrix} a & b \\ c & d \\ \end{bmatrix}\cdot \begin{bmatrix} x_p \\ y_p \\ \end{bmatrix}</math> dla <math>T_X\neq 0</math> i <math>T_Y\neq 0</math> . | ||
Widać że nie jest to możliwe dla współrzędnych dowolnego punktu. Na dodatek punkt <math>P=\begin{bmatrix} 0 & 0 \\ \end{bmatrix}^T</math> byłby punktem stałym takiego przekształcenia. | |||
Jak zatem opisać translację na płaszczyźnie? | |||
Operację tę można opisać macierzą <math>M=\begin{bmatrix} 1 & 0 & T_X \\ 0 & 1 & T_Y\\ 0 & 0 & 1 \end{bmatrix}</math> | |||
Między współrzędnymi zachodzi następujący związek: | |||
:<math>M=\begin{bmatrix} X_p^{'} \\ Y_p^{'}\\ 1 \end{bmatrix}=\begin{bmatrix} 1 & 0 & T_X \\ 0 & 1 & T_Y\\ 0 & 0 & 1 \end{bmatrix}\cdot \begin{bmatrix} X_p \\ Y_p\\ 1 \end{bmatrix}</math> | |||
i jest to równoważne opisowi translacji o wektor w postaci układu równań: | |||
:<math>\begin{cases} x_p^{'}=x_p+T_X \\ y_p^{'}=y_p+T_Y \end{cases}</math> | |||
Tak wykonana operacja wymaga użycia współrzędnych jednorodnych. | |||
|} | |} | ||