Niżej, przestawiamy część materiałów, na których był oparty wykład. Niniejsze notatki nie są więc pełnym źródłem wymaganej wiedzy na ten temat!
Omówimy je na przykładzie grafiki komercyjnego pakietu obliczeń symbolicznych (sic!) Maple V, dostępnego w Instytucie Matematyki Stosowanej. Jeszcze większe możliwości wizualizacji daje numeryczny Matlab, natomiast jego darmowe klony: Octave i Scilab dysponują tylko absolutnie podstawowymi narzędziami. Z darmowych pakietów, dużo większe możliwości wizualizacji dają Vigie i Vis5D, które omawiamy poniżej 2.1.
Nawet wyświetlanie najprostszych wykresów można zmodyfikować tak, by wycisnąć z nich więcej informacji. Dzieje się tak w szczególności dla funkcji bardzo szybko rosnących/malejących: wówczas lepiej zastosować na przynajmniej jednej z osi skalę nieliniową. Powszechnie stosuje sie w takim wypadku skalę logarytmiczną.
Skali logarytmicznej użyjemy na przykład, aby porównywać szybkość zbieżności dwóch metod iteracyjnych zbieżnych superliniowo.
Gdy dane są dwie (trzy) funkcje jednej zmiennej określone na wspólnej dziedzinie, to naturalnie możemy przedstawić ich grafy na jednym wykresie. (Bywa, że dodatkowo należy przeskalować wykres jednej funkcji względem drugiej.)
Czasem jednak warto zdać sobie sprawę z wzajemnych zależności i potraktować te dwie funkcje jako jedną parametryzację krzywej w R2(R3)). Zazwyczaj interpretacja modelu pozwoli nam zdecydować się na jeden z opisów (na przykład, jeśli x(t) oznacza współrzędną x-ową w chwili t, a y(t)- współrzędną y-ową, to naturalnie (x(t),y(t)) przedstawimy nie z osobna, lecz jako trajektorię punktu (x,y) w czasie, na płaszczyźnie.
A propos równań różniczkowych zwyczajnych, jeśli chcemy zorientować się, jak będą wyglądały trajektorie punktu y0 spełniającego równanie
to oczywiście możemy narysować ich odpowiednio dużo. Innym trochę podejściem, dającym większy wgląd w dynamikę układu, będzie zobrazowanie pola wektorowego odpowiadającego temu równaniu, tzn. pola
Długość strzałek odpowiada naturalnie wielkości pochodnej y, pozwalając nam wzrokowo określić, gdzie ewolucja następuje szybciej, a gdzie wolniej.
Dane dyskretne. Czasem lepiej przedstawić takimi, jakie są, a innym razem lepiej interpolować: funkcją kawałkami liniową lub gładszą (splajnem).
Wizualizacja funkcji więcej niż jednej zmiennej: na przykładzie
Najprościej, podzielić dziedzinę siatką i dla każdego pixla wyznaczyć wartość funkcji. Po unormowaniu, można im przypisać odcienie szarości...
...lub pewną skalę kolorową.
A propos: wizualizacja macierzy!!
Czasem warto dodać izolinie...
...ewentualnie tylko do nich się ograniczyć.
Wreszcie, wartość f można potraktować jako trzecią współrzędną, a wykres f - jako powierzchnię w R3: (kolory odpowiadają zmieniającej się współrzędnej x-owej.
...dodajemy światło...
...a teraz nadajemy kolorom lepszy sens, uzależniając barwę ponownie od wartości funkcji (zob. Rysunek 1). (Dodatkowo powierzchnia siatkowa)
Inny sposób wyboru koloru (intensywność proporcjonalna do wartości f);
W przypadku obrazowania odwzorowania
Z licznych powodów, ograniczymy się do demonstracji możliwości dwóch pakietów freeware: Vigie i Vis5D. Ich komercyjne odpowiedniki mają nieporównanie bogatsze możliwości; wśród takich komercyjnych pakietów dużą popularnością w Polsce i na świecie cieszy się AVS. Podobno dobry jest także pakiet Khoros.
Jednym z bardziej elastycznych, o sporych możliwościach, a przy tym dość prostych w obsłudze darmowych pakietów wizualizacyjnych jest francuski Vigie.
(Spore) możliwości Vigie będą zademonstrowane w trybie interakcyjnym.
Pakiet Vis5D jest bardziej okienkowy, lecz z drugiej strony ma więcej ograniczeń w porównaniu z Vigie. Najistotniejszym jest, że przeznaczony jest w zasadzie do wyświetlania danych określonych na kostce w przestrzeni trojwymiarowej, na siatce równomiernej w dwoch wymiarach. Z zalet wymieńmy łatwy interfejs, możliwości robienia sekcji płaszczyzną, rozmaite sposoby wizualizacji (linie prądu, pole wektorowe, volume rendering, etc.). Zostaną one omówione na przykładzie danych demonstracyjnych dostarczanych wraz z pakietem Vis5D.
Częścią rozwiązań równań Naviera-Stokesa uogólnionych tak, by mogły modelować pogodę (i zapewne uproszczonych tak, aby dawało się je rozwiązać w rozsądnym czasie) jest pole prędkości wiatru , gdzie (w każdym punkcie przestrzeni jest określona prędkość wiatru) oraz u = (u1,u2,u3)(wektor prędkości wiatru ma trzy składowe: poziomą x-ową i y-ową, pionową z-ową).
Takie pole wektorowe generuje linie prądu, tzn. krzywe, wzdłuż których poruszałyby się cząsteczki unoszone wiatrem. Jesli dokonać obcięcia naszego pola do pewnej płaszczyzny, to będziemy mogli obrazować linie prądu pola u obciętego do tej płaszczyzny:
Można dołożyć jeszcze jedną płaszczynę, np. poziomą, aby mieć większe wrażenie przestrzenności, przy zachowaniu względnej przejrzystości rysunku.
Dodatkowo, moęmy przyjrzeć się, jak w danej płaszczyźnie wygląda nasze pole wektorowe u. Zwróćmy uwagę na to, że wektory ''wystają'' poza płaszczyznę.
Dalej, ograniczając się do jednej składowej, można wizualizować jej wartości obcięte do pewnych płaszczyzn.
Technika wizualizacji zwana volume rendering pozwala na zobrazowanie jednej ze składowych wiatru (lub np. normy wektora prędkości) w postaci półprzejrzystej, kolorowej mgły, gdzie kolor odpowiada pewnej wartości funkcji w punkcie przestrzeni trójwymiarowej.
Inny przykład, z medycyny (źródło: Advanced Medical Imaging Laboratory):
Jest to bardzo popularne zastosowanie, gdyż volume rendering jest w pewnym sensie naturalne dla obrazowania medycznego (mają bardzo wiele wspólnego ze zdjęciami rentgenowskimi).