lista8

Transkrypt

lista8
Praktyczny Wstęp do Programowania, Lista 8 (zajęcia 2014-04-16, termin: 2014-04-30)
Przygotował: Maciej Matyka ( [email protected] )
Strona kursu: http://www.ift.uni.wroc.pl/~maq/zajecia/wp2014/
Procedury wejścia / wyjścia do plików (np. format ppm). Generowanie
sekwencji plików do animacji.
Zadanie 1.
Napisz program, który plik odczyta plik tekstowy zawierający 100000 liczb losowych z zakresu 0-1
wygenerowanych przy pomocy standardowego generatora (można ściągnąć przykładowy plik ze
strony kursu).
Policz wariancję tych liczb. O czym mówi otrzymana wartość?
Przydatny adres: http://pl.wikibooks.org/wiki/C/feof
Zadanie 2.
Napisz program, który wczyta plik ppm z obrazkiem z dysku (przykładowe pliki są umieszczone na
stronie kursu). Następnie wykona na nim operacje:
a) negatyw
b) odbicie względem jednej z osi
c) deformację (mapowanie przy pomocy funkcji przekształcającej współrzędne f(x,y)→x,y )
i zapisze wynik na dysku pod nową nazwą (w formacie ppm).
Uwaga: w zadaniu 2c należy wykonać jak najciekawszą deformację, wynik zadania 2. proszę
przesłać (najlepiej w formacie .jpg) do wykładowcy na adres [email protected]
Najciekawsze funkcje zostaną w materiałach kursu. Polecam szukać hasła „Plane Deformation” w
Google. Jeśli ktoś zna angielski polecam stronę:
http://www.iquilezles.org/www/articles/deform/deform.htm
Można użyć własnej grafiki, niekoniecznie Ferrari Testarossa.
Zadanie 3.
Do zadania z poprzedniej listy (Lista 7, Zadanie 3) dopisz następującą funkcjonalność: program po
pobraniu danych od użytkownika wczytuje obraz z mapą BMI z pliku PPM na dysku (mapa
dostępna na stronie kursu lub Wikipedii) do tablicy i zaznacza w nim kółko/kwadracik w
odpowiednim miejscu, następnie plik zapisuje na dysku pod tą samą nazwą (w ten sposób można
będzie zaznaczać kilka wyników na jednym wykresie).