Функция локального обнуления в геометрическом моделировании алгебраическими функциями

Бесплатный доступ

Рассматривается интерактивный принцип геометрического моделирования алгебраическими функциями для автоматизированного построения пространственной твѐрдотельной цифровой модели по плоским чертежам. Применение R-функционального моделирования к решению задач описания алгебраическими функциями сложного геометрического контура по чертежу содержит два основных недостатка – сложность описания нуль-контура по заданным точкам чертежа и большие затраты времени компиляции формул для компьютерных расчѐтов. В статье описан подход к реализации формообразующего закона построения контура нулевой границы (нуль-контура) объекта чертежа, обеспечивающего динамическое формирование R-функциональной предикатной функции твѐрдотельного геометрического объекта. Рассматривается функция локального обнуления отрезка между заданными двумя точками. Обсуждаются принципы компьютерного конструирования контуров чертежа с применением последовательного построения функции нуль-контура из функций нуль-отрезков посредством применения функции локального обнуления. Алгоритм моделирования обеспечивает запоминание текущего состояния расчѐта функции нуль-контура функционально-воксельной моделью для использования на следующем шаге R-функционального пересечения с новой функцией нуль-отрезка. Последовательное сохранение функциональновоксельных моделей позволяет осуществить возврат на предыдущие шаги проектирования. Такой подход обеспечивает построение поверхности нуль-контура в реализации цифровой 3D-модели посредством аналитического закона вращения. Разработанные средства можно рассматривать как дополнительный инструмент для решения задачи 3D-моделирования по плоским проекциям.

R-функция \ проекция \ функционально-воксельная модель \ М-образ \ закон вращения \ функция локального обнуления \ твѐрдотельное моделирование

Короткий адрес: https://sciup.org/170213734

IDS: 170213734   |   УДК: 004.921+514   |   DOI: 10.18287/2223-9537-2026-16-3-454-464

Local zeroing function in geometric modeling with algebraic functions

An interactive principle of geometric modeling with algebraic functions is considered for the automated construction of a spatial solid digital model from two-dimensional drawings. The application of R-functional modeling to the description of complex geometric contours defined by drawings using algebraic functions has two major drawbacks: the difficulty of constructing a zero contour from specified points in a drawing and the high computational cost associated with compiling formulas for computer calculations. This paper describes an approach to implementing a shape-generation law for constructing the zero-boundary contour (zero contour) of a drawing object, which enables the dynamic generation of an R-functional predicate function for a solid geometric object. A local zeroing function for a line segment defined by two specified points is considered. The principles of computer-aided construction of drawing contours are discussed, based on the sequential construction of a zero-contour function from zero-segment functions using the local zeroing function. The modeling algorithm stores the current state of the zero-contour function computation in a functional- voxel model for use at the subsequent step of R-functional intersection with a new zero-segment function. Sequential storage of functional-voxel models makes it possible to return to previous design steps. This approach enables the construction of a zero-contour surface in a digital 3D model using an analytical law of rotation. The developed tools can be considered an additional means of solving the problem of 3D modeling from two-dimensional projections.

Текст научной статьи Функция локального обнуления в геометрическом моделировании алгебраическими функциями

Алгебраические уравнения неявного вида для описания объектов f^X^ = 0 формулируют закон формообразования нулевых точек в непрерывном пространстве – то есть задают правило, по которому в непрерывном пространстве значений возникают нулевые точки на поверхности объекта (прямая, плоскость, алгебраические кривые и поверхности). Компьютерная запись такой модели компактна и не ограничена размерностью пространства аргументов, но сложна в описании геометрического многообразия. Однако такая модель максималь- но подходит для аналитических инженерных расчётов, поскольку точно описывает геометрию объекта на границе и внутри его тела, вместе с дифференциальными характеристиками.

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

Примерами символьно-графических редакторов, позволяющих наглядно проектировать сложные геометрические объекты функциональными конструкциями, могут служить открытые программные платформы OpenCAD 1 и Antimony 2. Оба приложения позволяют составлять описания математических конструкций из алгебраических функций с визуализацией результатов. Недостатком такого подхода является сложность применения полученных моделей в инженерных расчётах, т.к. математическая конструкция записана в структуре кода, имеет свой формат и формулируется громоздкими уравнениями. Графическое отображение является визуальным сопровождением процесса проектирования и не содействует описанию геометрических свойств объекта.

