Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция №4 по КГиГ.doc
Скачиваний:
12
Добавлен:
11.11.2018
Размер:
13.2 Mб
Скачать

Суперцилиндр

Особенностью алгебраических уравнений суперповерхностей 2-го порядка является порядок степеней не выше 2. Однако наличие дробных степеней говорит о том, что в данном случае это уравнение 10-ой степени. Если это уравнение привести к общему виду с целочисленными показателями, то такая операция приведет из огромного многообразия поверхностей 10-го порядка к выделенному классу суперповерхностей 2-го порядка, так как из общего числа коэффициентов членов алгебраического уравнения 10-го порядка (286) не равных нулю будут не более 13.

Меняя параметры кинематических моделей суперповерхностей или значения коэффициентов членов алгебраических уравнений суперповерхностей с дробными показателями, возможно конструирование сложных по форме технических поверхностей.

Преобразование моделей

Для геометрического конструирования сложных объектов из графических примитивов и размещения их в пространстве необходимо осуществлять с графическими примитивами и моделями объектов различные преобразования: перенос, поворот, масштабирование и изменение формы.

Перенос в пространстве осуществляется путем движения параллельно осям прямоугольной системы координат. Для перемещения точки в пространстве достаточно дать приращения по координатам x, y, z.

Формулы переноса

; ; ,

где - координаты прежнего положения точки;

- приращения координат;

- координаты нового положения точки.

Эти формулы впрямую используются для перемещения растровых, точечных и каркасных моделей, так как во всех этих моделях осуществляется перемещение точек.

Для перемещения аналитических моделей необходимо преобразовывать коэффициенты уравнений. Выведем формулы преобразования коэффициентов алгебраического уравнения общего вида от 1-го по 3-ий порядок.

Нам необходимо получить новые значения коэффициентов уравнения перемещенной поверхности , выраженные через коэффициенты уравнения поверхности первоначального положения .

Всевозможные произведения переменных уравнения после подстановки приращений ; ; ; будут иметь вид:

;

;

;

;

;

;

;

;

;

;

;

;

.

Выполнив группировку коэффициентов уравнений от старших к младшему, получим формулы для вычисления новых коэффициентов алгебраического уравнения 3-го порядка после перемещения поверхности в пространстве.

; ; ; ; ; ;

; ; ; ;

;

;

;

;

;

;

;

;

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

Перемещение в пространстве не меняет ориентации поверхности, ее масштабов и не изменяет форму поверхности.

Поворот точки в пространстве осуществляется по окружности вокруг осей в плоскостях перпендикулярных оси вращения с радиусом, равным расстоянию от точки до оси вращения.

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

Направление вращения вокруг осей прямоугольной системы координат показано на рис.1.85, при расположении оси на нас положительное вращение идет против часовой стрелки.

Z

X

Y

Рис.1.85

Вывод формул вычисления координат аналитических моделей графических объектов (как и в случае переноса) осуществляется, методом подстановки формул вращения точки в уравнение, и вычисление новых значений коэффициентов уравнений через прежние коэффициенты и значения углов поворота.

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

Опуская громоздкие подстановки, приводим формулы вычисления координат точки и коэффициентов алгебраического уравнения 3-го порядка при выполнении вращения вокруг осей x, y, z. Эти формулы годны для поверхностей и 1-го и 2го порядков, при этом коэффициенты более высокого порядка равны нулю.

Поворот вокруг оси x точки c координатами (x,y,z)

;

;

,

где x, y, z - первоначальные координаты точки,

- угол поворота вокруг оси x,

- координаты повернутой точки.

Поворот вокруг оси x алгебраической поверхности 3-го порядка общего вида,

где - первоначальные значения коэффициентов уравнения,

- значения коэффициентов уравнения после поворота,

- угол поворота вокруг оси x.

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

.

Поворот вокруг оси y точки c координатами (x,y,z)

;

;

,

где x, y, z - первоначальные координаты точки,

- угол поворота вокруг оси y,

- координаты повернутой точки.

Поворот вокруг оси y алгебраической поверхности 3-го порядка общего вида,

где - первоначальные значения коэффициентов уравнения,

- значения коэффициентов уравнения после поворота,

- угол поворота вокруг оси y.

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

.

Поворот вокруг оси z точки c координатами (x,y,z)

;

;

,

где x, y, z - первоначальные координаты точки,

- угол поворота вокруг оси z,

- координаты повернутой точки.

Поворот вокруг оси z алгебраической поверхности 3-го порядка общего вида,

где - первоначальные значения коэффициентов уравнения,

- значения коэффициентов уравнения после поворота,

- угол поворота вокруг оси z.

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

.

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

Выведенные формулы справедливы для вращения вокруг осей прямоугольной системы координат (центр вращения находится в начале системы координат). В случае если вам необходимо вращать объект вокруг оси, произвольно расположенной в пространстве, то необходимо ось вращения совместить с осью системы координат путем переноса и поворота, а после выполнения вращения вернуть ось вращения в прежнее положение. Практически это делается следующим образом. В объекте выбирается точка, лежащая на оси вращения, эта точка переносится в начало системы координат. Затем на оси вращения выбирается вторая точка, которая путем вращения совмещается с выбранной осью системы координат. После выполнения заданного поворота объекта, возвращаем положение оси вращения объекта в первоначальное положение, последовательно повернув и перенося ось объекта.

