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

7.11. Вариационные связи двухмерных линий

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

Пусть даны два отрезка прямых

(7.11.1)

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

(7.11.3)

где а — заданный угол. Синус и косинус угла пропорциональны величинам:

(7.11.5)

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

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

Как частный случай связи (7.11.3) может рассматриваться вариационная связь устанавливающая ортогональность отрезков. Данная вариационная связь описывается уравнением

(7.11.6)

Систему уравнений для определения положения точек получим из равенства нулю частных производных функции

(7.11.7)

где — исходные положения точек, в общем случае не удовлетворяющие уравнению (7.11.6).

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

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

(7.11.8)

Пусть в исходном состоянии координаты точек не удовлетворяют уравнению (7.11.7). Применим метод минимизации суммарного изменения параметров. Систему уравнений для определения положения точек получим из равенства нулю частных производных функции

(7.11.9)

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

(7.11.10)

Эта система имеет решение

где . Перемещение точки происходит по нормали к отрезку, проходящему через точки (рис. 7.11.1).

Рис. 7.11.1. Параллельность отрезков прямой линии

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

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

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

В соответствии с решением (7.11.11) точка будет двигаться вокруг точки так, что ее координаты будут изменяться по закону

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

Рис. 7.11.2. Траектории движения отрезка параллельно зависимого от отрезка при закрепленных точках

При изменении угла от 0 до точка сделает половину оборота по окружности вокруг точки а точка сделает полный оборот по окружности вокруг точки Траектории движения точек показаны на рис. 7.11.2. Точка движется по окружности а точка движется по окружности

Касание сплайнов.

Рассмотрим вариационные связи касания линий друг друга. Пусть даны две NURBS кривые. Одна из них описывается функцией

(7.11.13)

и построена на точках с весами , а другая описывается функцией

(7.11.14)

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

Рис. 7.11.3. NURBS кривые будут касаться ближайшими точками

Эти точки должны удовлетворять уравнениям (4.8.9), в данном случае имеющим вид

Пусть этим точкам соответствуют параметры (рис. 7.11.3).

Точки на кривых выражаются в виде сумм

(7.11.16)

где

Пусть точки имеют координаты . Если бы точки совпали, то являлись бы решением задачи касания кривых (7.11.13) и (7.11.14). Поэтому в качестве уравнения связи возьмем уравнение

(7.11.18)

Составим функцию суммарного перемещения точек касающихся кривых совместно с уравнением связи (7.11.18). Эта функция имеет вид

(7.11.19)

Систему уравнений для определения положения точек получим из равенства нулю частных производных функции (7.11.19)

(7.11.20)

где

Система уравнений (7.11.20) на итерации метода Ньютона дает приращения искомых функций, равные:

(7.11.21)

Значение коэффициента Л на текущей итерации равно

(7.11.22)

где . Пока решение не найдено, коэффициент Л остается не равным нулю.

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

Следует заметить, что в искомой точке выполняется равенство (7.11.18), что обращает в нуль числители и знаменатели последних слагаемых уравнений системы (7.11.20).

Рис. 7.11.4. Модификация NURBS кривых при наложении связи касания

Если на очередной итерации выполнилось венство (7.11.18), а решение системы нелинейных уравнений еще не закончено, то следует использовать вычисленные на предыдущей итерации. Поведение кривых приведено на рис. 7.11.4.

Касание отрезка и окружности.

Решим задачу касания в частных случаях. Касание отрезка и окружности

описывается уравнением

(7.11.24)

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

(7.11.25)

где — исходные положения точек — исходное значение радиуса окружности.

Система уравнений для определения положения точек имеет вид

(7.11.26)

Система уравнений (7.11.26) решается итерационно. Перед началом новой итерации необходимо заново вычислить параметр . Поведение отрезка и окружности приведено на рис. 7.11.5.

Рис. 7.11.5. Поведение окружности и отрезка при касании

Касание окружностей.

Касание двух окружностей

(7.11.27)

описывается уравнением

(7.11.29)

В данном случае радиусы окружностей также являются варьируемыми параметрами. Уравнение (7.11.29) связывает шесть параметров.

Систему уравнений для определения параметров связи получим, приравняв нулю частные производные по параметрам функции

(7.11.30)

где — исходные положения центров, — исходное значение радиусов окружностей. Знак ± должен быть раскрыт в зависимости от положения ближайших точек окружностей. Эти точки лежат на линии, соединяющей их центры. Пусть окружности расположены вне друг друга. Тогда система уравнений для определения положения центров окружностей и их радиусов имеет вид

где . Эта система имеет решение

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

Рис. 7.11.6. Касание окружностей

Поведение окружностей приведено на рис. 7.11.6. При расположении окружностей одна внутри другой в уравнениях (7.11.31) изменяется знак перед одним из радиусов.

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