Відсікання невидимих ліній, використання модуля Graph3d 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Відсікання невидимих ліній, використання модуля Graph3d



 

Нижче, у відповідності до формул 1.35 – 1.37 реалізовано алгоритм відсікання невидимих частин алгоритмом сортування граней. Для цього використали побудову тетраедра. Перш ніж вивести на екран грань проводимо обрахунок чи є вона видима чи ні, і в залежності від результату проводимо прорисовку.

 

procedure draw_poly(j, color: Word);

var

vertex: array[1..3] of PointType;

i,k:Word;

begin

i:=1;

k:=1;

repeat

if i<>j then

begin

project(P,d3[i], c, d2[k]);

inc(k);

end;

Inc(i);

until k=4;

SetFillStyle(SolidFill, color);

FillPoly(3, d2);

end;

 

Для повного відображення можливостей модуля Graph3d було реалізовано ряд програм, зокрема: Surf3.pas – відображення рухомої поверхні подібної до розходження хвиль від джерела удару; Solar.pas – імітація руху планет навколо сонця, використовує диметричну проекцію та працює з використанням відеосторінок; MY_3D.pas – забезпечує реалізацію основних елементів перетворення у просторі а саме, клавіші відповідають:

- PgUp – поворот точок за годинниковою стрілкою навколо осі Z;

- PgDn – поворот точок проти годинникової стрілки навколо осі Z;

- Home– поворот точок за годинниковою стрілкою навколо осі X;

- End – поворот точок проти годинникової стрілки навколо осі X;

- Insert– поворот точок за годинниковою стрілкою навколо осі Y;

- Delete – поворот точок проти годинникової стрілки навколо осі Y;

- "Q" – рух по осі Z в додатному напрямку;

- "E" – рух по осі Z в протилежному напрямку;

- "W" – рух по осі Y в додатному напрямку;

- "S" – рух по осі Y в протилежному напрямку;

- "A" – рух по осі X в додатному напрямку;

- "D" – рух по осі X в протилежному напрямку;

- "+" – збільшити масштаб;

- "-" – зменшити масштаб.

Дана програма використовує диметричну проекцію побудови зображень та не використовує роботи з відеопам’яттю.


ВИСНОВКИ

Проаналізувавши проблему використання комп’ютерної графіки, зокрема об’ємних фігур, ролі анімації та методів її відображення і у відповідності до мети курсової роботи було виконано наступне:

1. проведено детальний аналіз літератури та Інтернет-джерел за темою "Тривимірна графіка. Анімація"; 2. виокремлення основних понять, формул і методів роботи із об’єктами у тривимірному просторі;3. проведено детальний аналіз розділу математики "Вектори, матриці", де було виокремлено основні поняття по роботі з векторами, матрицями, які спрощують розуміння учнями основних подій в 3d просторі; 4. практично реалізовано основні алгоритми роботи по діям над точкою в просторі:

- рух;

- поворот;

- масштабування;

5. сформовано лекційний теоретичний матеріали.

Результатом роботи є лекційний курс по програмування тримірної графіки та методика відображення анімаційних проектів з допомогою стандартних засобів мови програмування Pascal, без використання сторонніх бібліотек. Даний лекційний курс побудований лише на математичних функціях і їх використанні на мові програмування. Він охоплює такі області як векторна, матрична математика. Даний курс доповнений реалізованими прикладами, що дають практичне уявлення про застосування математичних моделей у програмуванні, вчать аналітично реалізовувати поставленні завдання, покладаючись на різноманітні алгоритми та методи. Кінцевий продукт має практичну цінність у застосуванні при роботі із поєднання програмування із математикою, даючи наглядне розуміння взаємодії і використання математичних методів та фунцій, їх застосування на практиці.


СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

1. Turbo Pascal – Издательская група К.: ВНV, 2000. – 320 с.

2. Абрамов В. Г. Введение в язык Pascal: Учебное пособие для студентов вузов по специальности Прикладная математика. – М.: Наука, 1988. – 158 с.

3. Абрамов С. А. Начала программирования на языке Pascal. - М.: Наука, 1987. – 126 с.

4. Аммерал А. Машинная графика на языке С, в 4-х томах, изд-во Сол. Систем, – 1992. – 230 с.

5. Власик А.П. Практикум з програмування в середовищі Turbo Pascal. – Рівне. – НУВГ,- 53 с.

6. Вэн-Дэм. А. Основы интерактивной машинной графики, т.1-2, М. Мир, 1985. – 257 с.

7. Гилой. Интерактивная машинная графика. – М., Мир, –1981. – 210 с.

8. Грайс. Графические средства персональных компьютеров. – М., – Мир, 1980. – 142 с.

9. Грис Д. Наука программирования. M.: Мир, 1984. – 230 с.

10. Джонс Ж., Харроу К. Решение задач в системе Турбо Паскаль. М, 1991. – 709 с.

11. Жикин А.Е. Компьютерная графика. Динамика, реалистические ихображения, М., Диалог-МИФИ, – 1995 – 324 с.

12. Зуев Е. А. Язык программирования Турбо Паскаль 6.0, 7.0. – М.: Радио и связь, 1993. – 150 с.

13. Ковалюк Т.В. Основи програмування. Київ: Видавнича група ВНV, 2005. – 385 с.

14. Культин Н. Б. Программирование в TurboPascal 7.0 и Delphi. - Санкт- петербург,1999. – 120 с.

15. Майкл Ласло. Вычислительная геометрия и компьютерная графика на С++. Москва – Бином, 1997. – 440 с.

16. Марченко А.И., Марченко Л.А. Программирование в среде Turbo Pascal 7.0. К.: ВЕК, – 2000. – 441 с.

17. Немнюгин С.А. Turbo Pascal Практикум. 2-е издание. – С-Пб., – Питер– 2003, - 267 с.

18. Перминов О. Н. Программирование на языке Паскаль. – М.: Радио и связь, – 1988. – 97 с.

19. Перминов О. Н. Язык программирования Pascal. – М.: Радио и связь,– 1989. – 205 с.

20. Препарата Ф. Вычислительная геометрия: Введение, М. Мир, 1989.  ч.1.- Рівне: НУВГП, 2005. – 179 с.

21. Роджерс, Адамс, Математические основы машинной графики, – М.? Машиностроение, – 1985.– 102 c.

22. Роджерс С.А. алгоритмические основы машинной графики. М. Мир, 1989. – 235 с.

23. Тихомиров Ю. Программирование трехмерной графики, С.-Пб.: БХВ‑Санкт-Петербург,1999. – 350 с.

24. Томпсон Н. Секреты программирования трехмерной графики для Windows 95. Перев с англ. – СПб: Питер, – 1997. – 352 с.

25. Фокс А. Вычислительная геометрия, М., Мир, – 1982. – 421 с.

26. Хонич А. Как самому создать трехмерную игру. М.:МИКРОАРТ, 1996. – 220 с.



Поделиться:


Последнее изменение этой страницы: 2020-03-02; просмотров: 119; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.142.146 (0.009 с.)