x, y, z ? ? ,
i = 6 - номер точки основи. p align="justify"> Підстава 7-гранною піраміди можна задати наступним чином [6]:
x = r * cos (t), = r * sin (t), = z0,
де x, y, z ? ? span> - координатні осі, ? ? - кут у осі Х, t змінюється з кроком р/3. ? ? + - радіус описаного кола.
.2 Матриці основних перетворень
Матриця перетворень перенесення на вектор Т (x0, y0, z0) [7]:
,
де x0, y0, z0 ГЋ? - Початок координатних осей. p> Матриця перетворення повороту щодо осі X на кут б [7]:
,
де б ГЋ? - Кут до осі Х.
Матриця перетворення повороту щодо осі У на кут в [7]:
,
де в ГЋ? - Кут до осі Y.
Матриця перетворення повороту щодо осі Z на кут р [7]:
,
де г ГЋ? - Кут до осі Z.
Матриця перетворення масштабу на вектор Е (ex, ey, ez) [7]:
,
де ex, ey, ez ГЋ? + - координати радіус-вектора.
.3 Матриці перспективних перетворень
Матриці перетворення перспективного проектування з однією точкою сходу [7]:
,
,
,
де lx, ly, lzГЋ? -Відстань по осі X, Y, Z відповідно, на якому знаходиться точка проеціювання. p> Матриці перетворення перспективного проектування з двома точками сходу [7]:
,
,
,
де lx, ly, lzГЋ? -Відстань по осі X, Y, Z відповідно, на якому знаходиться точка проеціювання. p> Матриця перетворення перспективного проектування в довільному місці простору [7]:
,
де lx, ly, lzГЋ? -Відстань по осі X, Y, Z відповідно, на якому знаходиться точка проеціювання. br/>
3. Опис алгоритмів РОБОТИ ПРОГРАМИ
На рис. 3.1 представлена ​​блок-схема головний програми. p> Блок-схема головний програми
В
Рис. 3.1
З самого початку програма проводить підготовчі дії (такі як запам'ятовування поточного відеорежиму, установка нового режиму відео). Потім відбувається установка початкових характеристик тіл (7-гранною піраміди, кульового сегмента й циліндра). Тобто заповнюються масиви точок і ліній. Після цього відбувається циклічне виконання наступних дій: очищення всього екрану, поворот всієї фігури на кут повороту, додавання перспективи (всі ці дії змінюють вищезгадані масиви), малювання...