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.