Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика и геометрическое моделирование в информационных системах. Учебное пособие для бакалавров направлений подготовки 230100 «Информати.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Следует заметить, что форма Эрмита для бикубических кусков поверхности является одной из форм куска Кунса. Иногда в литерату­ре можно встретить ещё одно название подобной поверхности – по­верхность Фергюссона.

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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]