Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Компьютерная графика и геометрическое моделирование в информационных системах. Учебное пособие для бакалавров направлений подготовки 230100 «Информати.pdf
X
- •ВВЕДЕНИЕ
- •5. ПРОЕЦИРОВАНИЕ ТРЁХМЕРНЫХ ОБЪЕКТОВ
- •6. РАСТРОВОЕ ТЕКСТУРИРОВАНИЕ
- •10. МОДЕЛИ ОСВЕЩЕНИЯ
- •12. ВОСПРОИЗВЕДЕНИЕ КРИВЫХ
- •12.1. ИНТЕРПОЛИРОВАНИЕ С ПОМОЩЬЮ МНОГОЧЛЕНОВ
- •12.2. МНОГОЧЛЕНЫ БЕЗЬЕ
- •12.3. ПАРАМЕТРИЧЕСКИЕ КУБИЧЕСКИЕ КРИВЫЕ
- •13.1. ФОРМА ЭРМИТА
- •12.5. СРАВНЕНИЕ КРИВЫХ ЭРМИТА, БЕЗЬЕ И B-СПЛАЙНОВ
- •13.2. ФОРМА БЕЗЬЕ
- •13.3. ФОРМА B-СПЛАЙНОВ
- •14. ПРИБЛИЖЕНИЕ И ВОСПРОИЗВЕДЕНИЕ ПОВЕРХНОСТЕЙ
- •14.2. ПЛАЗОВЫЕ ПОВЕРХНОСТИ
- •14.3. ПОВЕРХНОСТЬ КУНСА
- •14.4. ПОСТРОЕНИЕ ПОВЕРХНОСТЕЙ ПО ОРИЕНТИРАМ
- •16. МОДЕЛИРОВАНИЕ ГЕОМЕТРИЧЕСКИХ ФОРМ
- •16.1. МЕТОДЫ ПОСТРОЕНИЯ МОДЕЛЕЙ
- •16.2. ВНУТРЕННЕЕ ПРЕДСТАВЛЕНИЕ МОДЕЛЕЙ
- •16.3. ДВУМЕРНОЕ МОДЕЛИРОВАНИЕ
- •16.4. ТРЁХМЕРНОЕ МОДЕЛИРОВАНИЕ
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ

