Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Curves.doc
Скачиваний:
51
Добавлен:
01.09.2019
Размер:
4.51 Mб
Скачать

Теоремы Объединения [Uniformization]

Вы видели способ преобразования многочлена в параметрической форме в многочлен p(x, y) = 0 в предыдущем примере. Рациональные формы также можно преобразовывать в многочлены. Загвоздка в устранении параметра u из всех параметрических уравнений. Это сложно, но, как говорится, можно. Фактически, с помощью теории исключения, можно преобразовать полиномиальную или рациональную параметрическую форму в многочлен с двумя переменными. Это называется приведением к явному виду [implicitization].

Вопрос: если кривая задана в форме многочлена явно, можно ли найти параметрическую форму, полиномиальную или рациональную, чтобы она описывала ту же самую кривую? К сожалению, нет. То есть, существуют кривые, не имеющие параметрического рационального представления или в виде многочлена (напр., эллиптическая кривая y2 = x3 + ax + c). Это результат теорем объединения.

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

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

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

  1. Интуитивной: В общем, понятной для обезьян и студентов.

  2. Гибкой: Чтобы можно было выполнять больше разных операций над объектами.

  3. Единые Методы: То есть, принципы создания и редактирования разных объектов должны быть едиными.

  4. Инвариантность: Кривая не должна изменять своей геометрии при таких преобразованиях, как перенос, поворот и проецирование.

  5. Эффективность и Численная Устойчивость: Пользователю системы разработки кривых может быть пофигу, что там за геометрия; ему надо, чтобы система выдала нужную ему кривую быстро и точно. А также, большое количество вычислений не должно "исказить" форму кривой (это и есть численная устойчивость).

В этом разделе мы обсудим некоторые техники разработки кривых, соответствующие вышеизложенным критериям. Обсудим кривые Безье, рациональные кривые Безье, кривые B-spline и NURBS. Тема дает следующие возможности:

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

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

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

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

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

  6. Зная кривые, перейти к поверхностям будет несложно.

И кривые Безье, и B-spline - полиномиальные параметрические кривые Как уже обсуждалось, такие кривые не могут быть использованы для представления некоторых простых кривых, например, окружностей. При введении [homogeneous] координат, делающих их рациональными, кривые Безье и B-spline обобщаются до рациональных кривых Безье и неравномерных рациональных B-сплайнов (Non-Uniform Rational B-splines), сокращенно NURBS. Очевидно, что рациональные кривые Безье более сильные, чем просто кривые Безье, так как с помощью рациональных можно также представлять и окружности и эллипсы. Аналогично, NURBS сильнее B-сплайнов. Вот соотношение между этими четырьмя типами представления кривых.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]