В частности, при работе с плоскими объектами в системе Antimony используются следующие базовые геометрические блоки: полилинии (из отрезков), задаваемые последовательным набором точек; плоские фигуры, представленные прямоугольниками, треугольниками, кругами и правильными многоугольниками (полигонами).

а) визуализация контура

В качестве примера работы этой системы показано построение контура, заданного набором точек (см. рисунок 1).

Поскольку данный контур не описывается алгебраическим законом формообразования, он не содержит геометрической информации о сформированном замкнутом объекте.

б) описание в виде набора точек Рисунок 1 – Построение контура в системе Antimony

В [2, 3] предложена концепция точечного исчисления (ТИ) как предполагаемой основы для твёрдотельного компьютерного моделирования, где положение точки, принадлежащей объекту, задано параметрическим уравнением. Эта концепция развивает идеи параметрического описания кривых и поверхностей и потому неизбежно наследует как их достоинства, так и известные ограничения, связанные с сеточным заполнением геометрического тела.

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

Система рекурсивного анализа образных компонентов (РАНок) [4] базируется на компиляции формул и сохранении задаваемой области функции в виде пяти трёхмерных массивов (М-образов). Каждый М-образ содержит для рассчитанных точек дискретной области трёхмерное скалярное поле значений соответствующей компоненты однородного вектора единичной нормали п = (nj ,п2,п з , п4, п5 ). Совокупность М-образов для каждой точки дискретной области позволяет собрать локальную функцию неявного вида п^х + п2 у + п3 Z + п4и + п 5 = 0.

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

Mt =

(п i + 1)Р 2

,Р = 2563

-

количество градаций цвета,

которые представляют значения коэффициентов п j локальной функции (1).

Метод такого представления данных получил название функционально-воксельный (ФВ-модель), где под вокселем подразумевается цвет в многомерном пространстве [5]. Это представление области функции переводит геометрическое моделирование на уровень локальной компьютерной геометрии (ЛКГ), основанной на угловой метрике, где длины, площади и объёмы вычисляются посредством интегрирования угловых компонент. Геометрические преобразования (сдвиг, поворот, масштабирование), в отличие от координатных моделей, определяются пересчётом компонентных значений однородного единичного вектора в точке. Координаты точки на задаваемой области определяют пространственную привязку компонент единичного вектора и не влияют на геометрические характеристики объекта. Переход к угловой метрике увеличивает объём необходимой для компьютера информации для оценки геометрических и физических свойств объекта средствами математического анализа.

В работе [6] рассмотрена задача применения проекционных аналитических функций в построении цифровой 3 D-модели по чертежу. ЛКГ позволяет получить необходимую геометрическую информацию в дискретно-аналитическом представлении локальными функци-

ями с непрерывным заполнением тела.

Рассмотрению подлежит задача построения функции нулевой границы (нуль-контура чертежа) с заполнением остального рассматриваемого пространства аргументов (в данном случае на плоскости хУ у) локальными функциями неявного вида пг х + п2 у + п 3 z + п4 = 0. (3)

Положительные значения z локальных функций (3) располагаются внутри контура, а отрицательные значения z - снаружи. Такое представление функции в R -функциональном моделировании принято называть предикатным, т.е. различающимся по признаку состояния знака её значения [7-9]. Для построения R -функциональной последовательности вычислений применяется специальный компилятор формул.

ЛКГ построена на принципах дифференциального аналитического моделирования с использованием функционально-воксельной модели для компьютерного представления [10-12].

Принципы построения пространства локальных функций изложены в работе [ 5] и используются в данной статье при описании функции локального обнуления ( FLOZ – Function ofLOcal Zeroing ) [13,14].

1 Постановка задачи

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