Следует заметить, что форма Эрмита для бикубических кусков
поверхности является одной из форм куска Кунса. Иногда в литературе можно встретить ещё одно название подобной поверхности – поверхность Фергюссона.
13.2. ФОРМА БЕЗЬЕ
Уравнения для кусков Безье выводятся так же, как и для бикубических кусков Эрмита [1]. В результате получим
TT
TMPSMtsx =),( ;
bxb
TT
TMPSMtsy =),(
; (13.5)
byb
TT
TMPSMtsz =),( .
bzh
Геометрическая матрица Р состоит из 16 управляющих точек
(рис. 13.3). Поверхности Безье используются часто при интерактивном
проектировании по тем же причинам, что и кривые Безье: управляющие точки позволяют легко изменять форму куска поверхности. Поверхности Безье, так же как и кривые Безье, обладают свойством выпуклой оболочки.
р
Для достижения непрерывности в поперечном нап
авлении относительно рёбер кусков необходимо равенство четырёх управляющих
точек, принадлежащих общим рёбрам соседних кусков. Для непрерывности касательного вектора и, следовательно, С
(1)
-непрерывности тре-
буется, кроме того, чтобы две четвёрки управляющих точек по обеим
сторонам общего ребра были коллинеарные другим точкам ребра. Таким образом, на рис. 13.4 коллинеарными будут следующие совокупности управляющих точек: (P
, P34, P35). Отношение длин коллинеарных отрезков должно быть
(P
33
, P14, P15), (P13, P14, P15), (P23, P24, P25) и
13
постоянным.
Рис. 13.3. Параметры для поверхности Безье
61

Рис. 13.4. Два куска поверхности Безье, которые соединяются вдоль ребра,
определяемого точками P
, P24, P
14
34
и P44.
Куски в форме B-сплайнов [1] представляются в виде
Здесь, как и для кривых в форме B-сплайнов, достигается C
13.3. ФОРМА B-СПЛАЙНОВ
TT
TMPSMtsx =),( ;
sxs
TT
TMPSMtsy =),(
; (13.6)
sys
TT
TMPSMtsz =),( .
szs
(2)
-не-
прерывность. Матрица, состоящая из 16 управляющих точек, описывает кусок, а также в общем случае и точки, не лежащие на самом куске.
Куски в форме B-сплайнов на практике «мягко» сшиваются между собой при моделировании сложных 3D-объектов. Способ подобной
сшивки предлагается самостоятельно реализовать студентам в рамках
курсовой работы по дисциплине «Ко
мпьютер
ная графика».
14. ПРИБЛИЖЕНИЕ И ВОСПРОИЗВЕДЕНИЕ ПОВЕРХНОСТЕЙ
Воспроизведение поверхности трёхмерного объекта играет важную роль при использовании систем обработки графической информации при решения таких прикладных задач, в которых пользователю
необходимо располагать различными видами группы твёрдых тел [3].
Приближение поверхности требуется осуществлять и в случаях, когда
объекты задаются множествами точек. Приближение и воспроизведе-
62

ние поверхностей представляет интерес и для других прикладных областей. В машинной картографии и географии работа ведётся с моделями участков местности, которые представляются математическими
описаниями поверхностей. В обработке изображений и распознавании
образов поверхности используются при анализе изображений, по
крайней мере, двумя способами. Во-первых, изображение можно рассматривать как поверхность, испо
льзуя значения яркости в качес
тве
третьей координаты. Во-вторых, можно рассматривать поверхности
объектов, присутствующих на изображении. В этом случае задача сегментации сводится к идентификации групп пикселов, являющихся
изображениями поверхности.
Поверхности, встречающиеся во всех этих областях, слишком
сложны для того, чтобы их можно было описать единственным урав-
ределения, и, следовательно, возникает
нением во всей их област
и оп
потребность в кусочной аппроксимации поверхностей. Простейшими
являются кусочно-линейные аппроксимации, в частности построенные
посредством использования многогранника с треугольными гранями.
Пусть {Р} – множество точек, расположенных на поверхности S.
В таком случае каждая тройка точек определяет плоскость и надлежащий выбор троек обеспечивает аппроксимацию поверхности S многогранником. К сожалению, во многих случаях число треугольников,
необходимое для приемлемой аппроксимации, оказывается слишком
большим и поэтому приходится обращаться к поверхностям высших
зникают пр
облемы представления таких
кусочных поверхностей.
Одно из решений этой проблемы предусматривает задание на поверхности множества кривых и затем определение с помощью этих
кривых интерполяционных конечных (участков) поверхностей, огра-
ниченных соответствующими кривыми. Другой способ предусматривает использование точек-ориентиров или плоскостей-ориентров
таким образом, как это делалось на плоскости применительно к кривым Безье и B-сплайнам.
Важным аргументом при выборе способа математического описания для представления поверхности служит простота решения некоторых важных задач машинной графики, например определения пересечения двух поверхностей. Очевидно, что для эт
ого боль
ше всего
подходят плоскости, однако при большом числе конечных участков
поверхности, ограниченных замкнутыми кривыми, общий объём вычислений может оказаться значительным. Поверхности, построенные с
помощью B-сплайнов, обладают свойством выпуклой оболочки, что
позволяет определить плоскости, ограничивающие расположение поверхности. Число таких плоскостей может оказаться значительно
г
меньше, чем необходимо при аппроксимации много
ранниками, и,
63

следовательно, задачи на пересечение и подобные им легче решать,
=
=
===
−−++=
≤
+
=
=
=
−
оперируя этими плоскостями. Дополнительные затраты, снизанные с
определением точного пересечения, часто очень малы. В самом деле,
большинство выпуклых оболочек вообще не пересекаются, и, следовательно, отсутствует необходимость проверять, не пересекаются ли соответствующие поверхности.
В общем случае поверхность можно описывать с помощью одн
го
из следующих уравнений:
•
явное – );,( yxfZ
•
алгебраическое – ;0),,(
•
параметрическое – ).,(),,(),,( vuZzvuYyvuXx
zyxF
о-
Параметрическая форма задания поверхности удобнее всего в
прикладных задачах машинной графики.
14.1. ЛИНЕЙНЫЕ И БИЛИНЕЙНЫЕ
ИНТЕРПОЛЯЦИОННЫЕ УЧАСТКИ ПОВЕРХНОСТИ,
ОГРАНИЧЕННЫЕ ЗАМКНУТЫМИ КРИВЫМИ
Простейшим средством интерполяции в трёхмерном случае явля-
ется плоский треугольник, заданный тремя точками: P
, P2 и P3 [3].
1
Пусть u и v – скалярные переменные, принимающие значения от 0 до 1.
В таком случае поверхность треугольника, вершины которого находятся в указанных точках, определяется уравнением
)1(),(
321
при условии, что .1
ственно,
и
)0,0( PT
3
vu Есте-
)0,1( PT
,
1
. Кроме того,
uvPvPuPvuT
(14.1)
)1,0( PT
2
)0,(uT – прямая, соединяющая
точки P
соединяющая точки P
щая точки P
и P3, ),0( vT – прямая,
1
и P3, и
2
)1,( uuT
– прямая, соединяю-
и P2.
1
Несколько более сложный
вид имеет билинейная интерпо-
Рис. 14.1. Пример множества
из четырёх точек,
определяющих некоторую
билинейную поверхность
64
ляционная поверхность, задаваемая на множестве из четырёх
точек (рис. 14.1). Такая поверхность определяется как

,)1()1()1)(1(),(
+−+−+−−
=
uvPvuPvuPvuPvuS
(14.2)
где
Очевидно, что S(0, 0) = P
.1,0 ≤≤ vu
, S(0, 1) = P2 и т.д. Кроме того, S(0, v) –
1
отрезок прямой, соединяющий точки P
соединяющий точки P
и P4 и т.д. Если четыре заданные точки ком-
2
и P2, S(1, v) – отрезок прямой,
1
4321
планарны, то S представляет собой плоский интерполяционный четырёхугольник; в противном случае S – поверхность второго порядка.
Градиент интерполяционной поверхности по u и v можно найти с помощью обычного дифференцирования уравнения (14.2):
S
∂
u
∂
S
∂
v
∂
),1)(()(
vPPvPP
−−+−=
1324
1234
).1)(()(
uPPuPP
−−+−=
Следует напомнить, что эти уравнения векторные и, следователь-
но, если X
обозначает координату x точки P
i
u
, то
i
1324
).1)(()(
vXXvXXX
−−+−=
Аналогичные соотношения можно записать для Yu и Zu. Здесь
верхний индекс введён для обозначения вида производной.
Плазовые поверхности получаются в применении процедуры линейного интерполировании к кривой, а не к точкам [3]. Пусть Р(0, v) и
Р(1, v) – уравнения, задающие соответственно две пространственные
кривые. Тогда плазовая поверхность определяется как
где .1,0 ≤≤ vu
Другими словами, такая поверхность порождается отрезком
прямой, скользящим по двум кривым. Например, если этими двумя
кривыми служат окружности, расположенные в плоскостях, перпендикулярных прямой, соединяющей их центры, то построенная таким
образом поверхность представляет собой конус, усечённый двумя
плоскостями.
Название этого типа поверхностей связано с тем, что они используются при работе в плазе – пл
ральных размерах чертежа судна или самолета, по которому изготавливают шаблоны для раскроя и выгиба элементов обшивки и набора
корпуса.
14.2. ПЛАЗОВЫЕ ПОВЕРХНОСТИ
S(u, v) = (1 – u)Р(0, v) + иP(1, v), (14.3)
ощадке дл
я разбиения в нату-
65

−+−++
−
−−−−−
−
=−−−+−+
14.3. ПОВЕРХНОСТЬ КУНСА
Эти поверхности обеспечивают интерполирование четырёх кривых. Названы они по имени Кунса (S. A. Coons), который ввёл их в
обращение примерно в 1960 году [3]. Пусть Р(u, v) – функция двух
переменных, обладающая таким свойством, что в случае, когда и или
v – константа, эта функция сводится к параметрическому представлению пространственной кривой. Конечный участок поверхности с
замкнутой границей можно построить, объединяя граничные кривые
Р(и, 0), Р(и, 1), Р(0, v) и Р(1, v) следующим образом:
= uvPuvPvuPvuPvuS ),1()1)(,0()1,()1)(0,(),(
−− (14.4)
.)1,1()1()0,1()1)(1,0()1)(1)(0,0( uvPvuPvuPvuP
Четыре последние члена в выражении 14.4 необходимы для предотвращения того, чтобы попарные пересечения четырёх кривых не
учитывались дважды. Таким образом,
=
).0,()0,1()1)(0,0()0,1()1)(0,0()0,()0,( uPuPuPuPuPuPuS
Аналогичные выражения записываются для S(u, 1) и т.д.
14.4. ПОСТРОЕНИЕ ПОВЕРХНОСТЕЙ ПО ОРИЕНТИРАМ
Воспользовавшись обобщением многочленов Безье или B-сплайнов
типов можно задать поверхность с помощью точек ориентиров.
14.4.1. Поверхности Безье
Поверхности S(u, v) можно определить как тензорное произведение Q(u)R(v) двух многочленов Безье Q(t) и R(t), которое вычисляется
отдельно по каждой координате точек-ориентиров [3]. Эта процедура
не влияет на вид переменных u и v, но отражается на коэффициентах.
Задав
уравнению поверхности:
h
ij
hjh
RQP = , где h обозначает x, y или z, приходим к следующему
i
min
i
==
j
00
m
∑∑
Легко показать, что
Аналогичные выражения можно записать для S(u, 1), S(0, v) и S(1, v).
Таким образом, поверхность S(u, v) ограничена четырьмя многочленами Безье и угловыми являются точки
66
m
∑
i
=
−−
jnjjnimi
−−=
i
m
0
imi
−
)1(),(
PuuCvuS
−=
0
i
,,mnPPP и mnP . Воспользо-
PvvCuuCvuS
)1()1(),(
. (14.5)
ij
. (14.6)
0000

вавшись тем, что удвоенная сумма коэффициентов
≤
≤
≤
≤
P равна 1, можно
ij
продемонстрировать принадлежность построенной поверхности выпуклой оболочке точек-ориентиров.
14.4.2. Поверхности, построенные с помощью B-сплайнов
Поверхность, построенная с помощью B-сплайнов, формально
определяется следующим образом [3]:
kmil
==
∑∑
−=−=
при
что
нием
равно 1. В таком случае получаем, что
uuu и
10 +≤≤k
000== vu . Напомним, что )(,uN
uuu , суммарное значение всех B-сплайнов в точке
1++≤≤mii
vvv . Без потери общности можно считать,
10 +
l
mi
k
=
mi
mi
mi
mj
во всех случаях, за исключе-
0
,, ij
mj
∑∑
mj
−=−=
PvNuNivuP )()(),(
(14.7)
ijmj
,,
.)0()()0,(
PNuNuP
Если все точки-ориентиры с отрицательными индексами точно
такие же, как
P , то последнее уравнение упрощается:
0i
k
,)()0,(
= (14.8)
∑
−=
mi
PuNuP
0, i
mi
т.е. поверхность ограничена сплайном при v = 0. Использование этого
метода с такими же допущениями приводит к получению идентичных
результатов для остальных крайних значений u и v. Естественно, этот
результат не имеет такого значения, как в случае поверхностей Кунса,
поскольку уравнение (14.7) описывает не отдельный участок поверхности с замкнутой границей, а всю искомую поверхно
сть. Конечные
участки поверхности с замкнутой границей можно построить для всех
множеств значений u и v, лежащих между точками склеивания:
uuu и
1+≤≤ii
.
vvv
1+
jj
15. ПРЕОБРАЗОВАНИЕ КРИВЫХ И КУСКОВ
Для преобразования пространственной кривой или куска поверхности можно вычислить точки, принадлежащие кривой или куску, а
затем преобразовать эти точки [3]. Существует другой, более удобный
способ: можно преобразовать геометрическую матрицу точек (точнее
точек и касательных векторов), определяющую кривую или поверх-
ПОВЕРХНОСТЕЙ
67

ность, и с помощью этой модифицированной матрицы генерировать
точки преобразованной кривой или поверхности. Такой подход можно
применять ко всем представлениям кривых и кусков поверхностей.
Для того чтобы преобразовать геометрическую матрицу, каждая
точка и каждый касательный вектор должны быть записаны в виде
четырёхэлементных вектор-строк, при этом к точкам в качестве четвёртой компоненты добавл
рам – 0. Выше говорилось, что четвёртая компонента вектор-строки
умножается на компоненту переноса матрицы преобразования размером 4×4. Поскольку касательный вектор задаёт не положение, а на-
правление, добавление в качестве четвёртой компоненты 0 приводит к
тому, что вектор не переносится, но может быть повёрнут и промасштаби
рован.
Тогда модификация переписанной геометрической матрицы производится с помощью матрицы преобразования размером 4×4. Таким
образом, бикубическая поверхность может быть преобразована путём
изменения лишь 16 элементов её геометрической матрицы, а не бесконечного числа точек, принадлежащих поверхности.
яется 1 (единица), а к касательным векто-
16. МОДЕЛИРОВАНИЕ ГЕОМЕТРИЧЕСКИХ ФОРМ
Модель, представляющая спроектированное или проектируемое
изделие, может содержать данные, весьма различные по характеру:
геометрические, технологические и т.д. [4]. Геометрическая модель
часто занимает важное место в системах проектирования. Это связано
с тем, что она используется для многих целей как при разработке, так и
при изготовлении изделия. Так, например, знание геометрических
свойств необходимо при моделир
нечных элементов, при выдаче рабочих чертежей, при подготовке
(с большей или меньшей степенью автоматизации) программ для станков с числовым программным управлением (ЧПУ).
История геометрического моделирования начинается с первых
работ по машинной графике (с 1963 г. многие исследования касались графического представления, и основы для большинства алг
ритмов удаления невидимых частей были найдены до 1972 г.),
а также с конкретных реализаций (в том числе в автомобильной промышленности и авиастроении), относящихся к представлению поверхностей (работы Кунса, Безье и т.д.). Начиная с 70-х годов алгоритмы
совершенствуются и находят широкое применение в ЧПУ. Появляются
первые системы для моделирования спл
начинается промышленное применение моделирования сплошных тел,
а в моделях начинают учитываться функциональные особенности
68
овании с использованием метода ко-
о-
ошных тел. С конца 70-х годов

прежде всего благодаря совершенствованию аппаратуры (мультипликация, цвет и т.д.).
Важно отметить, что геометрическая модель изделия является
машинным представлением его формы и размеров. Очень часто считают, что модель и представление изделия в виде рисунка на экране
графического дисплея – одно и то же. Так, например, не следует думать,
что используемая модель не отно
сится к объёмным моделям типа
сплошного тела (в ней отсутствуют сведения о материале) лишь потому,
что система может выводить на экран только линейные рисунки.
Двумерные модели, которые позволяют формировать и изменять
чертежи, были первыми моделями, нашедшими применение. Такое
моделирование часто применяется и до сих пор, поскольку оно существенно дешевле (в о
тношении алгоритмов, использования и т.д.) и
вполне устраивает промышленные организации при решении разнообразных задач.
Однако двумерное представление часто не совсем удобно для
достаточно сложных изделий. При традиционных способах (без автоматизации проектирования) пользуются чертежами, которые позволяют представлять изделия в различных видах. Трёхмерная модель служит для того, чт
обы создать виртуальное представление изделия во
всех трёх измерениях. В работах, проведённых в этой области, и в соответствующих комплексах программного обеспечения выделяются
три основных типа трёхмерных моделей:
1) каркасные («проволочные») модели;
2) поверхностные модели;
3) модели сплошных тел (или «объёмные»).
Исторически первыми появились каркасные модели. В них хра-
нятся только координаты (х, у, z) вершин и соединяющие их рёбра.
Из рисунка 16.1 видно, какая неоднозначность может возникнуть
при использовании таких моделей: поскольку известны только рёбра и
вершины, возможны различные интерпретации одной модели.
Рис. 16.1. Каркасное представление и его возможные интерпретации
69

