Динамическая графика 1994 г.

Анимаци в векторной графике - Представление объемных тел.


3.4.4. Представление объемных тел.

Трехмерные тела имеют вершины, которые связаны ребрами. Плоские геометрические фигуры, ограниченные этими ребрами, образуют грани.

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

На рис.39 показана пирамида. У нее пять граней и массив описания граней будет иметь, например такой вид:

1,2,2,3,3,1 1,5,5,2,2,1 1,4,4,5,5,1 1,3,3,4,4,1

Рис. 39 Описание граней объемного тела

грань А грань В

- грань С

- грань D

2,5,5,4,4,3,3,2 - грань Е.

Обратите внимание на то, что когда мы говорим о том, что вершины в грани "должны обходиться против часовой стрелки", то полагаем, что мы смотрим на эту грань как бы "снаружи", а не "изнутри". Поэтому если Вам непонятно, как образовался порядок обхода вершин для граней В,С и Е, то посмотрите на них с того направления, которое указано стрелкой.

И еще одно небольшое замечание. Для конкретной программы можно упростить описание граней, если соблюдается условие, что каждая грань представляет выпуклую, связную и замкнутую об-

ласть, ограниченную сторонами. Т.е., например, стороны ограничивают область, а не проходят сквозь нее так, как это происходит в "звезде", показанной на рис 38.

Тогда описание граней той же пирамиды может быть упрощено до следующего (в два раза уменьшается расход памяти):

1.2.3 - грань А 1,5,2 - грань В 1,4,5 грань С

1.3.4 - грань D 2,5,4,3 - грань Е.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Кодинг - Может помните 2-ой старенький выпуск психоза? Там в движке была такая фича, как текстовая аннимация. Выглядело неплохо. хотите знать как все это работало?
Mail Box - письма: Ellvis и Fatality довольны Scenergy #1, Ulterior поносит Antares и BrainWave, Realtimer разочарован.
Virus - Опять ?!
Ответы - Scorpion, GMX и Сергей Зонов...
PUSH HL - Печать текста с точностью до пикселя по координате Y.

В этот день...   24 ноября