Odbicia lustrzane

Stronę tą wyświetlono już: 829 razy

O odbiciach lustrzanych a w zasadzie o macierzy odbicia lustrzanego i sposobach wszelakich jej pozyskiwania pisałem na stronie Matematyka → Macierze → Macierz odbicia lustrzanego, jeżeli więc kogoś z Was interesuje zgłębienie tego tematu, to odsyłam Was właśnie tam, albowiem temat jest dość obszerny i treściwy więc nie chcę dwa razy tego samego powtarzać, zwłaszcza, że nie miałoby to większego sensu. Z tego też względu ograniczę się do omówienia tworzenia macierzy i jej zastosowania w najprostszy z możliwych sposobów.

Odbicia lustrzane w układach 2W

Macierz odbicia lustrzanego w układzie 2W przyjmuje następującą postać:

Równanie [1] [1]

Zapis wyrażenia w formacie TeX-a:

M_{L2W}=\begin{bmatrix}\cos (2\cdot\alpha) & \sin(2\cdot \alpha) \\ \sin(2\cdot \alpha) & -\cos(2\cdot\alpha)\end{bmatrix}

gdzie kąt α stanowi kąt ustawienia prostej, względem której odbicie się odbywa. Kąt ten jest kątem skierowanym w kierunku od osi x przeciwnie do ruchu wskazówek zegara. Po wyliczeniu macierzy odbicia lustrzanego dowolną liczbę punktów można odbić mnożąc je przez ową macierz.

Równanie [2] [2]

Zapis wyrażenia w formacie TeX-a:

\vec{V}'=M_{L2W}\cdot\vec{V}

Wyprowadzenie wzoru na macierz odbicia lustrzanego znajduje się we wzorze [3] z strony Matematyka → Macierze → Macierz odbicia lustrzanego.

Możliwe jest również utworzenie macierzy odbicia lustrzanego za pomocą wektora kierunkowego. Nie będę jednak omawiał tutaj tego zagadnienia, gdyż zostało ono już omówione na wcześniej wspomnianej przeze mnie stronie a sposób wykorzystania tak stworzonej macierzy wygląda tak samo jak w wzorze [1]. Na rysunku 1 zamieszczam animację pokazującą efekt działania macierzy lustrzanego odbicia przykładowej figury płaskiej.

Animacja odbicia lustrzanego względem zmieniającej się osi odbicia.
Rys. 1
Animacja odbicia lustrzanego względem zmieniającej się osi odbicia.

Klatki animacji wygenerowane przez program wxMaxima za pomocą następującego kodu:

Listing 1
  1. for i: 0 thru 72 do(
  2. obj:matrix([0.5,1.5,1.5,1,1,0.5,0.5],[0.5,0.5,1,1,2,2,0.5]),
  3. da: i * 5 * %pi / 180,
  4. Ml: float(matrix([cos(2*da), sin(2*da)], [sin(2*da), -cos(2*da)])),
  5. obj2: Ml . obj,
  6. plot2d([[discrete, obj2[1], obj2[2]], [discrete, obj[1], obj[2]]],[x,-3,3],[y,-3,3],[gnuplot_term, "png size 500,500"], [gnuplot_out_file, printf(false,"C:\\Odbicie ~f.png",i)],[legend,"odbicie","odbijane"])
  7. )$

Animacja poskładana w programie Gimp

Odbicia lustrzane w 3W

Najłatwiej jest utworzyć macierz odbicia lustrzanego znając wektor Vn prostopadły do płaszczyzny odbicia (zwany również wektorem normalnym płaszczyzny odbicia). Najpierw trzeba utworzyć wersor n tego wektora:

Równanie [3] [3]

Zapis wyrażenia w formacie TeX-a:

vec{n}=frac{vec{V}_n}{left|vec{V}_n\right|}

Teraz, dysponując wersorem n można obliczyć macierz odbicia lustrzanego za pomocą następującego wzoru, którego omówienie wyprowadzenia znajdziesz na wykładzie dostępnym na youtube.

Równanie [4] [4]

Zapis wyrażenia w formacie TeX-a:

M_{L3W}=I-2\cdot\vec{n}\cdot\vec{n}^T

gdzie:

  • I - macierz jednostkowa, która ma na głównej przekątnej same jedynki, a reszta jej elementów przyjmuje wartość zerową;
  • nT - transpozycja wektora, który traktujemy jak zwykłą macierz

Użycie macierzy odbicia lustrzanego w przestrzeni 3W jest takie samo jak w przestrzeni 2W co sprowadza się do następującego wzoru:

Równanie [5] [5]

Zapis wyrażenia w formacie TeX-a:

\vec{V}'=M_{L3W}\cdot\vec{V}

Na rysunku 2 zamieszczam animację przykładowego odbicia lustrzanego płaszczyzną obracającą się wokół osi Z.

Animacja odbicia lustrzanego płaszczyzną daną wektorem prostopadłym <b>V<sub>n</sub></b> obracającą się względem osi z
Rys. 2
Animacja odbicia lustrzanego płaszczyzną daną wektorem prostopadłym Vn obracającą się względem osi z.

Klatki animacji wygenerowane przez program wxMaxima

Animacja poskładana w programie Gimp

Strony powiązane
strony powiązane
  1. Symetrie i Lustrzane Odbicie - Macierz Odbicia 3D

Komentarze