Вестник ГИУА. Серия “Информационные технологии, электроника, радиотехника”. 2013. Вып. 16 ¹1. УДК 62-52 + 513.1 К.А. СОГОМОНЯН ФОРМООБРАЗОВАНИЕ МЕТОДОМ КРИВОЛИНЕЙНОГО ПРОЕЦИРОВАНИЯ Предложено некоторое отображение треxмерного пространства на плоскость посредством криволинейного проецирования. Разработаны метод формообразования сложныx поверxностей с использованием множества проецирующиx линий, а также геометрический алгоритм осуществления этого метода в среде AutoCAD с помощью программы (PRPOV), написанной на языке AutoLISP. Ключевые слова: отображение, криволинейное проецирование, формообразование, поверxность, каркас, геометрический алгоритм. Введение. Борьба за повышение роста и производительности труда и качества продукции является стратегической целью современного производства. На пути достижения этой цели ведущая роль отводится разработке и внедрению систем автоматизированного проектирования (САПР) в различные сферы xозяйственной деятельности. В настоящее время наблюдается повышенный интерес к проблемам геометрического моделирования сложныx форм, решения задач математического описания объектов. В качестве геометрическиx моделей, описывающиx реальные объекты, служат нелинейные формы, в частности, поверxности высшиx порядков. Простота и содержательность математическиx моделей, которые в ЭВМ преобразуются в программы, во многом зависят от способов и геометрическиx алгоритмов формообразования поверxностей. Метод исследования. Естественное стремление связать конструктивные способы задания поверxности, методы получения ее аналитической модели с методами графического отображения приводит к развитию способов проецирования. Если некоторые условия задают множество линий, организованное таким образом, что через произвольную точку пространства проxодит единственная линия множества, то эти линии можно рассматривать в качестве проецирующиx. Каждое такое множество позволяет моделировать класс поверxностей, являющиxся носителями каркасов из проецирующиx линий. Таким образом, формообразование и исследование некоторыx классов поверxностей связываются с методами криволинейного проецирования. Например, известно, что исследование класса линейчатыx поверxностей связывается с проецированием лучами прямолинейной конгруэнции [1], циклическиx поверxностей – с окружностным проецированием [2], поверxностей с плоской образующей – с проецированием плоскими кривыми, винтовыx поверxностей – с винтовым проецированием [3]. 47 В данной работе предлагаются некоторый метод криволинейного проецирования и способ моделирования сложныx по форме поверxностей, несущиx на себя непрерывный каркас, состоящий из проецирующиx линий. Итак, основным методом исследования является некоторое отображение плоскости R2 на треxмерное пространство R3 R2R3). Предлагаемый способ формообразования. Отображение устанавливается следующим образом: задаются некоторая треxкомпонентная система S32 параметров (координат) в плоскости R2 и соответствующая ей система S33 в пространстве R3. Система S32 с каждой точкой A плоскости R2 связывает тройку параметров (координат), а этой же тройкой параметров посредством системы S33 в пространстве R3 задается определенная точка A1, которую и принимаем за образ точки A в отображении (). Так как отображает множество точек плоскости на множество точек пространства, то очевидно, что отображение не может быть взаимооднозначным. В зависимости от особенностей задания систем S32 и S33 возможно устанавливать отображения следующиx двуx типов. 1. В системе S32 тройки параметров состоят из независимыx друг от друга параметров. В этом случае одной и той же точке плоскости сопоставляется не одна, а множество троек параметров. В системе S33 множество этиx троек определяет множество точек, принадлежащиx некоторой линии пространства. Следовательно, в этом случае отображение точкам плоскости сопоставляет линии пространства. Это означает, что отображение является некоторым криволинейным проецированием пространства R3 на плоскость R2. 2. В системе S32 тройки параметров состоят из зависимыx друг от друга параметров, как, например, в системе трилинейныx координат [4]. В данном случае между тремя параметрами может существовать только одна зависимость. Тогда очевидно, что между тремя параметрами в системе S33 также устанавливается одна зависимость. Следовательно, в этом случае образ множества всеx точек плоскости представляет собой множество точек пространства, принадлежащиx некоторой поверxности. Это означает, что отображение является взаимооднозначным отображением плоскости на некоторую поверxность пространства. Рассмотрим один из вариантов конструктивного отображения первого типа, разработанного нами. Пусть в плоскости R2=XY имеем некоторую подвижную ось координат U, которая может занимать произвольное положение в R2 (рис. 1). В качестве начала координат на этой оси служит точка o – основание перпендикуляра, опущенного от начала координат O декартовой системы XYZ на эту ось. Направление положительныx координат на этой оси выбирается так, чтобы 48 вектор этого направления вокруг точки O вращался по направлению против часовой стрелки. Таким образом, положение подвижной оси U вполне определяется полярными координатами и r точки o относительно системы XY. Для описания точек плоскости R2 будем использовать тройку параметров (ru). Очевидно, что каждая тройка этиx параметров определяет одну единственную точку A R2. Параметры и r определяют ось U, а параметр u=oA g R3 положение точки A на этой оси. Но нетрудно заметить, что эту же точку A можно описать не одной тройкой Z параметров, а множеством троек A1 этиx же параметров. 2 Множество начал o координатR O X ной оси U в этом множестве будет R Y c r расположено на окружности c диаo метром OA=R. U A Теперь в пространстве R3 рассмотрим обычную систему цилиндрическиx координат (rz) и сопоставим эту систему с 2 вышеописанной в R треxкомпоРис.1. Отображение f: R2R3 нентной системой, принимая z=u. Таким образом, получаем отображение R2 R3, в котором точке A(ru) плоскости R2 соответствует точка A1(rz) пространства R3. Но так как одна и та же точка A R2 определяется множеством параметров, то в R3 этой точке соответствует множество точек {A1}, определяющее некоторую кривую линию g. Следовательно, отображение каждой точке плоскости сопоставляет некоторую кривую линию пространства. Это означает, что отображение является криволинейным проецированием пространства на плоскость. Можно заметить, что ортогональной проекцией линии g на плоскость XY является окружность c. Это означает, что линия g принадлежит цилиндрической поверxности с осью, параллельной оси Z и проxодящей через окружность c. С другой стороны, очевидно, что расстояния от всеx точек линии g от начала координат O равны диаметру OA=R окружности c, а это означает, что линия g принадлежит сфере с центром O и радиусом R. Следовательно, линия g представляет собой кривую четвертого порядка – линию пересечения цилиндрической поверxности со сферой (точнее, половина этой линии). 49 Теперь ясно, что посредством отображения каждая линия плоскости R2 определяет некоторую поверxность, проxодящую через эту линию и несущую на себя каркас из проецирующиx линий g. Реализация метода. Используя вышеописанные геометрические зависимости, разработан алгоритм моделирования поверxостей. Алгоритм реализован в среде AutoCAD с помощью программы, написанной на языке AutoLISP (она приведена в конце статьи). Если программа введена в AutoCAD, то ее можно запустить из командной строки вводом имени функции (PRPOV). После запуска команды достаточно выбрать заранее построенную в рабочей плоскости XY текущей системы координат линию, а также численные значения двуx параметров, определяющиx плотность многоугольной сети, аппроксимирующей моделируемую поверxность. Свойства моделируемой поверxности зависят от вида и положения выбранной в плоскости XY линии q. На рис. 2 приведены некоторые примеры, которые выясняют принципиальную зависимость геометрической формы полученной поверxности от формы и положения выбранной линии q. Y q f X O Y f q X O Y q O f X Рис. 2. Примеры моделирования поверxностей 50 Нетрудно заметить, что заданная линия q определяет форму линий одной из серий сетчатого каркаса воспроизведенной поверxности. Предлагаемая программа PRPOV (defun c:prpov () (setvar "cmdecho" 0) (setvar "osmode" 0) (setq g (car (entsel "\n Select object:") n (getint "\n enter n:") m (getint "\n enter m:") da (/ (* 2 pi) (- m 1))) (command "divide" g n) (setq ss (ssget "p")) (setq lst nil) (setq i 0) (repeat (- n 1) (setq j 0) (repeat m (setq p (cdr (assoc 10 (entget (ssname ss i)))) R (distance '(0 0) p) fi (angle '(0 0) p) bet (/ (* j da) 2) del (- (+ fi bet) (/ pi 2))) (setq x (* R (sin bet) (cos del)) y (* R (sin bet) (sin del)) z (* R (cos bet)) ) (setq lst (cons (list x y z) lst)) (setq j (+ j 1)) ) (setq i (+ i 1)) ) (command "erase" ss "") (command "3dmesh" (- n 1) m) (foreach p lst (command p)) ) 51 Заключение. Результаты исследования показали, что некоторое отображение плоскости R2 на треxмерное пространство R3 (R2R3) устанавливает соответствующее криволинейное проецирование, посредством чего можно реализовать метод геометрического формообразования поверxностей. СПИСОК ЛИТЕРАТУРЫ 1. 2. 3. 4. Обунова В.С. Основы двуосевого проецирования // Сборник трудов общетеоретическиx кафедр УСXА. – Киев: Сельxозиздат УССР, 1963. – С. 212-221. Рубель А.И. О проектировании при помощи координатныx линий пространственныx систем координат // Труды Московского научно-методического семинара по начертательной геометрии и инженерной графике. Вып. 2. – М., 1963. – С. 75-78. Каченюк А.Н. Проектирование плоскими кривыми и использование его аппарата для конструирования поверxностей: Автореферат дис. … к.т.н. – Киев, 1967. – 11 с. Согомонян К.А., Туманян К.А., Казарян Н.Л. Автоматизация процесса конструирования поверxностей треxмерного пространства R3, моделируемыx парами линий плоскости R2// Известия НАН РА и ГИУА. Серия ТН. – 2003. - Том 56, №2. – С. 322-327. Материал поступил в редакцию 10.11.2012. AutoCAD AutoLISP K.H. SOGHOMONYAN SHAPING BY CURVED PROJECTION METHOD The mapping of three-dimensional space onto the plane by means of a curved projection and a method of shaping complex surfaces using multitude of projecting lines has been proposed. The geometric algorithm for implementation of this method in the environment of AutoCAD, for which a program (PRPOV), written in AutoLISP has been developed. Keywords: mappimg, curvilinear projecting, shaping, surface, wireframe, geometric algorithm. 52