Поверхностная модель позволяет описывать иногда достаточно
сложные поверхности. Такую возможность часто добавляют к каркасным моделям для описания поверхностей изделий, которые невозможно автоматически определить по каркасной модели. Однако такая гибридная модель (каркасная плюс поверхностная) н
е обеспечивает одно-
значности, которая позволила бы определить, ограничивают ли заданные поверхности некоторый объём.
Поверхностная модель во многих случаях соответствует нуждам
промышленности (авиационная промышленность, автомобилестроение
и т.д.) при описании сложных форм и работе с ними. Возможны различные виды задания поверхностей (плоскости, поверхности вращения, линейчатые поверхности). Используются различные математические модели аппро
ксимации поверхностей (методы Эрмита, Безье,
Кунса, B-сплайны). Они позволяют изменять характер поверхности с
помощью параметров, смысл которых доступен пользователю, не
имеющему специальной математической подготовки.
Объёмная модель позволяет представлять сложные изделия с
обеспечением логической связности информации, в частности, благодаря введению понятия о материале.
Целью геометрического моделирования является представление
ектов. Эти объекты (в самом общем случае ими могут быть как
объ
изготовляемые изделия, так и оснастка, необходимая для их изготовления, или роботы в составе технологической линии) являются реальными и должны удовлетворять целому ряду требований, связанных как
с их функциональными характеристиками, так и с используемым при
изготовлении оборудованием. Считается, что модель тем лучше
, чем
больше она учитывает ограничений, связанных с реальным объектом,
его изготовлением и использованием. Так, например, двумерная модель, которая позволяет лишь формировать виды, составленные из
отрезков прямой и дуг окружности, и даже не обеспечивает соответствия между этими видами, обладает чрезвычайно ограниченными возможностями. Модель же, которая по
зволяет в любой момент рассматривать представленные в ней объекты как сплошные тела, считается
хорошей моделью с точки зрения геометрии (ограничения, связанные с
изготовлением или с использованием изделия, часто трудно принять
во внимание на стадии его разработки, хотя это и является одной из
основных целей систем автоматизированного проектирования).
Сформулируем требования, кот
орые должны выполняться при
геометрическом моделировании высокого уровня:
•
любая модель, которую можно сконструировать, не должна
противоречить реальному объекту (правильность модели);
•
допустимо конструирование модели объекта целиком (мощ-
ность модели);
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
