Введение в цифровую графику




Глава 12 Принципы векторной графики


    Глава 12 Принципы векторной графики
    ЧАСТЬ IV ВЕКТОРНАЯ ГРАФИКА Глава 12 Принципы векторной графики Общие принципы векторной графики Исторические предшественники Параметрические уравнения Гладкие кривые NURBS-кривая Контрольные точки...
    Часть IV
    Часть IV . ВЕКТОРНАЯ ГРАФИКА Глава 12. Принципы векторной графики Глава 13. Трехмерная графика Данная часть так же, как и предыдущая часть III, является основной и предлагает полное описание друго...
    Узлы
    Узлы На рис. 12.10 все базовые функции имеют одинаковую форму и размещены на равных расстояниях друг от друга. Это очень симметрично и элегантно, но на самом деле желательно варьировать длины инте...
    Рис. 12.11. Пример однородного узлового вектора
    Рис. 12.11. Пример однородного узлового вектора Следующий рисунок (рис. 12.12) представляет пример кривой, созданной на основе такого узлового вектора....
    Рис. 12.12. NURBS-кривая с однородным узловым вектором
    Рис. 12.12. NURBS-кривая с однородным узловым вектором Если изменить узловой вектор, например, следующим образом: {0.0, 1.0, 2.0, 3.75, 4.0, 4.25, 6.0, 7.0}, то получится другое множество неодноро...
    Рис. 12.13. Неоднородные базовые функции для множества контрольных точек
    h2>Рис. 12.14. NURBS-кривая с неоднородным узловым вектором...
    Характеристика семейства базовых функций
    Характеристика семейства базовых функций Для любого значения параметра t сумма всех базовых функций строго равна 1. Если веса всех контрольных точек положительны, кривая лежит в области, полученно...
    Рациональные кривые
    Рациональные кривые Обратимся к ключевой букве в названии NURBS — R, что означает rational (рациональный). Рациональные кривые, в сравнении с обычными (нерациональными — non-rational) В-сплайнами,...
    Замечание
    Вес в математическом смысле — это значение, важность, влияние, которое выражается особой функцией или числовым значением. Это одно из важных понятий в теории принятия решений. Изначально координат...
    Рис. 12.15. Изменение формы кривой при изменении веса контрольной точки
    Рис. 12.15. Изменение формы кривой при изменении веса контрольной точки Замечание Важно заметить, что существенным является только относительное изменение весов контрольных точек. Если вдвое увели...
    Пример
    Квадратичная (второй степени) NURBS-кривая определяется тремя контрольными точками (рис. 12.16). У всех трех кривых узловой вектор имеет вид {0.0, 0.0, 0.0, 1.0, 1.0, 1.0}. Веса первой и последней...
    Рис. 12.16. NURBS-кривые с различными весами центральной контрольной точки
    Рис. 12.16. NURBS-кривые с различными весами центральной контрольной точки При всех своих непревзойденных свойствах NURBS-кривые все же обладают следующим громадным недостатком: расширенные возмож...

    Кривая Безье (формулы и принципы построения)
    Кривая Безье (формулы и принципы построения) В общем случае кривая Безье — это частный случай В-СПЛЗЙНОВ (NURBS-кривых), которые можно определить как взвешенная сумма п+ 1 контрольных точек, где в...
    Рис. 12.17. Кривая первой степени (прямая)
    Рис. 12.17. Кривая первой степени (прямая) Квадратичная кривая, кривая второй степени, определяется формулой: = (1 - t)2P0 + 2(1 - t)tP1 + t2 P2. Это выражение представляет собой линейную интерпол...
    Рис. 12.18. Кривая второй степени (квадратическая кривая)
    Рис. 12.18. Кривая второй степени (квадратическая кривая) Кубическая кривая, кривая третьей степени, определяется формулой: P(t) = (1 - t)3Р0 + 3(1 - t)2tP1 + 3(1 - t)t2P2 + t3 Р3. Это выражение п...
    Свойства кривых Безье
    Свойства кривых Безье Кривые Безье любой степени обладают следующими важными свойствами. П Начальная и конечная контрольные точки лежат на кривой. Кривая на всем протяжении непрерывна, у нее отсут...
    Рис. 12.20. Кривая в выпуклом многоугольнике
    Рис. 12.20. Кривая в выпуклом многоугольнике Кривую Безье можно рассматривать как пошаговое уточнение формы многоугольника, получаемого последовательным соединением ее контрольных точек (рис. 12.2...
    Рис. 12.21. Первый этап аппроксимации кривой
    Рис. 12.21. Первый этап аппроксимации кривой...
    Рис. 12.22. Второй этап аппроксимации кривой
    Рис. 12.22. Второй этап аппроксимации кривой...
    Рис. 12.23. Третий этап аппроксимации кривой
    Рис. 12.23. Третий этап аппроксимации кривой Рис. 12.24. Итоговая ломаная кривая...
    Канонический вид кривой Безье
    Канонический вид кривой Безье Рассмотрим канонический вид кривой Безье и попытаемся понять, как из одной-единственной кривой получается бесконечно большое многообразие форм, которые используются в...
    Рис. 12.25. Канонический вид кривой Безье
    Рис. 12.25. Канонический вид кривой Безье Причем, это уже не математическое описание, а сугубо прикладное отображение, именно то, которое знакомо всем пользователям векторных программ....
    Замечание
    Такое отображение все чаще используется и в программах пиксельной графики, а также в программах верстки. Для построения этой кривой требуются четыре контрольные точки. Но кривая физически проходит...
    Справка
    Слово вектор латинского происхождения: vector переводится как несущий, в математике используется для обозначения отрезка определенной длины и направления. Два вектора считаются равными лишь в том...
    Рис. 12.26. Составной контур с разнонаправленными векторами
    Рис. 12.26. Составной контур с разнонаправленными векторами Рис. 12.27. Составной контур с однонаправленными векторами...
    Изменение формы кривой
    Изменение формы кривой Как же изменить форму канонической кривой Безье, чтобы с ее помощью получить огромное многообразие форм, из которых можно составить объект любой бложности? В программах вект...
    Рис. 12.28. Способы изменения формы сегмента
    Рис. 12.28. Способы изменения формы сегмента Таким образом, с помощью перемещения этих четырех точек получают неограниченное количество форм кривой Безье, которая может быть всего-навсего одним от...
    Соединение нескольких секторов
    Соединение нескольких секторов Теперь необходимо рассмотреть, как создается многообразие контуров с помощью соединения нескольких канонических кривых Безье в связанную последовательность, часто да...
    Рис. 12.29. Примеры векторных контуров, составленных из кривых Безье
    Рис. 12.29. Примеры векторных контуров, составленных из кривых Безье В каждом сегменте можно добавлять опорные точки, в данном случае появляются две дополнительные управляющие точки с управляющими...
    Замечание
    Для того чтобы отличать кривую как элементарную кривую, исходную кривую и кривую, которая уже находится в составе контура, последнюю чаще всего принято называть сегментом (сегментом контура или се...
    Типы опорных точек
    Типы опорных точек Соединительные точки между сегментами бывают нескольких типов. Действительно, можно предположить, что в одном случае требуется обеспечить соединение, скажем, криволинейного сегм...
    Замечание
    Типы опорных точек в трехмерной графике представлены ниже на примере Autodesk 3D МАХ. Первый тип опорной точки, который соединяет два сегмента, обеспечивает независимость управляющих точек по напр...
    Рис. 12.30. Пример точки перегиба
    Рис. 12.30. Пример точки перегиба...
    Рис. 12.31. Пример гладкой точки
    Рис. 12.31. Пример гладкой точки У программы CorelDRAW предусмотрен подвид гладкого сочленения, который называется симметричный узел (symm от слова symmetrical) (рис. 12.32). Суть его состоит в то...
    Замечание
    В программах Adobe Illustrator и Macromedia Freehand такой тип опорной точки отсутствует, хотя его можно получить вручную. В свою очередь, у программы FreeHand в отдельный вид опорных точек выделе...
    Замечание
    В программах CorelDRAW и Adobe Illustrator такое соединение также имеет место, но не выделено в специальный тип опорной точки....
    Рис. 12.32. Симметричная опорная точка
    Рис. 12.32. Симметричная опорная точка...
    Рис. 12.33. Пример тангенциальной точки в программе FreeHand
    Рис. 12.33. Пример тангенциальной точки в программе FreeHand Типы опорных точек можно суммировать в виде следующей таблицы (табл. 12.1). Таблица 12.1. Типы опорных точек в различных векторных прог...
    Язык PostScript
    Язык PostScript ЯЗЫК описания страницы PostScript был создан в начале 80-х годов прошлого века фирмой Adobe. Его идеология состояла в том, что он был призван стать языком управления графическим ус...
    Глава 12.
    Глава 12. Принципы векторной графики В этой главе рассматриваются принципы векторной графики: формулы и способы построения. Данная глава написана совместно с Иваном Борисовичем Петровым. Дискретиз...
    Краткая информация
    Краткая информация о векторных форматах файлов Векторный формат WMF Векторный формат WMF (Windows Metafile) применяется для хранения векторных изображений, например в этот формат конвертируются ве...
    Векторный формат EPS
    Векторный формат EPS Векторный формат EPS (Encapsulated PostScript) является вариантом PostScript-файла. Он разработан фирмой Adobe Systems как универсальный формат для нужд цифровой графики и пол...
    Замечание
    Формат предполагает запись пиксельного изображения в форматах TIF или WMF. Если предполагается необходимость печати файла EPS на PCL-принтере, следует сохранить документ с вариантом TIFF и достато...
    Векторный формат PDF
    Векторный формат PDF Векторный формат PDF (Portable Document Format — переносимый формат документов) — это еще одна ипостась языка PostScript, а именно его оптимизированная версия, ориентированная...
    Векторный формат AI
    Векторный формат AI Векторный формат AI принадлежит фирме Adobe и является внутренним форматом векторного редактора Adobe Illustrator....
    Векторный формат CDR
    Векторный формат CDR Векторный формат CDR принадлежит фирме Corel и является внутренним форматом векторного редактора CorelDRAW....
    Векторный формат FH
    Векторный формат FH Векторный формат FH с порядковым номером версии принадлежит фирме Macromedia и является внутренним форматом векторного редактора FreeHand. Резюме Идея векторной графики состоит...
    Общие принципы векторной графики
    Общие принципы векторной графики Разум так же близок к истине, как многоугольник к кругу, ибо чем больше число углов вписанного многоугольника, тем больше он приблизится к кругу, но никогда не ста...
    Замечание
    Такой принцип по-прежнему используется, например в системах, связанных с режущими устройствами. Указанные недостатки заставляют искать другие способы описания формы объектов и использовать более с...
    Пример-метафора
    Упрощенно говоря, задача формулируется так: найти некий набор заготовок, каких-нибудь бесконечно гибких проволочек, из которых мы единообразным способом с помощью одной и той же формулы получим са...
    Исторические предшественники
    Исторические предшественники Учение о природе будет содержать науку в собственном смысле лишь в той мере, в какой может быть применена в нем математика. Иммануил Кант В докомпьютерные времена спец...
    Рис. 12.1. Чертежные сплайны
    Рис. 12.1. Чертежные сплайны Впоследствии понятие сплайна стали применять в математике для похожей цели — описания кривых. В 1885 году Карл Вейерштрасс сформулировал и доказал теорему, названную е...
    Справка
    Вейершрасс Карл (1815—1897) — немецкий математик, иностранный член-корреспондент (1864) и иностранный почетный член (1895) Петербургской Академии Наук. Известен своими трудами в области математиче...
    Справка
    Слово полином происходит от греческого слова poly, что означает многочисленный, и латинского слова nomen — имя, русский эквивалент этого понятия — многочлен. Полином представляет собой алгебраичес...
    Справка
    Бернштейн Сергей Натанович (1880—1968)— математик, академик Академии Наук СССР и Академии Наук Украины. Основные труды относятся к области теории дифференциальных уравнений (условия аналитичности...
    Справка
    Аппроксимация происходит от латинского слова approximo, что переводится как приближаюсь, в математике это означает замену одних объектов, например сложных функций, другими, более простыми, которые...
    Справка
    Безье (Bezier) Пьер Этьен (1910 — 1999) — французский инженер и ученый, который, поступив в 1933 году на завод Рено, с 1960-х годов начал исследования в области компьютерного моделирования, в част...
    Замечание
    В 1981 году состоялась знаменитая выставка Москва — Париж, сначала во Франции, потом — в СССР. На выставке демонстрировались шедевры русской и французской культуры конца XIX — начала XX веков. Бал...
    Параметрические уравнения
    Параметрические уравнения Как уже было сказано выше, кривые можно представлять аналитически и графически, т. е. как график функции. Математики записывают это следующим образом: что означает значен...
    Рис. 12.2. График функции у = 2х
    Рис. 12.2. График функции у = 2х...
    Рис. 12.3. График функции у = sinx
    Рис. 12.3. График функции у = sinx Такой способ представления формулы и ее графика называется явным. Он позволяет относительно легко строить график. Однако у этого способа с точки зрения графическ...
    Пример-метафора
    Можно легко представить, что значения параметра t— это отсчеты времени, в течение которого происходит перемещение определенной частицы вдоль произвольной кривой, например окружности. Параметрическ...
    Пример
    Графики синусоиды и косинусоиды в явном виде не позволяют замкнуть линию, а две параметрические функции x(f) = cost; y(t) = sinf создают окружность, если t пробегает значения между 0 и 360 градусо...
    Справка
    Параметрическое представление функции — это выражение функциональной зависимости между несколькими переменными введением вспомогательных переменных, которые принято называть параметрами. Если мы р...
    Гладкие кривые
    Гладкие кривые Все умные места кривые. Мераб Мамардашвшш Одной из самых важных причин выбора в качестве средств векторной графики кривых Безье и NURBS-кривых является управляемая гладкость. Гладко...
    Пример-метафора
    Продолжая метафору частицы, перемещающейся по кривой, можно сказать, что у нее на пути вдоль параметрической кривой не должно быть остановок (кроме начала и конца) и внезапного изменения направлен...
    Рис. 12.4. Касательная на гладкой кривой
    Рис. 12.4. Касательная на гладкой кривой...
    Рис. 12.5. Касательная на кривой с изломом
    Рис. 12.5. Касательная на кривой с изломом Теперь мы должны подробнее познакомиться с основами построения гладких кривых, применяющихся в векторной компьютерной графике. Начнем с NURBS-кривых, кот...
    NURBS-кривая
    NURBS-кривая Обсуждение стоит начать с объяснения термина NURBS, который является аббревиатурой (сокращением) и расшифровывается как Non-Uniform Rational B-spline, где: Non-Uniform (неоднородный)...
    Замечание
    Заметим заранее, привычные для плоских векторных художников кривые Безье являются специальным (частным) случаем В-сплайна. Информацию о кривых Безье см. далее, в одноименном разделе. Вряд ли эти р...
    Контрольные точки
    Контрольные точки Для начала следует вспомнить определение параметрической кривой, которое упоминалось ранее. Определение параметрических функций см. в разд. Параметрические уравнения данной главы...
    Рис. 12.6. Пример построения параметрической кривой
    Рис. 12.6. Пример построения параметрической кривой В указанном выше выражении не определена правая часть, т. е. собственно параметрическое уравнение, а точнее, параметрические уравнения. Одной из...
    Замечание
    Контрольные точки соединены для наглядности прямыми линиями. Эта ломаная линия получила название управляющего многоугольника (control polygon)....
    Рис. 12.7. Множество контрольных точек, определяющих параметрическую кривую
    Рис. 12.7. Множество контрольных точек, определяющих параметрическую кривую Эта особенность NURBS-кривой важна, поскольку позволяет локализовать изменение формы кривой перемещением отдельных контр...
    Рис. 12.8. Изменение формы фрагмента кривой, вызванное перемещением контрольной точки
    Рис. 12.8. Изменение формы фрагмента кривой, вызванное перемещением контрольной точки Каждая контрольная точка определяет форму только той части кривой, которая находится в ее окрестности, и оказы...
    Пример-метафора
    В каждый данный момент положение движущейся частицы определяется как весовое усреднение положения всех контрольных точек. При этом контрольные точки, расположенные ближе к частице, оказывают больш...
    Базовые функции
    Базовые функции Функция, которая определяет, как сильно форма кривой зависит от конкретной контрольной точки Вi, называется базовой функцией (basis function) этой контрольной точки....
    Замечание
    Собственно, в названии В-сплайнов буква В и означает базовые (basis). Значение базовой функции представляет собой вещественное число. Необходимо учесть, что описание NURBS-кривой требует задания б...
    Пример-метафора
    Можно описать значения функции для выбранного значения параметра t, например, таким образом: 30% положения одной контрольной точки плюс 60% — другой и плюс 10% — третьей. Это, в частности, означае...
    Рис. 12.9. Типичный график базовой функции отдельной контрольной точки
    Рис. 12.9. Типичный график базовой функции отдельной контрольной точки Поскольку каждая контрольная точка обязана иметь свою базовую функцию, NURBS-кривая, построенная, например, по пяти контрольн...

    Межсетевой экран Aker перейти









Начало