mesh pawn.3vn
! make a mesh

! создаем сетку

В первом примере создается объект «конический цилиндр», параметр которого используется для задания его точной формы; во втором примере создается объект «сетка», списки вершин и граней которого описаны в файле pawn.3vn. (На Интернет-сайте книги доступно много файлов в формате 3vn с примерами, в числе которых икосаэдр, ромб и бакибол.)

1040

Приложение Д. Введение в SDL

Управление аффинными преобразованиями Аффинное преобразование хранится вместе с каждым вновь создаваемым объектом. (Кроме того, хранится и обратное преобразование; оно используется при трассировке лучей.) Преобразование, которое инсталлируется вместе с объектом, - это текущее преобразование (current transformation - СТ), которое активно в данный момент. В SDL-файле следом за СТ указываются различные ключевые слова. Например, слово

identityAffine

помещает в СТ единичное преобразование (задаваемое единичной матрицей размерностью четыре на четыре), которое является таковым в момент, когда метод readO начинает интерпретировать SDL-файл.

Для изменения СТ в SDL используются ключевые слова scale, rotate, translate, за каждым из которых следуют соответствующие параметры; это напоминает способ использования в OpenGL подпрограмм glScalefO, glRotatefO, glTranslatefO для изменения матриц моделирования-вида и проекции. В частности, каждое слово умножает СТ справа на соответствующее преобразование, а произведение помещается обратно в СТ, например:

CT-CT*Trans

где Trans - матрица четыре на четыре, представляющая новое преобразование. В следующих трех командах

scale <sx> <sy> <sz> rotate <ang> <ux> <uy> <uz> translate <dx> <dy> <dz>

О scale принимает три вещественных параметра, которые являются масштабными множителями в направлениях осей х, у, г соответственно; О rotate принимает четыре параметра: угол (в градусах) поворота, а также компоненты осей х, у, z, вокруг которых осуществляется этот поворот (положительные значения угла ang приводят к повороту против часовой стрелки вокруг и-оси, если смотреть из точки и по направлению к началу координат);


⇐ Предыдущая| |Следующая ⇒