Курсови работи по



Скачать 53.63 Kb.
Дата20.10.2012
Размер53.63 Kb.
ТипДокументы

КУРСОВИ РАБОТИ

ПО


ОСНОВИ НА КОМПЮТЪРНАТА ГРАФИКА

Зимен семестър 2011-2012 г.

  1. (* )Да се реализира ефект “Криво огледало”: изкривяване на bitmap изображение по хоризонтала , като новите хоризонтални граници са прави, а новите вертикални граници се задават чрез гладко закачени криви на Безие от трета степен, генерирани по зададени интерактивно от потребителя контролни точки. Деформацията във вътрешността на “огледалото” трябва да е непрекъсната.

  2. (*) Да се реализира ефект “Криво огледало”: изкривяване на bitmap изображение по хоризонтала , като новите хоризонтални граници са прави, а новите вертикални граници се задават чрез b-сплайни, генерирани по зададени интерактивно от потребителя контролни точки. Деформацията във вътрешността на “огледалото” трябва да е непрекъсната.

  3. Да се реализира ефект “Гоблен” : напишете функция за създаване на схема на гоблен по зададено растерно изображение. Функцията трябва да

  • Намалява разделителната способност N пъти (блок от NxN пиксела ще се изобрази в едно квадратче на гоблена)

  • Намира подходящ номер на цвета (на конеца) за всяко квадратче. Набора от конци се задава предварително чрез списък с техните цветове.
    Това може да ставa:

а) с използване на някой ат алгоритмите за разпространение на грешка: (Floyd-Steinberg, (*)Ostromoukhov

b) с просто избиране на най-близкия цвят.

Реализирайте усредняването на цвета на пиксела и търсенето на най-близък такъв в някое от пространства RGB, YcrCb, HSV(*), или CIE Lab(*)
В предната задача всеки желаещ избира уникална комбинация от алгоритъм за dithering и цветови модел


  1. Реализирайте алгоритъма на Отсу за bi-level thresholding на изображение. Програмата реализираща алгоритъма трябва да позволява зареждането на различни изборажения, като ако те са цветни да ги преобразува до grayscale. Освен това, чрез подходящата клавишната комбинация, програмата да реализира преди/след функционалност по отношение работата на алгоритъма. Тоест да предлага възмжност за показване на оригиналното изображение и на изображението след работата на алгоритъма на Отсу. Да се допуска избор от потребителя на правоъгълна област от зареденото изображение и съответно пускането на алгоритъма само върху тази област.




  1. Реализирайте на алгоритъма на Gupta-Sproull за растеризация на отсечка.

  2. (*)Реалирайте алгоритъма на Gupta-Sproull за растеризация на отсечка. Реализацията трябва да поддържа растеризиране на няколко пресичащи се цветни отсечки и да генерира визуално задоволителен резултат. Да се извършва antialiasing и на краищата на отсечката.

  3. (*)Реалирайте алгоритъма на Wu за растеризация на отсечка.
    Реализацията трябва да поддържа растеризиране на няколко пресичащи се цветни отсечки и да генерира визуално задоволителен резултат. Да се извършва antialiasing и на краищата на отсечката.

  4. (*)Реализирайте на алгоритъма за средната точка за изчертаване на елипса с antialiasing, без да се използва изглаждащ филтър. Реализацията трябва да поддържа растеризиране на няколко пресичащи се цветни елипси и да генерира визуално задоволителен резултат.

  5. Реализирайте програма за намиране на разликата на два многоъгълника, които се вкарват интерактивно от потребителя с помощта на мишката. Приема се, че не се въвеждат самопресичащи се многоъгълници и единия е изпъкнал (програмата трява да проверява това). Трябва да се изчертава/изчертават контура/контурите на разликата.

  6. Като 8, но програмата намира сечението на многоъгълниците

  7. (*)Реализирайте програма за намиране на разликата на два многоъгълника, които се вкарват интерактивно от потребителя с помощта на мишката. Да не се допуска въвеждане на самопресичащи се многоъгълници. Да се изчертава контура на разликата и тя да се запълва с цвят, различен от контура й.

  8. (*) Като 10, но програмата намира сечението на многоъгълниците.

  9. Да се състави програма, чрез която потребителят задава интерактивно многоъгълник с помощта на мишката. Програмата проверява дали многоъгълника е монотонен по отношение на оста у, и ако е се извършва триангулация, като две съседни триъгълни парчета грябва да са запълнени с различни цветове.

  10. (*)Като 12, само че се проверява наличието но ос спрямо която многоъгълника е монотонен и ако такава съществува се извършва триангулация. Не се допуска употребата на готови библиотеки за триангулация.

  11. Реализирайте реалистична анимация на движение на планетите от слънчевата система и осветяването на всяка от тях от слънцето. Поддържането на текстури не е задължително

  12. (*)Реализирайте анимация на движение на планетите от слънчевата система, като за всяка планета се чертае реалистично засенчената/не засенчената й страна и се взимат предвид ефектите на засенчване на една планета от друга. Поне 1 от планетите трябва да е с текстури.

  13. (*) Реализирайте 3D ефект "слънчево затъмнение". Реализацията трябва да изчертава земното кълбо, слънцето и луната (с текстури), като се поддържа ротация на конфигурацията от небесни тела с помощта на мишката. За изчисляването/изчертаването на засенчената част използвайте алгоритъм по ваш избор.

  14. (**) Четири криви на Безие задават границите на повърхнина. Точките във вътрешността се определят чрез билинейна интерполация между кривите. Реализирайте изчертаване и осветяване на повърхнината. Реализирайте триангулация на повърнината чрез marching cubes. Две съседни триъгълни парчета грябва да са запълнени с различни цветове.

  15. (*) Реализирайте програма, построяваща и изобразяваща (с осветяване) ротационна повърхнина по зададена 2D крива. 2D кривата се задава интерактивно с мишката като крива на Безие, а оста около която се върти кривата е фиксирана и лежи в равнината на кривата.

  16. (**) Като 18, но повърхнината да може да се завърта интерактивно с мишката около масовия й център.

Върху всеки проект се работи самостоятелно. Желателно е резултатите да могат да се записват в някой от известните графични формати. Може да се използва произволен език за програмиране, както и системите Matlab, Matematica. Студентите задължително представят разпечатано описание на реализациния алгоритъм в размар около 2 страници, към което има и илюстративен пример от работата на програмата.

* означава “повишена трудност”.

Явяването на изпит може да стане и в класически вариант – по конспект.

Явяването на септемврийска сесия става само по конспект.

Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org