Table of Contents Lab 2 : Grafika 2D i 3D, transformacje afiniczne, elementy programowania Opis Do opanowania: Do zastanowienia się Warto przeczytać Rozwiązane zadania Zadania do rozwiązania Linki <texit info> author=Roman Putanowicz backgroundtext=http://www.L5.pk.edu.pl/~putanowr/math2.html title=Lab 2: Grafika 2D i 3D, transformacje afiniczne, elementy programowania - powtórka showbuttons=off </texit> <texit>\input{/home/prac/putanowr/dokuwiki/data/media/wiki/latex/math2_preamb.tex} \renewcommand{\chaptername}{Konspekt} \setcounter{chapter}{1} </texit> <texit>\begin{comment}</texit> prev | up | next <texit>\end{comment}</texit> Lab 2 : Grafika 2D i 3D, transformacje afiniczne, elementy programowania Opis Do opanowania: Wyprowadzenie wzoru na współrzędne wektora w układzie współrzednych obróconym o kąt $\alpha$ względem układu wyjściowego. Wzory na transformacje współrzędnych przez podstawowe rodzaje transformacji afinicznych Wykorzystanie możliwości Matlab/Octave do zwartego zapisu algortymów operujących na wektorach (operatory .*, .^, funkcje takie jak sum, prod, norm, itp) Rysowanie pól skalarnych i wektorowych w Matlab/Octave Rysowanie figur płaskich w Matlab/Octave Do zastanowienia się Jak zrobić rysunek ilustujący kowariantne i kontrawariantne współrzędne wektora. Warto przeczytać Rozwiązane zadania Ex. 2.1.1 Napisz program pokazujący animację obracającego się prostokąta. Rozwiązanie. Zadania do rozwiązania Ex. 2.2.1 Napisać program sprawdzający czy dwa wielokąty są podobne. Wielokąty są dane jako listy współrzędnych wierzchołków. Program powinien czytać współrzedne wierzchołków wielokątów z dwu osobnych plików. Ex. 2.2.2 Napisać program obliczający odległość punktu od prostej. Prosta jest wyznaczona przez dwa inne różne punkty. Ex. 2.2.3 Napisać program znajdujący środek i promień okręgu wpisanego i opisanego na trójkącie. Ex. 2.2.4 Napisać program rysujący okrąg opisany na trójkącie i wpisany w trójkąt. Ex. 2.2.5 Napisać program implementujący algorytm Douglasa-Peuckera (upraszczania krzywych) w wersji 2D. Przydatne linki: Simplifying polygons Wikipedia: Ramer–Douglas–Peucker algorithm Ex. 2.2.6 Napisać program pokazujący animacje algorytmu de Casteljau (algorytm geometryczny dla krzywej Beziera) w wersji 2D. Przydatne linki: Wikipedia: De Casteljau algorithm Ex. 2.2.7 Napisać program pokazujący poprzez animację dlaczego nie widzimy ciemnej strony Księżyca. Ex. 2.2.8 Wyprowadzić wzór na transformację punktu na płaszczyźnie przez jednokładność o dowolnym środku i skali. Pokazać, że wzór ten można również napisać w postaci macierzowej \begin{equation*} \mathbf{x'} = \mathbf{A}\mathbf{x} + \mathbf{b} \end{equation*} Ex. 2.2.8 Napisać program, który będzie pokazywał obraz wielokąta w jednokładności o dowolnym środku i skali. Współrzędne wierzchołków wielokąta powinny być czytane z pliku. Ex. 2.2.9 Napisać program, który będzie rysował siatkę regularną w dowolnym obszarze prostokątnym. Ex. 2.2.10 Napisać program, który będzie rysował regularną siatke elementów czworokątnych w ćwiartce pierścienia. Ex. 2.2.11 Napisać program, który będzie wizualizował potencjał pola elektrycznego wokół dipola. Program napisać w wersji 2D. Ex. 2.2.12 Napisać program, który będzie wizualizował natężenie pola elektrycznego wokół dipola. Program napisać w wersji 2D. Ex. 2.2.13 Napisać program, który będzie wizualizował wektory prędkości i przyspieszenia punktu materialnego poruszającego się po trajektorii opisanej parametrycznie: \begin{equation*} \mathbf{r}(t) = \begin{cases} x(t) = cos(t) \\ y(t) = sin(t) + 0.2t^2 \end{cases} \end{equation*} dla $t\in[0,2\pi]$. Linki <texit>\begin{comment}</texit> prev | up | next <texit>\end{comment}</texit> pl/teaching/subjects/math2/labs/lab2.txt Last modified: 2017/10/02 15:37(external edit)