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

2.3. Кривые второго порядка

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

Декартовы координаты х и у на плоскости кривых второго порядка связаны уравнением второй степени

(2.3.1)

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

(2.3.2)

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

Тип линии второго порядка и ее положение в пространстве определяются значениями инвариантов

В расширенной матричной записи уравнение кривой второго порядка (2.3.1) имеет вид

где использованы расширенный вектор (1.4.3)

и расширенная матрица

В расширенной матричной записи преобразование координат (2.3.3) имеет вид

где — расширенная матрица:

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

откуда следует, что есть инвариант относительно преобразования (2.3.3). Действительно,

Доказательство инвариантности величин Д, Д может быть выполнено путем замены координат (2.3.3) в (2.3.1) и вычислении величин (2.3.2) аналогично доказательству инвариантности

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

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

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

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

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

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

В силу свойства инвариантов для данного уравнения будем иметь равенства Отсюда следует, что Такая кривая не является центральной и имеет действительные точки при

Приведем классификацию линий второго порядка. Тип линии определяется знаком инварианта :

• эллиптический тип, если ,

• параболический тип, если ,

• гиперболический тип, если

Для того чтобы линии второго порядка не вырождались в прямые, необходимо, чтобы Если линия имеет эллиптический тип и то уравнению (2.3.1) не удовлетворяет ни одна точка плоскости, а уравнение называют уравнением мнимого эллипса. Мы получим эллипс при , гиперболу — при параболу — при

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

и равны

(2.3.5)

Угол поворота главной системы координат относительно исходной удовлетворяет системе уравнений

где A — корни характеристического уравнения. Если корни характеристического уравнения различны, то система (2.3.6) имеет одно независимое уравнение. Исключим А из уравнений (2.3.6) и получим

(2.3.7)

Если или , то мы можем найти угол поворота главной системы координат. Он определяется равенством

(2.3.8)

После преобразования координат в новой системе уравнение кривой (2.3.1) примет вид

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

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

Если , то каноническое уравнение кривой имеет симметричный вид и у кривойесть центральная точка (эллипс и гипербола). В противном случае кривая не имеет центра (парабола).

При переходе к главной центральной системе координат уравнение кривой второго порядка приобретает канонический вид:

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

действительную и мнимую полуоси гиперболы — по формулам

параметр параболы — по формуле

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

(2.3.12)

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

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

2.4. Сплайны

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

Довольно большой класс линий можно построить по совокупности точек. Такие линии можно назвать точечно-заданными. Это ломаная линия и различные сплайны. Мы рассмотрим кубический сплайн, сплайн в форме Лагранжа, сплайн в форме Ньютона и сплайны Эрмита. Задача ставится следующим образом: имеется совокупность точек в пространстве, радиус-векторы которых равны , где — номера точек; требуется построить линию, радиус-вектор которой при значениях параметра был бы равен . Другими словами, необходимо построить интерполяционную кривую. Точки которые определяют линию и являются ее внутренними данными, будем называть характеристическими точками кривой, точки на числовой оси будем называть узлами, а значения параметра будем называть узловыми.

Ломаная линия.

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

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

Рис. 2.4.1. Ломаная линия

Для параметра можно использовать систему координат, где его значение в точке ; равно номеру точки: Такая параметризация называется равномерной, а параметрическая длина ломаной в таком случае равна числу точек минус один. Ломаная линия приведена на рис. 2.4.1.

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

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

Сплайн Эрмита.

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

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

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

(2.4.2)

Местный параметр w изменяется от 0 до 1. Векторы найдем из условий на границе участка кривой

После решения этой системы уравнений и подстановки искомых значений в (2.4.2), получим зависимость радиус-вектора для сплайна Эрмита

где . В (2.4.3) введены обозначения для функций

удовлетворяющих равенствам:

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

Мы рассмотрели случай, когда для кривой заданы производные в точках. Если производные q неизвестны, то их можно вычислить по одной из схем. В первом случае их можно положить равными

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

Рис. 2.4.2. Ломаная линия и составной сплайн Эрмита

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

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

На рис. 2.4.2 приведены ломаная линия и составной сплайн Эрмита, построенный данным способом — по характеристическим точкам ломаной.

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

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

Аналогично можно найти производные в крайних точках составной кривой из других условий. Такими условиями могут служить: равенство нулю вторых производных на концах кривой; равенство производных радиус-вектора на концах заданным значениям. Составной сплайн Эрмита дает приемлемую аппроксимацию при большой плотности точек. Вторые производные в характеристических точках составном сплайне Эрмита не сохраняют непрерывность.

Кубический сплайн.

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

После двукратного интегрирования получим

(2.4.5)

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

(2.4.6)

Выражение (2.4.6) описывает кубический полином на отрезке и содержит две неизвестные величины Для их определения приравняем первую производную сплайна на правом конце отрезка первой производной сплайна на левом конце отрезка

После дифференцирования (2.4.6) и подстановки получим

После замены в (2.4.6) i на дифференцирования и подстановки , получим

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

(2.4.9)

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

Рис. 2.4.3. Кубический сплайн (1), сплайн Эрмита (2)

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

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

(2.4.10)

где

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

Если положить, что значения параметра в характеристических точках равно их номерам , то уравнение (2.4.9) упростится и примет вид

(2.4.11)

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

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

Рис. 2.4.4. Кубический сплайн (1), сплайн Эрмита (2), сплайн Лагранжа (3) порядок производных радиус-вектора, для которых можно сохранить непрерывность, равен при характеристических точках. Это можно сделать, построив интерполяционный полином Лагранжа или Ньютона.

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

(2.4.12)

который при заданных значениях параметра U принимает заданные значения . Для определения векторов а, получим систему линейных уравнений, определитель которой отличен от нуля, если среди точек нет совпадающих друг с другом. Сформулированная задача имеет единственное решение.

Сплайн Лагранжа.

Интерполяционная формула Лагранжа представляет собой решение задачи построения кривой по заданным точкам в виде

(2.4.13)

где функции равны 1 при и равны 0 в остальных узлах . Функции будем искать в виде многочленов степени , а именно:

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

(2.4.14)

Итак, интерполяционный полином Лагранжа имеет вид

Часто интерполяционный полином Лагранжа записывают в другом виде

где

На рис. 2.4.4 приведены кубический сплайн, составной сплайн Эрмита и сплайн Лагранжа, построенные по одним и тем же восьми точкам. На рисунке видно, что кривые ведут себя по-разному.

Сплайн Ньютона.

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

(2.4.17)

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

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

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

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