to get the file
Transkrypt
to get the file
Algorytmy grafiki komputerowej Tematy projektów 2012/2013 1. Krzywe Beziera Program powinien pozwolić na dodawanie/usuwanie punktów za pomocą myszki i/lub klawiatury. Na podstawie wprowadzonych przez użytkownika punktów należy narysować krzywą Beziera. Ponadto należy zapewnić możliwość modyfikacji (przesuwania) już narysowanych punktów, z jednoczesną modyfikacja krzywej, która obejmuje zmodyfikowany punkt. Program powinien pozwolić na wstawienie wielu krzywych Beziera, oraz tworzenie z nich rysunków. 2. Krzywe B-spline Program powinien pozwolić na dodawanie/usuwanie punktów za pomocą myszki i/lub klawiatury. Na podstawie wprowadzonych przez użytkownika punktów należy narysować krzywą typu B-splajn. Ponadto należy zapewnić możliwość modyfikacji (przesuwania) już narysowanych punktów, z jednoczesną modyfikacja krzywej, która obejmuje zmodyfikowany punkt. Program powinien pozwolić na wstawienie wielu krzywych typu B-splajn, oraz tworzenie z nich rysunków. 3. Fontanna z wykorzystaniem systemu cząsteczek Program powinien wygenerować animacje fontanny zaimplementowana z wykorzystaniem systemu cząstek. Program powinien pozwolić użytkownikowi na modyfikowanie parametrów systemu cząsteczek, takich jak liczba, rozmiar, ewentualnie innych. 4. Metakule Program powinien pozwolić użytkownikowi na modelowanie obiektów 3D z wykorzystaniem tak zwanych meta kul (ang. metaballs). Minimalnie program powinien pozwolić na wstawienie kilku takich obiektów, a następnie na ich edycję (przesuwanie, zmiana rozmiaru, zmiana parametru siły) i obserwowanie zmian zachodzących w wynikowym obiekcie. 5. CSG Należy zaimplementować co najmniej dwie operacje logiczne na dla dwóch wybranych obiektów 3D 9na przykład kula i prostopadłościan). Ponadto program powinien pozwolić użytkownikowi dodawać wybrane obiekty, przesuwać je lub skalować, oraz wybierać operacje do zastosowania . 6. Figury obrotowe Należy napisać program, który pozwoli użytkownikowi narysować dowolna krzywą, a następnie na jej podstawie wygeneruje obiekt 3D. Obiekt wynikowy powinien powstać poprzez dokonanie obrotu narysowanej krzywej dookoła osi. W wersji podstawowej może być to ustalona os układu współrzędnych (np. oś X). 7. Figury powstałe z przesunięcia konturu Podobnie jak w temacie 6, jednak obiekt wynikowy powinien powstać poprzez przesunięcie narysowanego przez użytkownika konturu o podany przez niego wektor . 8. Generowanie powierzchni na podstawie mapy wysokości Należy napisać program, który na podstawie mapy bitowej w odcieniach szarości wygeneruje mapę terenu. Kolor (odcień) każdego piksela mapy bitowej powinien być traktowany jako wysokość w odpowiadającym mu punkcie generowanego terenu. 9. Postać 3D Należy zaimplementować prosty szkielet 3D (na przykład zbudowany z „patyczków”) oraz umożliwić użytkownikowi poruszanie nimi. Program powinien pozwolić zapisać do pliku sekwencję takich ruchów oraz odtworzyć ja w postaci prostej animacji. 10. Ruch tekstu po krzywej Należy napisać program pozwalający użytkownikowi narysować dowolną krzywą, wpisać tekst, a następnie na tej podstawie powinna zostać wygenerowana animacja pokazująca ruch wpisanego tekstu po narysowanej krzywej, 11. Przycinanie tekstu do kształtu Należy napisać aplikacje pozwalającą na narysowanie obiektu 2D (np. okręgu, kwadratu), wpisanie lub wczytanie z pliku fragmentu tekstu, a następnie obcięcie tego tekstu do narysowanego kształtu.