Главная > Математика > Геометрическое моделирование
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

7.3. Вариационные связи точек в пространстве

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

Линейный размер.

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

(7.3.1)

где d — требуемый размер. В координатном представлении уравнение связи имеет вид

Линейный размер приведен на рис. 7.3.1. Точка лежит в структуре данных тора и определяет положение центра его местной системы координат. Точка лежит в структуре данных сферы и определяет положение ее центра.

Рис. 7.3.1. Линейный размер между точками центров тора и сферы

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

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

(7.3.2)

где — исходное положение точек, которое в общем случае не удовлетворяет уравнению (7.3.1). Добавив (7.3.2)-(7.3.6) к (7.3.1), получим системы шести уравнений относительно шести параметров. Перепишем все уравнения, придав им вид . Первое уравнение является нелинейным.

Решим систему уравнений методом Ньютона, описанным в гл. 4. Организуем итерационный процесс

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

где

Система уравнений (7.3.8) в матричной записи имеет вид

(7.3.9)

Эта система имеет единственное решение, если определитель На каждой итерации матрица А вычисляется заново, так как точки перемещаются в пространстве, и может случиться так, что определитель матрицы А на очередной итерации окажется равным нулю. Тогда точки следует вернуть в исходное положение, а размер положить равным расстоянию между ними. Каждая строка матрицы А соответствует определенному уравнению. Для уравнения в системе (7.3.8) коэффициенты строки матрицы А определяются по формулам

Итерационный процесс (7.3.7) закончим, когда приращения координат на очередной итерации станут меньше заданной величины.

Возможны и другие варианты дополнительных уравнений. Например, если требуется сохранить точку в заданном положении, то в качестве дополнительных уравнений можно использовать уравнения (7.3.2), (7.3.3) и

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

Размер вдоль координаты.

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

Она связывает две соответствующие координаты двух точек и описывается одним из уравнений

(7.3.10.1)

где — требуемые размеры. Уравнения (7.3.10), примененные к координатам точек отрезка могут сделать отрезок параллельным соответствующей координатной плоскости. Два уравнения (7.3.10) могут сделать отрезок параллельным одной из координатных осей.

Размер вдоль направления.

Еще одной вариационной связью двух точек является размер вдоль заданного направления. Она описывается уравнением

(7.3.11)

где — задающий направление вектор единичной длины, d — требуемый размер. Уравнение (7.3.11) устанавливает, что проекция вектора построенного между заданными точками, на направление вектора m по абсолютной величине равна d. В координатной записи уравнение (7.3.11) имеет вид

(7.3.12)

Уравнение (7.3.12) связывает шесть параметров. Если — три линейно независимых вектора единичной длины, то можно задать относительное положение двух точек сразу тремя размерами вдоль трех некомпланарных направлений :

(7.3.13)

В координатной записи уравнения (7.3.13) имеют вид

Совмещение точек.

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

(7.3.14)

Данная вариационная связь содержит три скалярных уравнения

(7.3.15)

Симметрия точек относительно плоскости.

Рассмотрим вариационную связь симметрии точек относительно плоскости

(7.3.18)

Плоскость будем считать неподвижной, поэтому ее параметры варьироваться не будут.

Симметрия точек относительно плоскости описывается тремя уравнениями

(7.3.19)

где . Три уравнения (7.3.19)-(7.3.21) связывают шесть параметров. Симметрия точек показана на рис. 7.3.2.

Рис. 7.3.2. Симметрия точек относительно плоскости

Рис. 7.3.3. Угловой размер между тремя точками NURBS кривой

Угловой размер.

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

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

(7.3.22)

где

(7.3.23)

а — заданный угол.

Величина s равна произведению длин векторов на . Величина с равна произведению длин векторов на . Квадрат s определяется формулой

(7.3.25)

Уравнение (7.3.22) связывает девять параметров.

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

(7.3.26)

Векторы являются составляющими векторов ортогональными единичному вектору m. Знак плюс в (7.3.26) выбирается в случае совпадения направления векторов , знак минус — в противном случае.

Угол между векторами.

Пусть имеется четыре точки По четырем точкам можно построить два вектора. Построим векторы на точках . Будем считать, что эти векторы не коллинеарны. Два вектора определяют семейство плоскостей, параллельных одновременно им обоим. Каждая плоскость семейства будет ортогональна вектору

На четыре точки можно наложить вариационную связь, определяющую угол между векторами . Эта связь аналогична угловому размеру (7.3.22). Уравнение, описывающее угол между четырьмя точками, имеет тот же вид, что и уравнение (7.3.22):

(7.3.28)

где

(7.3.29)

— заданный угол. Величина s равна произведению длин векторов на . Величина с равна произведению длин векторов .

Квадрат s определяется формулой

Уравнение (7.3.28) связывает двенадцать параметров.

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

(7.3.31)

Точками скрещения пространственных линий являются точки на линиях для которых выполняются равенства

(7.3.33)

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

(7.3.35)

или

По найденным параметрам найдем точки скрещения.

Ортогональность векторов.

Частным случаем вариационной связи (7.3.28) является ортогональность векторов, построенных по точкам . Данная вариационная связь определяется уравнением

(7.3.37)

Если на точках построены отрезки прямых (7.3.31) и (7.3.32), то уравнение (7.3.37) делает эти отрезки ортогональными.

Параллельность векторов.

Вариационная связь, делающая векторы параллельными, определяется векторным уравнением

(7.3.38)

Связь (7.3.38) будем называть параллельностью векторов. Уравнение (7.3.38) содержит три скалярных уравнения

<< Предыдущий параграф Следующий параграф >>
Оглавление