Бикубическая поверхность образована бикубическими
порциями
,
|
(1)
|
ограниченными
ячейками прямоугольной сетки на плоскости
xy
декартовой системы координат
Oxyz.
Порции
(1) соединены между собой с наперед заданной степенью гладкости.
Уравнение каждой порции содержит 16
коэффициентов, которые определяются, исходя из условий инцидентности, условий
гладкости и граничных условий. Поверхность на сетке
состоит
из
mn
бикубических порций вида (1), каждая из
которых определяется своим набором 16 коэффициентов
aij.
Расчет коэффициентов сводится к решению
системы линейных алгебраических уравнений с квадратной характеристической
матрицей 16
mn.
Например, для расчета коэффициентов
уравнения поверхности, образованной четырьмя бикубическими порциями, требуется
решить систему 64 линейных уравнений.
Научная новизна.
В статье предлагается алгоритм,
позволяющий почти вдвое (от 16
mn
до 9
mn)
сократить размер характеристической
матрицы. В отличие от известных алгоритмов, конструируемая поверхность
рассматривается состоящей из набора продольных (вытянутых вдоль оси
x)
бикубических лент, соединенных в
поперечном направлении с гладкостью С2
(с непрерывным изменением
кривизны при переходе общей границы двух лент). Каждая лента формируется из
последовательно соединенных бикубических порций. Сформулированы и доказаны
алгебраические условия С2-гладкого соединения бикубических лент.
Практическая значимость.
Задача моделирования составных
поверхностей возникает в современной архитектуре при проектировании сооружений,
обладающих большой пространственной свободой формообразования. В частности,
поиски новых нелинейных форм привели к появлению “тентовой архитектуры” [1] и
“архитектуры складок” [2], использующих перекрытия со сложными криволинейными
очертаниями. Если конструируемая поверхность не имеет больших градиентов
относительно некоторой базовой плоскости
xy,
то для ее моделирования могут быть эффективно использованы бикубические
полиномы от скалярных величин
x,
y
[3, 4, 5].
На плоскости
xy
зафиксирована
прямоугольная сетка
,
в узлах которой указаны точки с
различными высотными отметками. В угловых и граничных точках даны градиенты
(углы наклона конструируемой поверхности к плоскости
xy)
в продольном (по оси
x)
и поперечном (по оси
y)
направлениях. Требуется сформировать
прямоугольную в плане С2-гладкую поверхность с заданными градиентами,
проходящую через указанные точки. Гладкость С2
означает непрерывное
(без “скачков”) изменение кривизны поверхности в любой ее точке и в любом
направлении [6, 7].
Будем составлять поверхность из
бикубических порций вида (1), ограниченных ячейками прямоугольной сетки
,
где
m,
n
– целые положительные числа. При
m
=
n
=1
получаем бикубическую порцию. При
m
≥2
и
n
=1 получаем бикубическую ленту. При
m
=
n
=2
получаем простейшую составную бикубическую поверхность.
Примечание.
Бикубической лентой называют прямоугольную
в плане, вытянутую вдоль оси
x
поверхность, образованную
набором бикубических порций, соединенных между собой поперечными швами (с
гладкостью С2).
На плоскости
xy
декартовой системы координат
xyz
отмечена прямоугольная ячейка
,
где
hx
=
x1
-
x0,
hy
=
y1
-
y0
(рис. 1).
Рис. 1. Граничные условия
Указаны угловые точки
A(
x0,
y0,
zA),
B(x1,
y0,
zB),
C(x1,
y1,
zC),
D(x0,
y1,
zD).
Даны уравнения граничных кривых
(кубических парабол):
|
(2)
|
Здесь и далее свободный член уравнения
кубической параболы обозначен буквой
α, а коэффициенты при
возрастающих степенях аргумента – буквами
β,
γ,
δ, соответственно. В подстрочных индексах указаны граничные точки соответствующих
парабол. Требуется найти уравнение бикубической поверхности (порции) Ф(
x,
y)=
ABCD,
“натянутой” на заданные граничные кривые.
Уравнение (1) бикубической порции в
развернутой форме имеет вид
|
(1а)
|
Положив
y
=
y0,
выделяем из (1а) уравнение граничной кривой
AB:
|
(3)
|
Приравнивая коэффициенты, входящие в первое
уравнение из (2), и коэффициенты, входящие в уравнение (3), получаем:
|
(4)
|
Аналогичным образом, положив
x
=
x0,
выделяем из (1а) уравнение граничной кривой
AD
и приравниваем коэффициенты при одинаковых степенях переменной
y:
|
(5)
|
Положив
x
=
x1,
выделяем из (1а) уравнение граничной кривой
BC.
Положив
y
=
y1,
выделяем из (1а) уравнение граничной кривой
DC.
Приравнивая коэффициенты полученных уравнений соответствующим коэффициентам из
(2) и учитывая (4), (5), получаем систему пяти линейно независимых уравнений
|
(6)
|
относительно
девяти
коэффициентов
a11, a12, a13, a21,
a22, a23, a31, a32, a33
Примечание.
Выделяя из (1а) уравнения кубических
парабол
BC,
AD
и приравнивая, с учетом (4), (5), коэффициенты этих уравнений соответствующим
коэффициентам из (2), получаем не пять, а шесть линейных уравнений. Можно
показать, что любое из этих шести уравнений является следствием пяти остальных,
поэтому одно уравнение, а именно уравнение
исключено
из рассмотрения.
Для определения девяти неизвестных
коэффициентов, входящих в (6), следует указать четыре граничных условия. В
качестве дополнительных граничных условий могут быть приняты условия “плоские
углы”: равенство нулю первых смешанных производных функции (1а) в угловых
точках конструируемой бикубической порции [8]. Дифференцируя (1а) и приравнивая
нулю первые смешанные производные, получаем:
|
(7)
|
Из системы уравнений (6), (7) находим
коэффициенты
a11,
a12,
a13,
a21,
a22,
a23,
a31,
a32,
a33.
Остальные семь коэффициентов уравнения (1а) вычисляются согласно
(4), (5). Задача решена.
Примечание.
Если бикубическая порция задана угловыми
точками
A,
B,
C,
D
и градиентами (углами наклона касательных
в
угловых точках), то уравнения (2) границ сегмента определяются простым расчетом
[9, 10]. Например, если заданы углы наклона
α
x
A,
α
x
B
касательных
в конечных точках
граничной кривой
AB
(см. рис. 1), то коэффициенты
γ
AB
,
δAB,
входящие в уравнение этой кривой,
вычисляются из системы уравнений
|
(8)
|
где
αAB
=
zA,
βAB
=
tg
α
xA.
Уравнения остальных границ определяются аналогичным образом.
Пример 1
Даны координаты угловых точек
A
(0; 0; 2,5),
B
(10;
0; 5),
C
(10; 10; 12,5),
D
(0;
10; 7,5). В угловых точках зафиксированы градиенты (см. рис. 1):
Дополнительно
приняты граничные условия “плоские углы” (равенство нулю первых смешанных
производных в углах порции). Требуется найти уравнение (1а) бикубической порции,
удовлетворяющее условиям задачи.
Решение
Подставляя в (8) значения
hx
=
hy
=10 и координаты точек
A,
B,
находим коэффициенты уравнения граничной кривой
AB.
Аналогичным образом, вычисляя коэффициенты уравнений граничных кривых
AD,
BC
и
DC,
получаем:
|
(9)
|
Подставляя коэффициенты уравнений (9) в (4),
(5), получаем:
Остальные коэффициенты, входящие в (1а),
находим из системы уравнений (6), (7):
Все коэффициенты уравнения (1а) определены.
На рис. 2 представлена сетка образующих бикубической порции
ABCD,
построенная согласно (1а).
Рис. 2. Бикубическая порция
Бикубическая лента состоит из
последовательно соединенных (с гладкостью С2) бикубических порций.
Пусть требуется соединить бикубические порции
ABCD
и
BMNC
по шву
BC
(рис.
3).
Рис. 3. Соединение бикубических порций (к
теореме 1)
Покажем, что гладкость С2
достигается при условии С2-гладкости продольных границ ленты и равенстве
первых и вторых смешанных производных в стыковых точках
B,
C
соединяемых порций.
Теорема 1.
Для С2-гладкого соединения бикубических порций Ф1(x,
y)=
ABCD
и Ф2(x,
y)=
BMNC
вдоль поперечного шва
BC
достаточно обеспечить С2-гладкость
продольных границ
ABM
и
DCN,
а также равенство первых и вторых смешанных производных в точках
B,
C:
,
|
(10)
|
.
|
(11)
|
Доказательство.
Требование С2-гладкости ленты Ф1+Ф2
означает, что в любой точке шва
BC
должны
выполняться равенства
,
|
(12)
|
.
|
(13)
|
Рассмотрим условие (12). Кубические функции
,
входящие в (12), однозначно определяются
своими значениями в граничных точках шва
B,
C,
а также значениями первых производных
в этих точках. Согласно условию (10), эти
значения совпадают, следовательно, функции
совпадают
вдоль шва
BC.
Условие (12) выполнено.
Рассмотрим условие (13). Кубические функции
,
входящие в (13), однозначно определяются
либо своими значениями и первыми производными в точках
B
и
C,
либо своими значениями и вторыми производными в этих точках. Следовательно, для
выполнения требования (13) необходимо, кроме равенства функций
в точках
B
и
C,
дополнительно обеспечить либо равенство
первых производных
,
либо равенство вторых производных
в этих точках. Согласно условию (11), вторые
производные в точках
B,
C
совпадают. Согласно условию С2-гладкости граничных кривых
ABM
и
DCN,
значения функций
в точках
B
и
C
также совпадают. Следовательно, функции
совпадают
вдоль шва
BC.
Условие (13) выполнено. Теорема доказана.
Пусть требуется сформировать двухсекционную
С2-гладкую бикубическую ленту с фиксированными поперечными
направляющими
AD,
BC,
MN
и с заданными градиентами
в
продольном направлении (см. рис. 3). Согласно условию теоремы 1, продольная
граница
ABM,
образованная кубическими параболами
AB
и
BM,
должна быть С2-гладкой составной кривой (кубическим сплайном). Это
же требование относится к продольной границе
DCN.
Рассмотрим алгоритм построения кубического сплайна с
закрепленными концами (фиксированными касательными в конечных точках).
В вертикальной плоскости
y
=
y0
декартовой системы координат
xyz
указаны точки
A(x0,
y0,
z0),
B(x1,
y0,
z1),
M(x2,
y0,
z2).
Через указанные точки требуется провести составную С2-гладкую
кривую, образованную кубическими параболами
f1(x)=
AB
и
f2
(x)=
BM
(кубический сплайн). В граничных точках
A
и
M
указаны углы наклона
касательных к конструируемой кривой
(“закрепленные концы”).
Условие С2-гладкого соединения
парабол
f1(x)
и
f2(x)
имеет вид [11, 12]
,
|
(14)
|
где
S0,
S1,
S2
– значения вторых производных функций
z
=
f1
(x),
z
=
f2(x)
в узлах
A,
B,
M.
Здесь и далее использованы обозначения
h1x
=
x1
-
x0,
h2x
=
x2
-
x1.
Условие (14) должно быть дополнено
условиями “закрепленные концы”:
|
(15)
|
Из
системы уравнений (14), (15) находим значения
S0,
S1,
S2
и подставляем в уравнения
|
(16)
|
Вычислительный алгоритм (14), (15), (16)
позволяет найти уравнения кубического сплайна с закрепленными концами. Если сплайн
формируется из
m
сегментов
(m-1
стыковых точек), то указанный алгоритм будет содержать
m-1
условий гладкости вида (14) и
m
уравнений
вида (16).
Пусть требуется сформировать ленту,
состоящую из
m
бикубических порций
ABCD,
BMNC,
MKLN,
(рис. 4).
Рис. 4. Поперечные направляющие
бикубической ленты
Будем полагать, что уравнения поперечных
линий каркаса
AD,
BC,
MN,
KL,
… либо предварительно заданы, либо найдены согласно (8). Для решения задачи
требуется рассчитать 16
m
коэффициентов, входящих в уравнения (1)
соединяемых порций.
Шаг 1.
Находим уравнения продольных границ ленты, образованных
составными С2-гладкими
m-секционными
кубическими кривыми (кубическими сплайнами), используя алгоритм (14) … (16).
Шаг 2.
Составляем систему 5
m
уравнений вида (6). Дополняем эту систему уравнений четырьмя граничными
условиями вида (7) “плоские углы” и
4(m -1)
условиями гладкости вида (10), (11) (см. теорему 1). Получаем систему 9
m
линейных уравнений, из которой находим 9
m
коэффициентов.
Шаг 3.
Непосредственным вычислением по формулам вида (4), (5)
находим 7
m
коэффициентов, входящих в уравнения
порций. Совместно с ранее найденными 9
m
коэффициентами получаем 16
m
коэффициентов, входящих в уравнения
соединяемых порций. Задача решена.
Пример 2
Требуется сформировать С2-гладкую
бикубическую ленту, проходящую через фиксированные поперечные направляющие
|
(17)
|
В угловых точках заданы продольные
градиенты
(см. рис. 3).
Решение
Уравнение порции Ф1
=
ABCD
будем искать в виде (1а). Уравнение порции
Ф2
=
BMNC
будем искать в виде
|
(1b)
|
где
x0
=
y0
=0,
x1
=
y1
=10,
x2
=25.
Шаг 1.
Согласно (14), (15), (16), находим уравнения сегментов
продольной границы
ABM,
соединенных в точке
B
с гладкостью С2:
Аналогичным образом находим уравнения
сегментов граничной кривой
DCN,
соединенных в точке
C
с гладкостью
C2:
Шаг 2.
Составляем систему десяти уравнений вида (6) относительно неизвестных
коэффициентов
aij,
bij,
входящих в уравнения (1a), (1b)
искомых бикубических порций:
|
(18)
|
Здесь
hy
=
y1
-
y0
=10,
h1
x
=
x1
-
x0
=10,
h2
x
=
x2
-
x1
=15.
Записываем условия “плоские углы”:
|
(19)
|
Система уравнений (18), (19) дополняется
требованиями С2-гладкого соединения бикубических порций Ф1,
Ф2
по шву
BC
(см. теорему 1):
|
(20)
|
Получена система восемнадцати уравнений (18),
(19), (20). Из этой системы уравнений находим 18 коэффициентов:
Шаг 3.
Остальные 14 коэффициентов находим согласно (4), (5):
Определены все коэффициенты уравнений (1а),
(1b)
бикубических сегментов Ф1, Ф2,
соединенных с гладкостью С2. На рис. 5 представлена сетка образующих
бикубической ленты Ф1+Ф2, построенная согласно (1а),
(1b).
Рис. 5. С2-гладкая лента (к примеру 2)
Пример 3
К двухсекционной ленте
ABCD
+
BMNC,
рассмотренной в примере 2, требуется присоединить секцию
PADR
с горизонтальной направляющей
PR,
расположенной на высоте
z
=2,5 (рис.
6а).
|
(a)
|
(b)
|
Рис. 6. Трехсекционная С2-гладкая лента (к
примеру 3): а – граничные условия; b – сетка образующих
Даны координаты узловых точек сетки:
x0
=
y0
=0,
x1
=
y1
=10,
x2
=20,
x3
=35. Уравнения поперечных направляющих
AD,
BC,
MN
указаны в примере 2. Уравнение направляющей линии
PR
вырождается в равенство
zPR
=2,5. В угловых точках
P,
M,
N,
R
конструируемой ленты заданы продольные градиенты
.
Решение
Уравнения бикубических порций Ф1
=
PADR
и Ф2
=
ABCD
будем искать в виде (1а), (1b),
положив
x0
=
y0
=0,
x1
=
y1
=10,
x2
=20. Уравнение порции Ф3
=
BMNC
будем искать в виде
|
(1c)
|
положив
x3
=35.
Шаг 1.
Согласно алгоритму (14) … (16), находим уравнения сегментов продольной
границы
PABM.
Получаем набор С2-гладко
соединенных кубических парабол, удовлетворяющих условиям “закрепленные концы”:
|
(21)
|
Используя этот же алгоритм, находим
уравнения сегментов продольной границы
RDCN:
|
(22)
|
Шаг 2.
Составляем систему 5m
=15
уравнений вида (6) относительно
aij,
bij,
cij:
|
(23)
|
Входящие в (23) величины
определяются в соответствии с (17), (21),
(22). Например, из (17) следует
.
Линия
PR
– горизонтальный отрезок, поэтому
Систему уравнений (23) дополняем условиями
вида (7) (“плоские углы”):
|
(24)
|
Записываем 4(m-1)=8
условий гладкости: условия равенства первых смешанных производных
|
(25)
|
и
условия равенства вторых смешанных производных
|
(26)
|
в
стыковых точках
A,
D,
B,
C
(см. теорему 1).
Из системы 27 линейных уравнений (23) … (26)
находим 27 коэффициентов:
Шаг 3.
По
формулам вида (4), (5) находим остальные коэффициенты:
Все 48 коэффициентов уравнений
(1a), (1b), (1c)
бикубических порций Ф1, Ф2, Ф3
определены. На
рис. 6б представлена сетка образующих бикубической ленты Ф=Ф1+Ф2+Ф3.
Требуется сформировать бикубическую
поверхность, состоящую из
mn
бикубических порций:
m
порций в продольном направлении (вдоль оси
x),
n
порций в поперечном направлении (вдоль оси
y).
Продольные и поперечные каркасные линии поверхности образованы кубическими
сплайнами.
Будем полагать, что конструируемая
поверхность состоит из
n
бикубических лент, каждая из которых, в
свою очередь, состоит из
m
бикубических порций. Бикубические ленты должны
быть соединены между собой с гладкостью С2
(вдоль продольных линий
каркаса). Рассмотрим условия гладкого соединения бикубических лент.
Пусть бикубическая поверхность состоит из
двух лент (рис. 7).
Рис. 7. Каркас бикубической поверхности
Лента ФAB,
образованная бикубическими порциями
,
ограничена кубическими сплайнами
A0
A1
…
Am
и
B0
B1
…
Bm.
Лента Ф
BC,
образованная бикубическими порциями
,
ограничена кубическими сплайнами
B0
B1
…
Bm
и
C0
C1
…
Cm.
Теорема 2.
Для С2-гладкого соединения бикубических лент Ф
AB, ФBC
вдоль продольного шва
B0
…
Bm
достаточно, кроме С2-гладкости линий каркаса,
обеспечить равенство первых и вторых смешанных производных в начальной
B0
и конечной
Bm
точках продольного
шва:
,
|
(27)
|
.
|
(28)
|
Доказательство.
Требование С2-гладкого соединения
бикубических лент означает, что в любой точке шва
B0
…
Bm
должны выполняться равенства
,
|
(29)
|
.
|
(30)
|
Рассмотрим условие (29). Кубические С2-гладкие
составные функции
,
входящие в (29), определяются
своими значениями в узловых точках
B0,
B1
, …,
Bm
и значениями первых производных
в крайних точках
B0,
Bm
продольного шва
B0
…
Bm.
Численные значения функций
в точках
B0,
B1, …,
Bm
равны тангенсам углов наклона касательных
к поперечным линиям каркаса. Вследствие гладкости поперечных линий каркаса, значения
функций
в этих точках совпадают. Согласно условию
(27), значения производных этих функций в крайних точках
B0,
Bm
также совпадают, следовательно, функции
совпадают вдоль шва
B0
….
Bm.
Условие (29) выполнено.
Рассмотрим условие (30). Кубические С2-гладкие
составные функции
,
входящие в (30), определяются
своими значениями в точках
B0,
B1, …,
Bm
и значениями вторых производных
в граничных точках
B0,
Bm
продольного шва
B0
…
Bm.
Значения функций
в
точках
B0,
B1, …,
Bm
пропорциональны кривизне поперечных швов в
этих точках. Вследствие С2-гладкости поперечных линий каркаса, эти
значения совпадают. Согласно условию (28), значения вторых производных этих
функций в граничных точках
B0,
Bm
также совпадают, следовательно, функции
совпадают вдоль шва
B0
….
Bm.
Условие (30) выполнено. Теорема доказана.
Расчет сводится к вычислению 16
mn
коэффициентов уравнений бикубических
порций, образующих конструируемую поверхность. Полагаем, что поверхность
состоит из
n
продольных бикубических лент, а каждая
лента состоит из
m
бикубических порций. Каждая порция
описывается уравнением вида (1).
Шаг 1.
Используя алгоритм (14), (15), (16), находим уравнения
продольных и поперечных линий каркаса (кубических сплайнов).
Шаг 2.
Для каждой бикубической ленты составляем систему 5
m
уравнений вида (6). Добавляем 4(m-1)
условий гладкости ленты (см. теорему
1). Получаем 9m-4
уравнений. Для
n
лент получаем
n
(9m-4)
уравнений. Полученные уравнения
дополняем 4(n-1)
условиями (27), (28) гладкого
соединения лент (см. теорему 2), а также 4 условиями “плоские углы”. Получаем
систему 9
mn
линейных уравнений, из которой находим 9
mn
коэффициентов,
входящих в уравнения бикубических порций конструируемой поверхности.
Шаг 3.
Непосредственным вычислением по формулам вида (4), (5)
находим 7
mn
коэффициентов, входящих в уравнения
порций. Совместно с ранее найденными 9
mn
коэффициентами получаем 16
mn
коэффициентов, входящих в уравнения
соединяемых порций. Задача решена.
Пример 4
Требуется сформировать С2-гладкую
бикубическую поверхность, проходящую через точки
В угловых точках
A0,
A2,
C0,
C2
зафиксированы градиенты в продольном и поперечном
направлениях:
В граничных точках
B0,
B2
заданы продольные градиенты
. В
граничных точках
A1,
C1
заданы поперечные градиенты
(рис.
8а).
|
(a)
|
(b)
|
Рис. 8. Бикубическая поверхность (к примеру
4): a – фиксированный каркас; b – сетка образующих
Решение
Шаг 1.
В соответствии с (14), (15), (16) находим уравнения каркасных
линий, удовлетворяющих условиям задачи.
Уравнение продольной граничной линии
A0
A1
A2:
|
(31)
|
Уравнение продольной линии
B0
B1
B2:
|
(32)
|
Уравнение продольной граничной линии
C0
C1
C2:
|
(33)
|
В (31) … (33) учтено, что
x0
=
y0
=0,
x1
=10,
x2
=25.
Аналогично находим уравнения поперечных
линий каркаса. Уравнение поперечной граничной линии
A0
B0
C0:
|
(34)
|
Уравнение поперечной линии
A1
B1
C1:
|
(35)
|
Уравнение поперечной граничной линии
A2
B2
C2:
|
(36)
|
Каркас поверхности зафиксирован.
Шаг 2.
Конструируемая поверхность состоит из двух бикубических лент
ФAB
и ФBC,
гладко соединенных между собой по шву
B0
B1
B2.
Лента Ф
AB
образована порциями
|
(37)
|
Лента ФBC
образована порциями
|
(38)
|
Для каждой ленты составляем систему 10
уравнений вида (6).
Для ленты ФAB
получаем:
|
(39)
|
Здесь
h1
x
=
x1
-
x0
=10,
h1
y
=
y1
-
y0
=10,
h2
x
=
x2
-
x1
=15.
Для ленты ФBC
получаем:
|
(40)
|
Здесь
h2y
=10.
Входящие в (39), (40) величины
определяются в
соответствии с (31)…(36). Например, из (34) следует
Для каждой бикубической ленты записываем
условия гладкости (см. теорему 1). Для ленты Ф
AB
получаем четыре условия гладкого соединения порций
(равенство первых и вторых смешанных
производных в точках
A1,
B1):
|
(41)
|
Для ленты ФBC
также получаем четыре условия гладкого соединения порций
(равенство первых и вторых смешанных
производных в точках
B1,
C1):
|
(42)
|
Записываем условия гладкого соединения
бикубических лент ФAB, ФBC
в
стыковых точках
B0,
B2
(см. теорему 2):
|
(43)
|
Записываем условия “плоские углы”:
|
(44)
|
Система уравнений (39) … (44) содержит 36
уравнений относительно 36 коэффициентов
aij,
bij,
cij,
dij,
входящих в уравнения (37), (38). Решив
эту систему уравнений, получаем:
Шаг 3.
Непосредственным вычислением по формулам вида (4), (5) находим остальные 28
коэффициентов, входящих в уравнения (37), (38):
Все 64 коэффициента, входящие в уравнения
(37), (38), определены. На рис. 8б представлена сетка образующих бикубической
поверхности ФAB+ФBC.
Вычислительный алгоритм, основанный на
предварительной фиксации каркаса поверхности, справедлив для случая, когда
каркас образован смешанным набором кубических сплайнов и прямых линий.
Пример 5
Каркас поверхности задан прямыми линиями
B0
B1
B2
и
A1
B1
C1.
Границы поверхности заданы прямыми линиями
A0
A1
A2,
A0
B0
C0,
A2
B2
C2
и кубическим сплайном
C0
C1
C2
с
продольными градиентами
(рис. 9а).
|
(a)
|
(b)
|
Рис. 9. Бикубическая поверхность на каркасе
из прямых линий и кубических сплайнов (к примеру 5): а – фиксированный каркас;
b – сетка образующих
Заданы координаты узловых точек:
Требуется
сформировать С2-гладкую бикубическую поверхность, удовлетворяющую
условиям задачи.
Решение
Будем полагать, что конструируемая
поверхность состоит из бикубических лент ФAB
и ФBC,
гладко соединенных между собой по прямолинейному
шву
B0
B1
B2.
Каждая лента, в свою очередь, состоит из бикубических порций
(37), (38).
Шаг 1.
Находим уравнения каркасных линий, удовлетворяющих условиям
задачи.
Уравнение линии
A0
A1
A2:
Уравнение линии
B0
B1
B2:
Уравнение линии
A0
B0
C0:
Уравнение линии
A1
B1
C1:
Уравнение линии
A2
B2
C2:
Следуя алгоритму (14), (15), (16), находим
уравнение С2-гладкой граничной кривой
C0
C1
C2
с
градиентами
:
Шаг 2.
Записываем систему уравнений (39) … (44), содержащую 36
уравнений относительно 36 коэффициентов
aij,
bij,
cij,
dij,
входящих в уравнения (37), (38). В
уравнения (39), (40) подставляем значения коэффициентов
α.
β.
γ.
δ. соответствующие уравнениям каркасных линий. Например,
из уравнения граничной линии
A0
B0
C0
следует
Решив систему уравнений (39) … (44),
находим 36 коэффициентов, входящих в уравнения (37), (38):
Шаг 3.
Непосредственным вычислением по формулам вида (4), (5)
находим остальные 28 коэффициентов, входящие в уравнения (37), (38):
Все 64 коэффициента, входящие в уравнения
(37), (38), определены. На рис. 9б представлена сетка образующих бикубической
поверхности ФAB+ФBC.
Пример 6
Каркас поверхности задан пространственным
четырехугольником с угловыми точками
A0
(0; 0;
5),
A2
(25; 0; 5),
C2
(25; 20; 20),
C0
(0; 20; 5) и прямолинейными направляющими
B0
B1
B2,
A1
B1
C1,
лежащими в вертикальных плоскостях
y=10
и
х=10 (рис. 10а).
|
(a)
|
(b)
|
Рис. 10. Бикубическая поверхность на
каркасе из прямых линий (к примеру 6):
а – фиксированный каркас; b – сетка
образующих
Требуется сформировать бикубическую
поверхность, “натянутую” на заданный каркас.
Решение
Будем полагать, что конструируемая
поверхность состоит из бикубических лент ФAB
и ФBC,
гладко соединенных между собой по
прямолинейному шву
B0
B1
B2.
Каждая лента, в свою очередь, состоит из бикубических порций
(37), (38).
Шаг 1.
Находим уравнения каркасных линий.
Уравнение линии
A0
A1
A2:
Уравнение линии
B0
B1
B2:
Уравнение линии
С0
С1
С2:
Уравнение линии
A0
B0
C0:
Уравнение линии
A1
B1
C1:
Уравнение линии
A2
B2
C2:
Шаг 2.
Записываем систему уравнений (39) … (44), в которые
подставляем значения коэффициентов
α.
β.
γ.
δ. соответствующие уравнениям каркасных линий. Например, из
уравнения граничной линии
A0
B0
C0
следует
Решив систему уравнений
(39) … (44), находим коэффициенты уравнений (37), (38):
Шаг 3.
Непосредственным вычислением по формулам вида (4), (5) находим остальные 28
коэффициентов, входящие в уравнения (37), (38):
Все коэффициенты, входящие в уравнения
бикубических порций (37), (38), определены. На рис. 10б представлена сетка
образующих бикубической поверхности ФAB+ФBC.
Полученная поверхность незначительно
отличается от косой плоскости
A0
A2
C2
C0.
Например, при
x
=6,
y
=4 высотные отметки точек на бикубической
поверхности и на косой плоскости равны
z
=5,623232
и
z
=5,720 соответственно, отличаясь на 1,7%.
Матричные вычисления (решение систем
линейных уравнений) выполнены с помощью свободно распространяемой программы
SMath
Studio.
Расчет сетки образующих бикубической поверхности и ее визуализация во всех
примерах выполнены с применением языка программирования
AutoLISP
в среде
AutoCAD
[13]. Транспарентность примеров обеспечена указанием
числовых значений всех вычисляемых величин с точностью до девяти значащих цифр.
Авторы попытались уйти от традиционного
представления составной бикубической поверхности в виде набора бикубических
порций, удовлетворяющих определенным условиям на границах поверхности
(инцидентность заданным точкам, фиксированные градиенты и т.д.), и условиям
гладкого соединения порций между собой.
В соответствии с предлагаемым подходом,
предварительно формируется каркас поверхности, образованный алгебраическими
кубическими сплайнами. Заметим, что построение кубического сплайна,
интерполирующего заданный массив точек, представляет собой на сегодняшний день
тривиальную задачу, полностью решенную еще во второй половине 20 столетия [14,
15]. В отечественной литературе следует отметить фундаментальный труд казанских
математиков [16]. В разделе 4.1 настоящей статьи представлены краткие
справочные сведения о методике расчета сплайна, ни в коей мере не претендующие
на научную новизну, но необходимые для связного изложения основного содержания
статьи.
Отличительная особенность предлагаемого
алгоритма расчета составной С2-гладкой бикубической поверхности
заключается в условном членении конструируемой поверхности на отдельные
бикубические ленты, ограниченные продольными каркасными линиями. Расчет ленты
заметно проще, чем расчет поверхности в целом [17]. Авторы полагают, что такой
подход, связанный с разделением задачи на простые расчетные блоки, наиболее
соответствует инженерной практике.
Предлагаемый алгоритм иллюстрируется
примерами, доведенными до визуальной 3D-модели
поверхности. Как отмечал П. Безье, “…на широкое применение некоторых систем
оказывает отрицательное влияние тот факт, что, несмотря на совершенство
применяемых математических методов, у пользователей возникают трудности с их
освоением” [8]. Один из способов преодоления этих трудностей – демонстрация
применяемых методов и алгоритмов на конкретных примерах, что и сделано в
настоящей статье.
В работе предложен алгоритм расчета
составной бикубической поверхности с непрерывным изменением кривизны, натянутой
на фиксированный каркас. Согласно предложенному алгоритму, задача делится на
два этапа: сначала находят уравнения каркасных линий, затем вычисляют
коэффициенты, входящие в уравнения бикубических порций, образующих бикубическую
поверхность. В соответствии с задаваемыми граничными условиями, линии каркаса
описываются кубическими сплайнами с закрепленными концами.
Такой подход к моделированию бикубической
поверхности позволяет уменьшить размер характеристической матрицы системы
линейных уравнений относительно коэффициентов, входящих в уравнение
бикубической поверхности. Размер матрицы сокращается от 16
mn
до 9
mn,
где
m,
n
– количество бикубических порций по осям
x,
y.
Визуализация поверхности сводится к
построению сетки продольных и поперечных образующих, уравнения которых
выделяются из уравнения бикубической поверхности при подстановке
y
=
const
(продольные образующие) или
x
=
const
(поперечные образующие).
1. Удлер Е. М., Тостов Е. Проектирование
тентовых оболочек // CADmaster, №
1(6),
2001, С. 43−47.
2. Киричков И.В. Преломление категории
складки сквозь призму архитектуры // Архитектура и дизайн, №3, 2018, С. 1 - 11.
3. Jarke J.V. Bicubic patches
for approximating non-rectangular control-point meshes / / Computer Aided
Geometric Design, vol. 3, № l, 1986, pp. 456-459.
4. Levner G., Tassinari P.,
Marini D. Simple general methods for ray tracing bicubic surfaces. Theoretical
Foundations of Computer Graphics and CAD. New York: Springer-Verlag, 1988, pp.
805-820.
5. Фокс А., Пратт М. Вычислительная
геометрия. Применение в проектировании и на производстве.
М.:
Мир, 1982.
6. Panchuk, K. Spline Curves
Formation Given Extreme Derivatives / K. Panchuk, T. Myasoedova, E. Lyubchinov
// Mathematics
2021, 9(1), 47
(https://doi.org/10.3390/math9010047)
7. Gallier, J. Curves and
Surfaces in Geometric Modeling: Theory and Algorithms. University of Pennsylvania:
Philadelphia, PA, USA, 2018, pp. 61-114.
8.
Безье
П.
Геометрические
методы
//
Математика
и
САПР.
Т.
2.
М.: Мир, 1989, С. 96-257.
9. Короткий В.А. Незакономерные кривые в
инженерной геометрии и компьютерной графике // Научная визуализация, № 1, Т.
14, 2022, С. 1-17.
10.
Короткий В.А. Кубические кривые в инженерной геометрии // Геометрия и графика, №
3, Т. 8, 2020, С. 3-24.
11. Шикин Е. В., Плис А. И.
Кривые
и поверхности на экране компьютера. Руководство по сплайнам для пользователей.
М.: Диалог-МИФИ, 1996.
12. Голованов Н.Н. Геометрическое
моделирование. М.: ДМК-Пресс, 2020.
13. Готовцев А.А. Аutodesk
alias: с чего
начать? //
CADmaster, №5 (66), 2012, С. 42-44.
14. Алберг Дж., Нильсон Э., Уолш Дж. Теория
сплайнов и ее приложения. М.: Мир, 1972.
15. К. де Бор. Практическое руководство по
сплайнам. М.: Радио и связь, 1985.
16. Корнишин М.С., Паймушин В.Н., Снигирев
В.Ф. Вычислительная геометрия в задачах механики оболочек. М.: Наука, 1989.
17. Короткий В. А., Усманова Е. А.
Бикубическая ленточная поверхность // Омский научный вестник, № 2 (186), 2023, С.
19–27.
Bicubic Surface on a Fixed Frame: Calculation and Visualization
Authors: V.A. Korotkiy1, E.A. Usmanova2
South Ural State University (National Research University) “SUSU (NRU)”, Chelyabinsk, Russia
1 ORCID: 0000-0002-5266-4701, ospolina@mail.ru
2 ORCID: 0009-0007-7479-6047, usmanovaea@susu.ru
Abstract
The paper proposes an algorithm for calculating a composite bicubic surface with a fixed frame formed by longitudinal (along the x axis) and transverse (along the y axis) cubic splines. Frame line equations are taken as the main boundary conditions. According to the proposed algorithm, the problem is divided into two stages: first, the frame line equations are found and then the coefficients included in the equations of the bicubic portions forming the bicubic surface are calculated. This approach reduces the size of the characteristic matrix of the linear equation system by reducing the number of coefficients in the surface equation. The matrix size is reduced from 16mn to 9mn, where m and n are the number of bicubic portions along the x and y axes. Surface visualization is reduced to building a grid of longitudinal and transverse generators, the equations of which are formed from the surface equation by substituting y=const (longitudinal generators) or x=const (transverse generators).
In this paper we calculate and visualize bicubic surfaces with a frame formed by a mixed set of cubic splines and straight lines. The clarity of the examples is ensured by indicating the numerical values of all calculated magnitudes with an accuracy of up to nine significant figures.
Keywords: bicubic portion, cubic spline, curvature, smoothness, gradient, plane angles, fixed end points.
1. Udler E. M., Tostov E. Design
of tent shells // CADmaster #1(6) / 2001, pp. 43−47.
2. Kirichkov I.V. Refraction of
the fold category through the prism of architecture // Architecture and Design.
- 2018. – # 3. – P. 1–11. DOI: 10.7256/2585-7789.2018.3.29422
3. Jarke J.V. Bicubic patches
for approximating non-rectangular control-point meshes / / Computer Aided
Geometric Design. - 1986. - Vol. 3, # l. - P. 456-459.
4. Levner G., Tassinari P.,
Marini D. Simple general methods for ray tracing bicubic surfaces //
Theoretical Foundations of Computer Graphics and CAD. – New York:
Springer-Verlag, 1988. – P. 805–820.
5. Fox A., Pratt M.
Computational geometry. Application in design and production. Moscow: Mir,
1982. 304 p.
6. Panchuk, K. Spline Curves
Formation Given Extreme Derivatives / K. Panchuk, T. Myasoedova, E. Lyubchinov.
– Mathematics
2021, 9(1), 47.
https://doi.org/10.3390/math9010047
7. Gallier, J. Curves and
Surfaces in Geometric Modeling: Theory and Algorithms; University of
Pennsylvania: Philadelphia, PA, USA, 2018; P. 61–114.
8. Bezier P. Geometric methods //
Mathematics and CAD. Vol. 2. Moscow: Mir, 1989. P. 96–257.
9. Korotkiy V.A. Irregular
curves in engineering geometry and computer graphics // Scientific
Visualization, 2022. Vol. 14, No. 1. P. 1–17. DOI: 10.26583/sv.14.1.01
10. Korotkiy V.A. Cubic curves in
engineering geometry // Geometry and Graphics. – 2020. Vol. 8, No. 3. – P.
3–24. – DOI: 10.12737/2308-4898-2020-3-24
11. Shikin E.V., Plis A.I.
Curves and surfaces on a computer screen. User guide to splines. Moscow:
Dialog-MEPhI, 1996. 240 p.
12. Golovanov N.N. Geometric
modeling. Moscow: DMK-Press, 2020. 406 p.
13. Gotovtsev A.A. Autodesk
alias: where to start? // CADmaster #5 (66) / 2012, P. 42–44.
14. 318 с. Ahlberg J., Nilson
E., Walsh J. The theory of splines and their applications. Moscow: Mir, 1972.
318 p.
15. C. de Boor. A practical
guide to spline. Moscow: Radio and Communication, 1985. 303 p.
16. Kornishin M.S., Paimushin
V.N., Snigirev V.F. Computational geometry in problems of shell mechanics.
Moscow: Nauka, 1989. 208 p.
17. Korotkiy V.A, Usmanova E.A.,
A bicubic tape surface // Omsk Scientific Bulletin. 2023. #. 2 (186). pp.
10–16. DOI: 10.25206/1813-8225-2023-186-00-00.