Данный способ поворота в пространстве не меняет местоположение поверхности, ее масштабов и не изменяет форму поверхности.

Масштабирование – это увеличение или уменьшение размеров объекта в определенное число раз по отношению к оригиналу. Масштаб записывается отношением двух чисел, где оригинал всегда представлен 1, а масштабированный объект представлен любым числом больше единицы (М), том числе и дробным. Масштаб увеличения записывается как М:1, а масштаб уменьшения как 1:М.

Масштабирование всегда осуществляется относительно какой-либо точки (центра масштабирования). В прямоугольной системе координат это означает увеличение или уменьшение координат точек в определенное число раз по отношению к началу системы координат.

Равномерное масштабирование означает одинаковое масштабирование по всем трем осям системы координат. Для симметричных объектов такое масштабирование не меняет формы объекта, если центр масштабирования совпадает с центром симметрии, а меняет только размер объекта.

Неравномерное масштабирование (разные масштабы для осей системы координат) приводит к изменению формы объекта. Но в этом случае меняется не тип объекта, а образуется подтип объекта.

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

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

Формулы масштабирования для точки

увеличение

; ; ,

уменьшение

; ; ;

; ; ,

где - новые координаты масштабированной точки;

- первоначальные координаты точки;

- значения масштаба увеличения по осям соответственно;

- значения масштаба уменьшения по осям соответственно.

Масштабирование точки при увеличении масштаба приводит к удалению точки от начала системы координат, а при уменьшении масштаба точки приводит к приближению точки к началу системы координат.

Способом подстановки получим формулы масштабирования для коэффициентов уравнения 3-го порядка, имея в виду, что уравнение общего вида имеет коэффициенты, которые обратно пропорциональны коэффициентам приведенного уравнения. Это означает, что при масштабировании поверхностей, описанных алгебраическими уравнениями общего вида, значения масштабов при вычислении значений коэффициентов алгебраического уравнения общего вида меняются местами, по сравнению с вычислением координат точки.

Увеличение размеров объекта

уменьшение значений коэффициентов алгебраического уравнения общего вида приводит к увеличению размеров объекта.

Уменьшение размеров объекта

увеличение значений коэффициентов алгебраического уравнения общего вида приводит к уменьшению размеров объекта.

Масштабирование плоскости, расположенной в начале системы координат с любой ориентацией, не имеет смысла, так как нормаль плоскости равна нулю. Если нормаль имеет какое либо числовое значение, то увеличение масштаба плоскости удаляет плоскость от начала системы координат, а уменьшение масштаба плоскости приближает плоскость к началу системы координат, не меняя при этом ориентации в пространстве, так как при масштабировании сохраняются соотношения коэффициентов уравнения плоскости , а меняется только значение коэффициента , который определяет значение нормали плоскости.

Сравнение моделей

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

Для сравнения различных моделей было подсчитано значение объемов необходимой памяти для каждой модели с целью записи многоцветного объекта, состоящего из одной поверхности 2-го порядка. Была выбрана поверхность - окрашенный в цвета радуги двухосный эллипсоид (рис.1.86), размером 200 х 180 х 180 мм. Эллипсоид размещен в центре сцены размером 256х192х192 мм. Шероховатость его поверхности не должна превышать 0,01 мм.

Рис.1.86

Данные сравнения приведены в таблице 1.5. При вычислении коэффициента сжатия, за 1 был принят объем записи изображения в стандарте TIFF.

Таблица 1.5

Наименование модели

Объем записи (байт)

Коэффициент

сжатия

2D, пиксельная, стандарт TIFF

6 140 776

1

2D, пиксельная, стандарт JPEG

79 443

77,2980

Растровая (3D, бинарное)

28 311 552 000 000

0,000002184

Точечная

1 633 597 200

0,003759

Векторная

74 352

82,5905

Алгебраическая

60

102346,2666

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

Преимущество аналитических моделей перед растровыми, точечным и каркасными заключается в описании непрерывных абсолютно тонких и бесконечно точных поверхностей в компактной форме (табл.1.5), но визуализация их представляет собой довольно сложный и вычислительно трудоемкий процесс. Применение многих эффективных методов вычислительной математики все равно ставит под сомнение возможность визуализации таких поверхностей в реальном времени на существующей вычислительной технике. Требуются либо эффективные аппаратные решения (увеличение производительность процессоров, создание специальных геометрических процессоров параллельной обработки частей изображений вплоть до пиксела), либо на определенном этапе преобразовывать с выбранной точностью аналитические модели в каркасные (векторные) модели, что даст возможность использовать существующие графические приложения, работающие с векторными моделями. Однако необходимо отметить, что любые преобразования одних моделей в другие должны быть обоснованы, как правило, они ведут к потере информации.