В [14] FLOZ задаётся следующей конструкцией, состоящей из уравнений расстояния между точками Р1(х1 ,у1 ), Р2(х2 ,у2 ) и текущей точкой Р(х,у), заданной на области:

zfl о z = d 1 + d 2 — d, d = У( у 1 - у 2 ) 2 + (Х 1 - х 2 )2~ d 1 = 7(у 1 - у) 2 + (х 1 - х) 2 , d 2 = /(у-у^+сх-х) 2

При построении отрезка нулевых значений (4) квадратично уменьшается значение zFL 0 z при приближении к нуль-отрезку [13]. При этом не удаётся получить линейчатую поверхность, более чётко формирующую отрезок в каждой его точке.

Рисунок 2 - Геометрическая интерпретация FLOZ

Предлагается воспользоваться формулировкой определения расстояния от произвольной точки С на плоскости до прямой, заданной отрезком AB (см. рисунок 2). Это расстояние равно высоте h треугольника ААВ С, образуемого точкой С и отрезком АВ . В первом случае, если углы а и В <  90°:

,   (Уа - Ув)хс — (хА - хв)ус + (хАуБ - хвуА)(5)

h =-------------/                               -■

V (х а — хв)2 + (ул - у в)2

Во втором случае а или В >  90°. При этом применяется следующая формулировка условий:

(а > 900 ^h = V(XC—XАiyT(уC-'yАlУ■,

1/3 > 90 0 ^h = V(xс- х ВУ + (ус ~УвУ-

Следуя принципам ЛКГ, получается обобщённая локальная функция вида:

11 х + I 2 у + I з z + /4 = 0-

Функция вычисления расстояния до отрезка, согласно (5), представляется линейчатой поверхностью z:

(уА - ув)х - (хА - хв)у + (хау в - ввуА)(8)

z =--------1                     =■

V (хА - XВУ + (уА - увУ

Для вычисления первого коэффициента локальной функции достаточно получить частную производную по аргументу х:

  • # = -^уа-^= = 1 ,.

дх   ^хх-х ААу +у-у А У

Второй коэффициент локальной функции является частной производной по аргументу у: dz  __аа -хв________ l(10)

Третий коэффициент I з равен единице, поскольку соответствует производной по аргументу z, а четвёртый выражается через локальную функцию (7):

  • l4 = -1г х - I2 у - I з z,

где z вычисляется по (8).

Аналогичным образом вычисляются коэффициенты для рассмотренного случая с тупыми

углами: .        ,             х -хА при а > и/2 ^ l1 =    ,_____________________, 4(х-ха )2 + (у-уа )2 у - 2 =, lз = 1,                                     (12) ^(х -хАУ + у -уаУ                               ( ) z = ^(х -хАУ + (у -уАу,  4 = -1 1 х-1 2 у-l з z, при В > и/2 ^ I-, =--,                  

^(х -хВУ + (у -увУ l2 =               у         Лз = 1,

^(х -хвУ + (у -увУ z = ^(х - XвУ +(у - увУ ,    /4 = -1 1 х - I2 у - lз z.

Алгоритм вычисления FLOZ можно представить следующей записью:

/ 7Г ТГх если ( а < — и /? < —), то формулы (8 - 11);

в противном случае { если ( а > —), то формула (12); если (/?>—), то формула (13)}.

Из постановки следует, что значения z полученной функции всегда будут положительными, и это противоречит принципам R -функционального моделирования, где предусматривается пересечение или объединение положительных или отрицательных областей. Для построения сложного контура это является удобным, поскольку исключает эффект «отсечения» выстраиваемой положительной области объекта при процедуре пересечения с новым направлением отрезка контура. На рисунке 3 показано графическое представление полученной FLOZ для заданных точек в виде четырёх М-образов ФВ-модели, цвет которых кодируется согласно (2) с предварительным нормированием полученных I ^ :

Т1' — —

^11 + 1 + + I 3 + ^ 4

Сохранение последовательности ФВ-моделей на каждом этапе построения сложного нуль-контура посредством наращивания вычисляемых FLOZ оператором конъюнкции [1] позволяет получить сценарий для возможного возврата на один или несколько шагов расчёта в процессе конструирования контура сложного чертежа.

Рисунок 3 - Функционально-воксельная модель из четырёх М-образов

Если рассмотреть конъюнкцию для функций z = z^z2 — Vz i2 + z 2 2 , то можно заметить, что при любом из аргументов, равном нулю, обнуляется всё выражение.

На рисунке 4 представлено построение замкнутого нуль-контура посредством последовательных пересечений локальной функции FLOZ , задаваемой очередной точкой контура, с локальной функцией, получаемой из М-образов текущей ФВ-модели:

(ФВМЛГЮ Z)

_ (ФВМ) _ _7^BM)V

Z      — L 1 л

Z       —  1^ л

ФВМ

ФВМ     ФВМ

-

-

2 Z l4

l (ФВМ) — 1, i — 1,2,4.

ФВМ ФВМ

(  ^(z ($BM) ) 2 + (z(™ z) ) 2   )'

В скобках указан вид локальной функции, к которой относится компонента l j .

На рисунке 5 показана ФВ-модель для законченного построения выпуклого контура.

На рисунке 6 приведена последовательность построения замкнутого невыпуклого контура посредством операции пересечения локальной FLOZ , задаваемой последующей точкой контура с локальной функцией, получаемой из М-образов текущей ФВ-модели.

Рисунок 4 – Последовательность построения контура

Рисунок 5 – Функционально-воксельная модель из четырёх М-образов, хранящая локальные функции описания выпуклого контура

Рисунок 6 – Последовательность построения замкнутого невыпуклого контура

На рисунке 7 представлена ФВ-модель завершённого построения невыпуклого контура.

Рисунок 7 – Функционально-воксельная модель из четырёх М-образов, хранящая локальные функции описания невыпуклого контура

Пример построения контура по заданному чертежу (см. рисунок 8). Для вращения относительно оси Oz рисунок 8а повёрнут на 90 0 и обрезан вдоль этой оси (см. рисунок 8б).

Для организации вращения достаточно указать половину точек контура, расположенных справа (или слева) от оси. На рисунке 9 покадрово представлен процесс формирования объекта при последовательном указании характерных точек вдоль линии чертежа.

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

горитм заливки, как показано на рисунке 10а.

а)

б)

Рисунок 8 – Чертёж детали для построения фигуры вращения (пример)

Рисунок 10 – Заливка (a) и инвертирование цвета (б) в зоне отрицательных значений локальной функции

Для получения отрицательного значения локальной функции в точках достаточно инвертировать цвет в этих точках М-образа (рисунок 10б). На рисунке 11 показан окончательный вариант ФВ-модели для применения функции вращения.

Mr            м2             м3            м4

Рисунок 11 – Функционально-воксельная модель из четырёх М-образов, содержащая локальные функции описания контура вращения с учётом области отрицательных значений локальной функции

В работе [6] описан принцип построения трёхмерной ФВ-модели фигуры вращения. Он сводится к пересчёту плоской локальной функции п 4х + п 3z + п 4и + п 5 = 0, заданной в плоскости хOz, в локальную функцию (|nj -^==) х + (inj -^==)у + п3 z + Пии + п5 = 0 с переходом в пространство .

На рисунке 12 показана схема композиции из пяти М-образов, описывающих 3D-область аргументов локальной функции для детали, которая представлена в центре композиции.

Рисунок 12 – Трёхмерная функционально-воксельная модель и результат построения фигуры вращения

Заключение

Принцип конструирования чертежа по его контуру с помощью FLOZ может быть положен в основу дальнейшего развития средств твёрдотельного моделирования. Данный подход, благодаря дифференциальному компьютерному представлению геометрии, позволит точно описывать объекты и их характеристики в процессе проектирования. Разработанный инструмент FLOZ, как генератор линейчатой поверхности с отрезком нулевых значений, упрощает создание аналитического представления проекции нулевых границ объекта для пространственного R -функционального моделирования. По такому же принципу может быть построена FLOZ для сегмента дуги, заданного двумя точками и радиусом, а также реализован алгоритм построения параметрической кривой, последовательно заполняемой нуль-отрезками.

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