lign="justify"> Рис. 1.1 - паралелепіпед і піраміда. p> висота піраміди.сторона піраміди., b, c-ребра паралелепіпеда.
? x і? y - зсув центру піраміди по x і у відповідно.
Об'єкт складається з паралелепіпеда і піраміди, яка може мати 6 варіантів кріплення з паралелепіпеда.
Користувачеві необхідно ввести параметри об'єкта. p> Щоб вирішити поставлене завдання необхідно отримати тривимірну геометричну модель вище описаного тіла. У даній роботі будемо використовувати поверхневу геометричну модель (рис. 1.2). У даній моделі зберігається інформація про грані, ребрах, вершинах. p> Кожна грань містить посилання на ребра, які утворюють цю грань. У даній моделі 6 граней паралелепіпеда і 4 грані піраміди. Грані паралелепіпеда сформовані з 4 ребер, а піраміди з 3 ребер. Кожне ребро містить посилання на 2 вершини, що утворюють це ребро. У даній моделі 18 ребер. Кожна вершина вказує на координати x, y, z. p> У геометричній моделі при проведенні перетворень буде мінятися тільки нижній рівень - координати вершин. Інша частина моделі буде змінюватися автоматично, так як, зрештою, всі об'єкти посилаються на координати. p> Розрізняють 3 види тривимірних моделей:
каркасні (дротові);
поверхневі (полігональні);
об'ємні (моделі суцільних тіл).
У курсовій роботі використовується поверхнева модель.
В
Рис.1.2 - Геометрична модель
У програмі модель описана в класі Model.cs, в якому зберігаються масиви об'єктів: граней, ребер, точок; дані моделі: h, a, b, c, d;
private Point3 [] pPar = new Point3 [8], pPir = new Point3 [8]; Rebro [] rPar = new Rebro [12], rPir = new Rebro [12]; Gran [] gPar = new Gran [ 6], gPir = new Gran [6];
В
Малюнок 1.3 - Каркасна модель об'єкта
2. Геометричні перетворення моделі
До геометричних перетворень відносяться переміщення, поворот і масштабування.
Геометричні перетворення ведуться в однорідних координатах, де кожна точка має вигляд:
В
При такому поданні зручно оперувати великим числом вершин. Перетворення об'єкта в однорідних системах координат ведеться шляхом множення кожної точки на матрицю перетворення. Всі геометричні перетворення в тривимірному просторі виконуються щодо центру системи координат. br/>
2.1 Перенесення
Точки на площині можна перенести в нові позиції шляхом додавання до координат цих точок констант переносу. Матриця переносу має наступний вигляд. br/>В В
- початкова точка, - крапка після виконання переносу, - матриця переносу, - значення переносу щодо осі OX. - значення переносу щодо осі OY. - значення переносу щодо осі OZ.
В
Малюнок 2.1-Перенесення об'єкта на 50 пікселів по осі Ox і на 50 по осі Oy
2.2. Поворот
Точки можуть бути повернені на певний ...