Algebra ir geometrija informatikams. Pratybos. Rimantas Grigutis

13 pratybos. Transformacijos. Kompiuterinė grafika.

Pagrindinės xyz −erdvės transformacijos ir ju̧ apibrėžimai. Tegu briaunainio B viršūnės P_{i} (x_{i}, y_{i}, z_{i}) , i = 1, 2, ..., n, užrašytos matrica

( \begin{matrix}x_{1} & x_{2} & ⋯ & x_{n} \\ y_{1} & y_{2} & ⋯ & y_{n} \\ z_{1} & z_{2} & ⋯ & z_{n} \end{matrix} ) .

1. Ištempimas koordinatiniu̧ ašiu̧ atžilgiu. Tai tiesinė transformacija, kurios marica

( \begin{matrix}a & 0 & 0 \\ 0 & b & 0 \\ 0 & 0 & c \end{matrix} ) .

Atlikus šia̧ transformacija̧ turėsime briaunaini̧ B_{abc}, kurio viršūnes gaunamos sudauginus matricas

( \begin{matrix}a & 0 & 0 \\ 0 & b & 0 \\ 0 & 0 & c \end{matrix} ) ( \begin{matrix}x_{1} & x_{2} & ⋯ & x_{n} \\ y_{1} & y_{2} & ⋯ & y_{n} \\ z_{1} & z_{2} & ⋯ & z_{n} \end{matrix} ) .

2. Postūmis vektoriaus a = (a, b, c) kryptimi. Tai transformacija, apibrėžta formule

T (x, y, z) = (x + a, y + b, z + c) .

Atlikus šia̧ transformacija̧ turėsime briaunaini̧ B_{a}, kurio viršūnes gaunamos sudėjus matricas

( \begin{matrix}a & a & ⋯ & a \\ b & b & ⋯ & b \\ c & c & ⋯ & c \end{matrix} ) + ( \begin{matrix}x_{1} & x_{2} & ⋯ & x_{n} \\ y_{1} & y_{2} & ⋯ & y_{n} \\ z_{1} & z_{2} & ⋯ & z_{n} \end{matrix} ) .

3. Posūkio transformacijos koordinatiniu̧ ašiu̧ atžvilgiu. Tai tiesinės transformacijos, kuriu̧ maricos yra:

posūkis kampu θ apie x -aši̧ ( \begin{matrix}1 & 0 & 0 \\ 0 & cos θ & − sin θ \\ 0 & sin θ & cos θ \end{matrix} )

posūkis kampu θ apie y -aši̧ ( \begin{matrix}cos θ & 0 & sin θ \\ 0 & 1 & 0 \\ − sin θ & 0 & cos θ \end{matrix} )

posūkis kampu θ apie z -aši̧ ( \begin{matrix}cos θ & − sin θ & 0 \\ sin θ & cos θ & 0 \\ 0 & 0 & 1 \end{matrix} ) . 4.1) Judėjimas x -ašies kryptimi y -ašies atžvilgiu koeficientu a ( a shear in

the x -direction with factor a with respect to the y -coordinate). Tai tiesinė transformacija, kurios matrica yra ( \begin{matrix}1 & a & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{matrix} ) .

2) Judėjimas y -ašies kryptimi x -ašies atžvilgiu koeficientu a. Tai tiesinė transformacija, kurios matrica yra ( \begin{matrix}1 & 0 & 0 \\ a & 1 & 0 \\ 0 & 0 & 1 \end{matrix} ) .

3) Judėjimas x -ašies kryptimi z -ašies atžvilgiu koeficientu a. Tai tiesinė transformacija, kurios matrica yra ( \begin{matrix}1 & 0 & a \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{matrix} ) .

4) Judėjimas z -ašies kryptimi x -ašies atžvilgiu koeficientu a. Tai tiesinė transformacija, kurios matrica yra ( \begin{matrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ a & 0 & 1 \end{matrix} ) .

5) Judėjimas y -ašies kryptimi z -ašies atžvilgiu koeficientu a. Tai tiesinė transformacija, kurios matrica yra ( \begin{matrix}1 & 0 & 0 \\ 0 & 1 & a \\ 0 & 0 & 1 \end{matrix} ) .

6) Judėjimas z -ašies kryptimi y -ašies atžvilgiu koeficientu a. Tai tiesinė transformacija, kurios matrica yra ( \begin{matrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & a & 1 \end{matrix} ) .

Uždaviniai.

Duotas kubas K, kurio viršūnės yra taškuose

(0, 0, 0) , (1, 0, 0) , (1, 1, 0) , (0, 1, 0) , (0, 0, 1) , (1, 0, 1) , (1, 1, 1) , (0, 1, 1) .

Raskite briaunainio K′ koordinates, atlikus nurodyta̧ transformacija̧(as) ir xy -plokštumoje(ekrane) nubrėžkite gauta̧ figūra̧.

1. Judėjimas x -ašies kryptimi y -ašies atžvilgiu koeficientu 1\frac{1}{2}.

2. Postūmis vektoriaus a = (−2, −1, 3) kryptimi.

3. Posūkis kampu −30^{∘} apie z -aši̧.

4. Ištempimas koordinatiniu̧ ašiu̧ atžilgiu: a = 1\frac{1}{2}, b = \frac{1}{2}, z = 3.

5. Judėjimas y -ašies kryptimi x -ašies atžvilgiu koeficientu 0.6 .

6. Atspindys xy -plokštumos atžvilgiu.

7. Atspindys yz -plokštumos atžvilgiu.

8. Atspindys xz -plokštumos atžvilgiu.

9. Ištempimas koordinatiniu̧ ašiu̧ atžilgiu: a = \frac{1}{2}, b = 2, z = \frac{1}{3}. Postūmis vektoriaus a = (\frac{1}{2}, 0, 0) kryptimi. Posūkis kampu 20^{∘} apie x -aši̧. Posūkis kampu −45^{∘} apie y -aši̧. Posūkis kampu 90^{∘} apie z -aši̧.

10. Ištempimas koordinatiniu̧ ašiu̧ atžilgiu: a = 0.3, b = \frac{1}{2}, z = 1. Posūkis kampu 45^{∘} apie x -aši̧. Postūmis vektoriaus a = (1, 0, 0) kryptimi. Posūkis kampu 35^{∘} apie y -aši̧. Posūkis kampu −45^{∘} apie z -aši̧. Postūmis vektoriaus a = (0, 0, 1) kryptimi. Ištempimas koordinatiniu̧ ašiu̧ atžilgiu: a = 2, b = 1, z = 1. Judėjimas x -ašies kryptimi y -ašies atžvilgiu koeficientu 2.