Построение додекаэдра

Додекаэдр - наиболее сложное платоново тело. Оптимальный метод его построения заключается в предварительном создании икосаэдра и соединении центров его смежных граней ребрами.

Икосаэдр конструируется по следующему алгоритму.

(рис. 5)

В окружностях сечений цилиндра единичного радиуса строятся правильные пятиугольники 1-3-5-7-9-1 и 2-4-6-8-10-2 с координатами вершин xi=cos(36°i), zi=sin(36°i), yi=(-1)i+1h при i=1..10.

Соединяя вершины 1-2-3-4-5-6-7-8-9-10-1, получим десять средних треугольных граней икосаэдра с длиной горизонтальных ребер

Так как у нас нет смещения по х и по у то и , а поэтому получим

Из условия получения равносторонних треугольников. Найдем высоту h, для этого распишем длину ребер d через координаты 1 и 10 вершины.

Так как то получим

Вычислим радиус описанной сферы

(рис. 6)

Функция K формирует матрицу координат вершин икосаэдра.

Q - матрица координат вершин икосаэдра.

G - матрица номеров вершин образующих одну грань икосаэдра.

Функция VV формирует матрицу координат вершин додекаэдра. Для этого из матрицы Q берем координатные столбцы вершин, образующих одну грань, усредняем их и получаем соответствующий координатный столбец матрицы Q12.

- матрица координат вершин додекаэдра.

В матрицы G12 задаем обход додекаэдра (рис. 7) для прорисовки.

(рис. 7)

Результатом работы функции V(Q, G) является блочная матрица, элементы которой содержат соответственно только координаты X, Y и Z начальных и конечных вершин всех ребер, входящих в матрицу G12.

Далее средствами Mathcad по результатам работы функции V(Q12,G12) строим график поверхности додекаэдра:

Заключение

В данной курсовой работе я разработал и реализовал с помощью процедур и функций встроенного языка системы MathCAD программу на основе алгоритма Брезенхема, обеспечивающую генерацию стандартных графических примитивов в соответствии с вариантом задания, а именно генерацию треугольника. Также я разработал алгоритм построения модели додекаэдра. Успешно построил его по разработанному алгоритму с использованием системы программирования MathCAD. Тем самым закрепил, углубил и расширил теоретические знания в области методов моделирования объектов, укрепил свои практические умения и навыки программной реализации методов.

 
< Пред   СОДЕРЖАНИЕ   Скачать