Posuny a otáčení geometrického útvaru

Úvod

Při operacích posunu a otáčení geometrického útvaru se tento přemisťuje, což se projeví změnou jeho souřadnic.

Přitom se používají podobné vzorce jako při posunech a otáčení souřadnic, pouze jsou v nich změněna znaménka. My si je ovšem odvodíme zcela znovu. 



Posun geometrického útvaru

Úloha

Je dán souřadný systém a geometrický útvar se zakresleným bodem 
A = [Ax; Ay] = [2,6; 1,7]. Geometrický útvar posuňte:

  • v souřadnici x o dx = -4,4,
  • v souřadnici y o dy = 0,9.
Řešení
  • Pro posun libovolného bodu A = [Ax; Ay] geometrického útvaru o vektor d = (dx; dy) budou zřejmě platit vzorce: 
    • A'x = Ax + dx,
    • A'y = Ay + dy.
  • V naší úloze bude tedy vyjde bod A' = [2,6 - 4,4; 1,7 + 0,9] = [-1,8; 2,6].


Pootočení geometrického útvaru

Úloha

Je dán souřadný systém a geometrický útvar se zakresleným bodem 
A = [Ax; Ay] = [3,2; 2,1]. Tento útvar pootočte o 18°.

Řešení

  • Pro odvození převodních vzorců si zavedeme pomocný souřadný systém pootočený o φ a na něm pomocné body Xp a Yp - viz obrázek.
  • Pootočený bod si označíme A' = [A'x; A'y].
  • Nová souřadnice A'x je rovna rozdílu úseček OXpx a XpyXp - ty umíme spočítat:
    • OXpx = OXp * cos(φ) = Ax *  cos(φ)
    • XpyXp = A'Xp * sin(φ) = Ay *  sin(φ) 
    A'x = Ax *  cos(φ) - Ay *  sin(φ)
  • Nová souřadnice A'y je rovna součtu úseček OYpy a YpxA'
    • OYpy = OYp * cos(φ) = Ay *  cos(φ)
    • YpxA' = OXp * sin(φ) = Ax *  sin(φ)
  • A'y = Ax *  sin(φ) + Ay *  cos(φ)
  • Nyní již spočteme souřadnice pootočeného bodu:
    • A'x = Ax *  cos(φ) - Ay *  sin(φ) = 3,2 * 0,951 - 2,1 * 0,309= 2,391
    • A'y = Ax *  sin(φ) + Ay *  cos(φ) = 3,2 * 0,309 + 2,1 * 0,951 = 2,99




Animace posunu a otáčení geometrického útvaru

Tato animace je velmi jednoduchá, přesto dobře ukazuje princip animací v počítačových hrách.

Zvolte velikost objektu:

Zvolte svislou polohu objektu:

Zvolte vodorovnou polohu objektu:

Zvolte úhel natočení objektu:

Zvolené hodnoty: velikost = , svislá poloha = , vodorovná poloha = , úhel natočení = rad. Sorry, your browser does not support canvas.