Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


6-10 БИКУБИЧЕСКАЯ ПОВЕРХНОСТЬ КУНСА

Хотя аналитические поверхности, например квадратичные, линейчатые и простые куски линейно интерполированных поверхностей, обсуждавшиеся в предыдущих разделах, и важны для конструирования и производства, но для многих приложений они не обладают достаточной гибкостью. Описание поверхностей, обсуждаемое в этом и дальнейших разделах главы, предоставляют необходимую гибкость с помощью использования полиномов более высоких степеней как для граничных кривых куска поверхности, так и для внутренних смешивающих функций. Поверхности, сгенерированные с помощью объединения таких кусков, называются скульптурными поверхностями. Для описания скульптурных поверхностей фундаментальное значение имеет кусок бикубической поверхности Кунса (см. [6-19]).

Для всех четырех граничных кривых куска бикубической поверхности Кунса используются нормализованные кубические сплайны (см. разд. 5-4). Для задания внутренней части куска используются кубические смешивающие функции. Таким образом, каждую граничную кривую можно представить в общем виде

,           .                     (5-2)

Для одного сегмента нормализованного кубического сплайна с известными касательными и координатными векторами на концах, каждая из четырех граничных кривых, , ,  и  задается следующим образом (см. уравнения (5-24), (5-26), (5-27):

,   ,                     (5-27)

где  становится соответственно  или , a , , ,  - координатные и касательные векторы на концах соответствующей граничной кривой (см. рис. 6-31).

424.jpg

Рис. 6-31 Геометрия для куска бикубической поверхности Кунса.

Кубическая смешивающая функция, использованная для обоих параметрических направлений, идентична функции, использовавшейся для интерполирования внутренней части нормализованного кубического сплайна, т. е.

.                     (5-26)

Расписывая смешивающие функции, имеем

,              (5-25a)

,                (5-25b)

,               (5-25c)

,                      (5-25d)

где  есть либо  либо , соответственно. Эти функции изображены на рис. 5-8. Тогда определение куска бикубической поверхности Кунса записывается в виде

                   (6-51)

для  и . С помощью уравнения (5-26) это можно записать более компактно:

,                   (6-52)

где  и .

Матрица  в уравнении (6-51) содержит всю геометрическую информацию, необходимую для генерации одного бикубического куска поверхности Кунса. Подматрицы размера  в каждом углу  содержат

.

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

Пример куска бикубической поверхности представлен на рис. 6-32. Заметим, что каждая из изображенных на рис. 6-32 изопараметрических линий является нормализованным кубическим сплайном. Несколько кусков могут быть соединены вдоль -гладких границ для образования более сложных поверхностей, являющихся -гладкими везде. Детально условия объединения кусков бикубических поверхностей обсуждаются в [6-19].

Параметрические производные в любой точке на бикубической поверхности получаются с помощью формального дифференцирования уравнения (6-52):

,                 (6-53)

,               (6-54)

,             (6-55)

,             (6-56)

,            (6-57)

где штрихи обозначают дифференцирование по соответствующей переменной и

,

,

,

.

Нормаль к поверхности, используемая для определения невидимых поверхностей, вычисления освещенности (см. [1-11)] и создания управляющих программ для станков, задается выражением

.

427.jpg

Рис. 6-32 Кусок бикубической поверхности Кунса.

Подробный пример иллюстрирует метод вычислений для бикубических кусков.

Пример 6-13 Кусок бикубической поверхности Кунса

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

Используя матричную запись из уравнения (6-51), получим

.

Для  смешивающие функции по  имеют вид:

.

Для  смешивающие функции по :

.

Таким образом,  компонента  при  равна

.

Аналогично  и  компоненты таковы:

,

.

Следовательно, . Вся поверхность изображена на рис. 6-32.

Обратимся теперь к производным, вспомним уравнения (6-53)-(6-55) и заметим, что

параметрические производные в  равны

 и  находятся аналогичным образом. В результате получим

.

Теперь

 и  находятся аналогичным образом, откуда

.

И наконец, вектор нормали имеет вид:

.

Единичная нормаль равна

.

Заметим, что векторы кручения в угловых точках слегка сместили нормаль от направления .

430.jpg

Рис. 6-33 Действие на кусок бикубической поверхности варьирования величины касательного вектора. Значения компонент касательного вектора равны (а) 1; (b) 10; (с) 100; (d) 1000.

Одна из проблем, возникающих при использовании бикубических кусков поверхности, заключается в несоответствии значений векторов положения, кручения и касательных векторов. Все они в общем случае имеют различные порядки величин. Например, для куска поверхности со стороной 10 единиц, касательные векторы могут иметь значения порядка 10 единиц векторы кручения - 100 единиц и векторы положения - 1000 единиц. Кроме того, не всегда очевиден результат изменения величины и направления касательных векторов и/или векторов кручения.

На рис. 6-33 показан результат варьирования величин касательных векторов в угловых точках куска бикубической поверхности. Векторы положения углов куска лежат в плоскости , отцентрированные относительно начала координат в . Касательные векторы лежат в плоскостях, расположенных перпендикулярно плоскости угловых точек и содержащих смежные углы куска поверхности. Направление касательных векторов выбрано таким образом, чтобы сделать кубическую граничную кривую выпуклой вверх («горбом вверх>), например , , и т.д. Величина векторов кручения равна нулю. Если значение компоненты у каждого касательного вектора равно нулю, то кусок поверхности плоский; если не равно нулю, то кусок изогнут.

На рис. 6-33а изображен кусок бикубической поверхности с единичными значениями компонент касательного вектора. Хотя поверхность выглядит плоской, на самом деле она слегка округлена. Компонента  в центре поверхности, т. е. в  равна . На рисунках 6-33b-d показаны бикубические поверхности, для которых значения компонент касательного вектора увеличены соответственно на 1, 2 или 3 порядка величины, т.е. равны 10, 100 и 1000. Значения компоненты у центральной точки теперь равны 5, 50 и 500. Заметим, что они также увеличиваются на порядок величины всякий раз, когда увеличивается значение касательного вектора.

Особый интерес представляет рис. 6-33d. Изображенная на нем поверхность является самопересекающейся. Чтобы лучше понять этот результат, можно вспомнить обсуждение кубических сплайнов кривых в разд. 5-3 и в особенности рис. 5-10. Кроме того, заметим, что каждая изопараметрическая линия на поверхности является кубической сплайновой кривой. Каждая из изопараметрических линий образует петлю, показывая, что значение касательного вектора в угловой точке превысило критическое значение.

Результат изменения направления касательного вектора в угловой точке показан на рис. 6-34. Здесь изменены знаки компонент у касательных векторов ; их значения стали равны 100. Заметим, что на рис. 6-34 правый передний угол поверхности теперь вогнутый, а не выпуклый, как на рис. 6-33с.

Кручение было ранее упомянуто в разд. 6-5 при обсуждении куска сферической поверхности. Там оно определялось как смешанная производная поверхности в угловых точках. В действительности вектор кручения в угловой точке позволяет модифицировать внутреннюю форму поверхности без модификации касательных векторов в этой точке. На рис. 6-35 показан результат модифицирования вектора кручения в одной угловой точке  на поверхности. Для каждой из поверхностей на рис. 6-35  является нижней угловой точкой. Поверхность аналогична представленной на рис. 6-336, за исключением ненулевого вектора кручения в . На рисунках 6-35а и b со значениями компонент вектора кручения 10 и 100, соответственно, показан небольшой видимый эффект ненулевого вектора кручения. На рис. 6-35с поверхность имеет выраженную выпуклую форму благодаря ненулевому вектору кручения. Рис. 6-35d иллюстрирует действие больших значений этого вектора. Заметим, однако, что в отличие от рис. 6-33d поверхность не самопересекается.

431.jpg

Рис. 6-34 Действие на кусок бикубической поверхности изменения направления касательного вектора.

432.jpg

Рис. 6-35 Влияние вектора кручения на кусок бикубической поверхности. Значение компоненты вектора кручения в точке  равно (а) 10; (b) 100; (с) 1000; (d) 10000.

Дополнительное тщательное исследование рис. 6-35d показывает, что поверхность слегка вогнута в трех угловых точках с нулевым кручением.

Поверхность с ненулевым кручением в угловой точке является в ней локально «плоской». Поверхность с нулевым кручением во всех четырех углах, как это показано на рис. 6-33, называется куском поверхности Фергюсона или F куском [6-20]. При совместном объединении для формирования более сложных поверхностей местоположение угловых точек кусков вполне очевидно. По этой причине такие куски поверхностей редко используются на практике.

Хотя приведенное здесь обсуждение ограничивается четырехсторонними кусками поверхностей, и другие формы кусков, как это показано на рис. 6-36, тоже имеют значение. Треугольные куски поверхностей рассмотрены в [6-21] и [6-22]. Пятиугольные куски поверхностей обсуждаются в [6-23].

 



<< ПредыдущаяОглавлениеСледующая >>