Po dzisiejszej lekcji będziesz: tworzyć programy animujące obiekty na ekranie komputera określać położenie i orientację obiektu w kartezjańskim układzie współrzędnych Zauważ że... Ludzkie oko charakteryzuje pewna bezwładność obraz pojawia się z pewnym opóźnieniem i utrzymuje się jeszcze przez ok. 0,1 sekundy po zmianie przedmiotu na który patrzymy. Ten fakt wykorzystywany jest w kinie i telewizji. Podczas projekcji filmu tak naprawdę wyświetlane są nieruchome obrazy, z częstotliwością 24 klatki (obrazy) na sekundę. To bezwładność naszego oka sprawia że widzimy je jako ciągły ruch. Animacja komputerowa Skoro film to nieruchome obrazy wyświetlane szybko jeden po drugim, to można te obrazy również narysować. Tak robi się filmy animowane. Jeśli można je narysować, to zapewne można je też przygotować na komputerze? A kiedy już mamy obrazki w komputerze, to może ich wyświetlaniem może zająć się program? Spróbujmy przygotować najprawdziwszą animację komputerową, jak zawodowcy z Pixar Studio. Poprzednią lekcję zakończyliśmy programem przesuwającym obiekt po ekranie: Rys. 1: Program przesuwający obiekt po scenie. Dodaj teraz do obiektu drugi kostium (jak to zrobić wiesz z Misji#1). 29
Mechatronika dla gimnazjum. Rys. 2: Obiekt ma przypisane dwa kostiumy... Następnie wstaw do powyższego programu instrukcje z palety Wygląd, zmieniające kostium po wykonaniu każdego ruchu obiektu: Rys. 3:... które zmieniane są po wykonaniu każdego ruchu. Zaobserwuj jak zmienia się wygląd obiektu w każdym przebiegu pętli. OK, mamy zmieniające się obrazy ale co z wrażeniem płynności ruchu? Potrzebujemy więcej kostiumów, najlepiej różniących się od siebie niewielkimi szczegółami: 30
Rys. 4: Kolejne fazy ruchu. Musimy też je szybciej zmieniać. Najlepsze efekty uzyskasz zmieniając obrazki co najmniej10 razy na sekundę. Instrukcja następny kostium z palety Wygląd po prostu zmienia kostium na kolejny na liście przypisanych do obiektu nie musisz się martwić o nazwę kostiumu. Rys. 5: Program zmienia cyklicznie wszystkie kostiumy przypisane do obiektu. Póki co, nasz obiekt macha rękami (płetwami, nogami, antenkami) ale ciągle stoi w miejscu. Rozruszajmy go trochę: Rys. 6: Co 0,1 sekundy oprócz zmiany kostiumu obiekt przesuwa się o 10 kroków. Uruchom program. Co się stało? Obiekt uciekł z ekranu? Nic dziwnego, tak działa nieskończona pętla. Obiekt co 1/10 sekundy robi 10 kroków naprzód. 31
Mechatronika dla gimnazjum. Układ współrzędnych czyli matematyka na scenie. Jeśli opcja zezwalaj na obiekty w tle z menu Edycja jest wyłączona, to Twój obiekt zatrzyma się na krawędzi sceny. Jeśli nie zaznaczysz tej opcji obiekt zniknie całkowicie ze sceny. Nie przejmuj się, obiekt nadal istnieje, jest przecież widoczny na liście obiektów. Przywołajmy go na miejsce startu. Po pierwsze dodaj do programu, zaraz po starcie, instrukcje ustaw x na 0 i ustaw y na 0. Jak teraz zachowuje się obiekt? Rys. 7: Po starcie programu ustawiane są współrzędne x,y obiektu. Żeby zrozumieć działanie instrukcji ustaw x na... i ustaw y na... kliknij scenę na liście obiektów, następnie zakładkę tła w oknie obiektu (scena również jest obiektem tylko nieruchomym tła są odpowiednikiem kostiumów obiektu) i zaimportuj tło o nazwie xy-grid. Wygląda znajomo? To układ współrzędnych prostokątnych. Rys. 8: Układ współrzędnych na scenie. 32
Rys. 9: Wiele właściwości obiektu możesz wyświetlić na scenie żeby sprawdzić ich wartość zaznaczając pole wyboru umieszczone po lewej stronie wybranej właściwości. Innym sposobem sprawdzenia właściwości obiektu jest pojedyncze kliknięcie lewym klawiszem myszy na bloczek tej właściwości (kliknięcie prawym klawiszem myszy spowoduje wywołanie okna pomocy). W dymku pokaże się jej aktualna wartość. Wyświetl teraz na scenie współrzędne x i y obiektu. Zatrzymaj program i przesuwaj obiekt myszką po scenie. Obserwuj zmieniające się współrzędne. Położenie każdego obiektu na scenie określone jest przez parę liczb: x i y. Dzięki temu programy które tworzysz wiedzą w którym miejscu na scenie znajduje się obiekt i mogą dokładnie sterować jego ruchem. Do zmiany położenia obiektu służą instrukcje z palety ruch: ustaw x na... i ustaw y na... zmień x o... i zmień y o... idź do x... y... leć do x... y przez... Ćwiczenia 1. Ustaw w Prophio układ współrzędnych jako tło sceny. Odczytaj rozmiary sceny. 2. Wskaż punkty o współrzędnych (100,100), (-100, -100). 33
Mechatronika dla gimnazjum. 3. Napisz program, który ustawi obiekt w punkcie (-100,-100), poczeka w tym miejscu 1 sekundę, a następnie przesunie go do (100,100). Kierunek Dodaj teraz do programu instrukcję jeśli na krawędzi, odbij się z palety Ruch. Zaobserwuj co teraz dzieje się z obiektem na scenie. Zapewne zdziwiło Cię, że Twój obiekt w drodze powrotnej znajduje się w niezbyt komfortowej pozycji. Pomóż mu stanąć na nogi. Wypróbuj działanie przycisków trybu obracania obiektu znajdujących się w górnej części okna obiektu. Rys. 10: Fragment okna obiektu z przyciskami trybu obracania oraz informacją o położeniu i kierunku obiektu. Kierunek to kąt pomiędzy osią y układu współrzędnych a wychodzącym ze środka obiektu wektorem. Wykonując instrukcję przesuń o kroków, obiekt będzie przemieszczał się w ustawionym wcześniej kierunku. Kierunek może przyjmować wartości dodatnie i ujemne w zakresie od 0 do 180 stopni. Rys. 11: Graficzne przedstawienie pojęcia kierunku (przedstawiony kierunek 45 stopni). 34
Zwróć uwagę także na instrukcję obróć o stopni. Jej wykonanie spowoduje obrócenie obiektu wokół własnej osi (zwanej tutaj środkiem kostiumu) o zadany kąt z jednoczesną zmianą kierunku. Środek kostiumu może być przez Ciebie dowolnie ustawiany w edytorze rysunków. 35