exam19 - MiAneko24/bmstu-cg GitHub Wiki
19. Модели трехмерных объектов. Требования, предъявляемые к моделям.
В трехмерной графике используются (в основном) 3 модели.
Каркасная (проволочная) модель
- Задается информация о вершинах и ребрах. Простейший вид модели.
- Недостаток: не всегда модель правильно передает представление об объекте.
С таким прямоугольным параллепипедом все будет нормально:
Но если в нём сделать отверстие, то полной информации о форме объекта по факту нет. Не понятно, что с чем связано.
Поверхностные модели
- Поверхность может описываться либо аналитически, либо другим способом. Например, хранить библиотеку поверхностей (хранить уравнения и задавать им коэффициенты).
- Недостаток - отсуствует информация, о том, с какой стороны поверхности находится материал, а с какой - пустота.
- Если решаем вопрос моделирования трехмерных объектов, то алгоритм для нас сойдет, потому что нам все равно, где и что с какой стороны находится.
Объемные модели
По факту это поверхностная модель + информация, где находится материал. Проще всего это сделать путем указания внутренней нормали.
В графике, как правило, мы работаем с поверхностными моделями. В более простом случае можем работать с каркасными моделями, а потом, заполучив результат, считать, что на этот каркас натянут материал
Требования к 3D-моделям.
1. Модель не должна противоречить исходному объекту.
2. Модель должна допускать возможность конструирования тела целиком (мощность модели).
3. Модель должна позволять вычисление геометрических характеристик тела.
4. Модель должна позволять производить расчеты.
Требования к 3D-моделям от Курова (лично требует):
1. Компактность - определяется количеством информации, которое необходимо задать и хранить для представления модели.
2. Не всегда компактность является основным параметром. Имеет смысл пойти на некую избыточность в плане представления модели, если эта избыточность позволит быстрее выполнять операции при использовании модели, то есть не вычислять каждый раз некоторые параметры, которые будут нужны при моделировании.
3. Желательно, чтобы каждая модель могла дополняться при расширении области применения данной модели, дополняться новыми свойствами.
Следующий вопрос: 20. Операции преобразования в трехмерном пространстве. Матрицы преобразований.
Предыдущий вопрос: 18. Отсечение многоугольников невыпуклыми областями. Алгоритм Вейлера Азертона.