Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория[1].pdf
Скачиваний:
149
Добавлен:
27.03.2015
Размер:
1.24 Mб
Скачать
3 j=03 C3jC3iui(1-u)3-ivj(1-v)3-jVij

29

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

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

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

r(u,v)= i= 0 m j=0n ai(u)bj(v)Vij

Рассмотрим элементарную бикубическую поверхность Безье. Параметрические уравнения фрагмента этой поверхности имеют следующий вид:

r(u, v)= i= 0 0<=u<=1; 0<=v<=1

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

упираясь в точки Vоо, Vоз, Vзо, Vзз, касается исходящих из них отрезков контрольного графа заданного набора.

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

3. Преобразование координат

При работе с геометрическими объектами часто изменять их положение в пространстве, и преобразовывать размеры. Это требуется:

При вводе/выводе координат и размеров в UCS;

При построении изображений объекта с различных точек зрения;

При построении изображений объекта в различных масштабах;

При построении геометрически подобных объектов

итак далее.

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

3.1.1Однородные системы координат

Для реализации преобразований координат точек в компьютерных программах удобно использовать однородные системы координат и представлять точку не тремя, а четырьмя координатами. В этом случае все стандартные преобразования представляются в виде матрицы размером 4x4, а преобразование сводится к умножению этой матрицы на радиус-вектор точки.

30

Однородными системами координат (называемые также пропорциональными системами координат) называются такие системы координат, в которых положение точки определяется отношением координат друг к другу.

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

Пусть в пространстве с декартовой системой координат OXYZ имеется точка P, ко-

x

 

 

торую описывает радиус-вектор r y . Этот радиус-вектор описывает положение точки

 

 

z

P в трехмерном пространстве. В геометрических САПР используется представление точек в однородной 4-х мерной системе координат, которое получают умножением трех декартовых координат точки на одно и тоже число и добавлением этого числа в качестве четвертой координаты.

В такой однородной системе координат радиус-вектор r записывается так:

 

wx

 

 

 

 

 

wy

 

r

wz

 

 

 

 

 

 

 

 

 

 

 

w

, где w – любое вещественное число.

 

 

 

Использование числа w<1, позволяет оперировать со значениями координат x, y, z выходящими за диапазон представления чисел процессора. Естественно, теряя точность. Например, при w=0.5 и декартовых координатах точки (60000, 20000, 10000), ее однородные координаты будут (30000, 10000, 5000, 0.5). Такие представления широко использовались на 16-ти разрядных компьютерах без арифметических сопроцессоров.

В программном обеспечении, ориентированном на современные компьютеры, с длиной слова процессора 32 бита и более, обычно, принимают w=1.

3.1.2Матрицы преобразований

Преобразование координат x1, x2, … есть множество правил или соотношений, ставящих каждой точке (x1, x2, …) в соответствие новый набор координат.

Обозначим через T квадратную матрицу, имеющую такую же размерность, что и вектор r . Тогда результатом умножения матрицы на вектор будет так же вектор r ' . В декартовых координатах:

31

 

 

t

t

11

12

r ' Tr

t21

t22

 

 

 

t32

 

 

t31

В однородных координатах:

t13 x t11x t12 y t13z

t23 y t21x t22 y t23z . t33 z t31x t32 y t33z

 

 

t

 

 

11

 

 

t21

r ' Tr

t

31

 

 

 

 

 

 

 

 

 

t41

t12 t13 t22 t23 t32 t33 t42 t43

t14 wx t11wx t12wy t13wz t14w

t24 wy t21wx t22wy t23wz t24w t34 wz t31wx t32wy t33wz t34w .

t44 w t41wx t42wy t43wz t44w

Таким образом, матрица задает преобразование координат. Такую матрицу называют

матрицей преобразований.

Используя записанные выражения получить координаты точки в координатной системе с новыми базисными векторами;

3.1.3 Изменение масштаба

 

 

 

 

В декартовых координатах:

 

 

 

 

 

 

 

0

 

 

 

r ' Tsrs

0

 

 

 

 

0

0

 

 

 

В однородных координатах:

 

 

 

0

0

 

 

 

0

 

0

 

 

 

r ' Tsr

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

 

 

0

x

 

x

 

 

 

 

 

0

y

 

y .

 

 

 

 

 

z

 

z

0

wx

 

wx

 

 

 

 

 

 

0

wy

 

wy

0

wz

 

wz .

 

 

 

 

 

 

1

 

 

 

w

 

 

w

 

 

3.1.4Поворот

Вокруг оси OX:

в декартовых координатах

 

 

 

1

 

 

r ' Rxr

 

0

 

 

 

0

 

 

 

в однородных координатах

0 cos sin

0

x

 

x

 

 

 

 

 

 

 

sin y

y cos z sin ;

cos

 

 

 

 

 

z

y sin z cos

 

 

 

1

0

 

 

 

0

cos

 

 

 

r ' Rxr

 

0

sin

 

 

 

 

 

 

 

 

 

 

 

0

0

 

 

 

Вокруг оси OY:

в декартовых координатах

 

 

cos

 

 

 

 

r ' Ryr

 

0

 

 

 

sin

 

 

 

0

0

wx

 

wx

 

 

 

 

 

 

 

 

sin

0

wy

wy cos wz sin y

cos

0

wz

wy sin wz cos .

 

 

 

 

 

 

 

0

1

 

 

 

w

 

 

w

 

 

0

sin x

 

x cos z sin

 

 

 

 

 

 

 

 

1

0

y

 

y

;

0

 

 

 

 

 

 

cos z

 

x sin z cos