Glushan Valentin Mihailovich
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of
Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: 8(8634)360-793.
Department of Computer Aided Design; professor.
Lavrik Pavel Victorovich
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of
Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: 8(8634)360-793.
Department of Computer Aided Design; post-graduate student.
УДК 681.3.06
B.B. Лисяк, М.В. Лисяк
ОБ ОДНОМ КЛАССЕ ЗАДАЧ ГЕОМЕТРИЧЕСКОГО МОДЕЛИРОВАНИЯ ТРЁХМЕРНЫХ ОБЪЕКТОВ В САПР*
Рассматривается класс задач, возникающий при интерактивной работе с объектами геометрического моделирования в САПР. Задача решается путём вычисления матрицы , -ных преобразований. Предлагается программа для ОС Windows, реализующая решение рассматриваемого класса задач. Программа может использоваться в геометрическом процессоре САПР для создания макросов типовых геометрических преобразований моделей проектируемых объектов.
Геометрическое моделирование; матрица преобразования; обратная матрица; аффинная геометрия; однородные координаты; трансформация объекта; сходимость алго-
; .
V.V. Lisyak, M.V. Lisyak
ABOUT A CLASS OF PROBLEMS IN GEOMETRICAL MODELING OF THREE-DIMENSIONAL OBJECTS IN CAD
There is reviewed a class of problems that appear during interactive work with objects of geometrical modeling in CAD. The problem is solved by calculation of transformation matrix, which converts an object to another one by means of affine transformations chain. There is proposed a program for OS Windows, which realizes the solution of concerned problems class. The program can be used in CAD geometrical processor for creation of macros of designed objects ’ models typical transformations.
Geometrical modeling, transformation matrix; inverse matrix; affine geometry; homogeneous coordinates; object transformation; algorithm convergence; macros.
.
обеспечения (ПО) САПР показано на рис. 1, в котором темным цветом выделена
, .
*
Работа выполнена при поддержке: РФФИ (грант № 09-01-00509), г/б № 2.1.2.1652.
Пакет прикладных программ
Г еометрический процессор
Лингвистический
процессор
Процессор
визуализации
Базовая
графическая
система
Геометрическая
модель
т
Обмен с другими системами
Рис. 1. Место задачи в структуре программного обеспечения САПР
задача возникает в процессе создания и редактирования геометрических моделей проектируемых объектов, когда в результате использования множества интерактивных процедур формальное восстановление выполненных преобразований либо затруднительно, либо невозможно. При этом проектировщику не столько важно восстановить всю цепочку преоб-,
ответ на вопрос: как из исходного изображения получилось результирующее изображение? Полезность такой информации стано-, , когда проектировщику от одного объекта проектирования к другому приходится выполнять типовые цепочки определённых преобразований. В этом случае опытные проектировщики создают собственные библиотеки типовых цепочек геометрических преобразований, использование которых существенно повышает эффективность работы. Трудоёмкость формирования собственных процедур, в настоящее время, связана с необходимостью чёткого знания последовательности операций преобразования в цепочке, использования функций графической библиотеки ОреивЬ, реализующих операции преобразования и создания на этой базе соб. , -низм вычисления одной матрицы преобразования для всей типовой цепочки преобразований, т.е. используя исходное и конечное описание объекта вычислять непосредственно матрицу преобразования.
. , -, . , -вестно, что один из объектов получен путём применения к другому объекту композиции аффинных преобразований. Требуется вычислить матрицу преобразования, которая трансформировала один объект в другой [1-4]. На рис. 2 иллюстрируется постановка такой задачи:
Матрица описания Р объекта А
Матрица описания Р объекта А
Композиция аффинных преобразований в интерактивном режиме
-Ті 3': *1 1
*2 >’2 г, 1
-
X, Уп 2-Л 1
*1 У ъ 1
.Ї, 3': г* 1
- - - -
у'п < 1
Матрица
преобразования
Рис. 2. Постановка задачи вычисления матрицы преобразования
Известны матрицы Р и Р и их взаимосвязь РхТ = Р - неизвестна матрица Т. Решение этой задачи сводится к поиску обратной матрицы к матрице Р и умножения её на матрицу Р [1].
, , преобразовании в диалоговом режиме геометрических моделей трёхмерных объек-,
практически во всех САПР, ориентированных на трёхмерную графику (архитектура, строительство, различные отрасли машиностроения: авто-судо-авиастроение и др.).
При этом обе модели представляются в матричной форме в виде векторов-строк положения характерных точек, заданных в однородных координатах. Задача решается методом вычисления матрицы преобразований, трансформирующей исходный объект посредством цепочки аффинных преобразований, основной процедурой которого является нахождение обратной матрицы к матрице описания ис. ,
матрица. В связи с этим, возникает вопрос, что делать, если исходная матрица не .
. -
ния поставленной задачи для матриц, содержащих произвольное число точек коор-, -матизированной экспериментальной проверки предлагаемого алгоритма. При этом объекты проектирования представляются в трёхмерной области, для их описания используются однородные координаты, а размерность матрицы описания объектов проектирования №4.
Преобразования изображений выполняться в классе аффинных преобразований. Аффинное преобразование - геометрическое преобразование плоскости или пространства, которое можно получить, комбинируя движения, зеркальные отображения и гомотетии в направлениях координатных осей. Гомотетия - преобра-.
.
на аппарате матричной алгебры и аффинной геометрии с использованием однородного координатного преобразования и сводится к доказательству того, что поиск обратной матрицы к матрице, содержащей произвольное число точек коорди-, -денной подматрице исходной матрицы. Таким образом, достаточно доказать, что описание применения цепочки аффинных преобразований к исходной матрице эквивалентно описанию применения цепочки аффинных преобразований к любой невырожденной подматрице размерностью 4x4 исходной матрицы.
Преобразование произвольной матрицы А в матрицу С описывается матричным уравнением Атх4Х4х4=Стх4, единственным решением которого относительно X является Х=В, где В - матрица преобразования. Если матрица преобразования В неизвестна, то решение матричного уравнения Атх4Х4х4=Стх4, теЫ, т>4 может быть найдено лишь для т=4 при ёе(Афй. В этом случае Х=А-14х4-С4х4, Х=В.
Теорема. Если из матрицы Атх4, теЫ, т>4 выделить произвольную подматрицу А 4х4, а из матрицы Стх4 - соответствующую по номерам выделенных строк подматрицу С 4х4, то решение нового матричного уравнения А 4х4Х=С'4х4, если оно существует (ёе1 А '^0), будет решением уравнения Атх4 ■Х4х4=Стх4.
. ,
А 4 = а и В4х4 = Ь.1 является новая матрица С^ =
II J \\тх4 II Л14х4
такая, что
4
с = Vа -Ъ, . Пусть 1 - множество строк матрицы А, а У - множество строк мат-
.7 .к кj
к=1
рицы С. Тогда между множествами 1 и У существует функциональное соответствие ¥=(0, 1, У), причем функция ¥ биективна. Другими словами, каждой ^ой стро-
.- -. .не повлияет на связи между остальными строками матриц А и С.
Таким образом, из множеств 1 и У строк матриц А и С могут быть удалены по (т-4) соответствующих друг другу элементов, что никак не отразится на связях между оставшимися элементами. Так мы получим новые множества 1С1 и УСУ, состоящие из 4-х элементов, такие, что существует функция ¥ '=(0 ',1 'У), О 'сО и
А 4х4 4х4 .
Очевидно, что при переходе от уравнения А Х=С к уравнению А 'Х=С' принцип построения функционального соответствия между множествами 1 и У не изменяется, связи между строками матриц А и С сохраняются, происходит лишь сужение области отправления 1 до 1 , области прибытия У до У'и графика О до О , причем, если 2е1 'иуеУ, то ¥(х)=у^¥'(х)=у в силу биективности ¥ и ¥ ' Поэтому все возможные решения уравнения А'Х=С'являются решениями уравнения А-Х=С. Поскольку уравнение А Х=С имеет единственное решение Х=В, то, если решение уравнения А 'Х=С'существует (ёе1 А '^0), это Х=(А )-1 -С'=В. Что и требовалось до.
Общая схема метода. Таким
,
теоретическое обоснование методу нахождения матрицы преобразования одного объекта в другой, который практически не зависит от размерности объекта. На рис. 3 показан исследовательский вариант общей схемы метода, в котором изображение 2 (объект) формиру-Рис. 3. Общая схема метода ется Путем применения к изобра-
1
це почки аффинных преобразований и в котором выполняется верификация результата вычисления матрицы преобразования.
В процессе проектирования описание объекта проектирования может импортироваться из других систем или создаваться в интерактивном режиме, в том числе, с использованием дигитайзера. В связи с этим, в описании объекта возможно
( ),
, . обстоятельства приводят к тому, что матрица описания объекта может содержать вырожденные подматрицы, поэтому проверка выделенной подматрицы 4x4 на вы-рожденность (<Ле1 А=0) является обязательной.
Основной процедурой в решении указанной задачи является вычисление об. ,
, -
4 4,
месту положения подматрицу 4x4 в матрице, описывающей второй объект.
Координаты точек в матрицах Р и Р представлены в однородных координатах. Представление двумерного вектора трёхмерным или в общем случае я-мерного вектора (л+1)-мерным вектором называется однородным координатным преобразованием, которое выполняется в (и+1)-мерном пространстве, а конечные результаты в и-мерном пространстве получаются с помощью обратного преобразования - операции нормализации, т.е. деления координат на значение однородной координаты [5]. При выполнении геометрических преобразований в двумерном пространстве операция деления не требуется, так как однородная координата равна 1.
Однородное координатное преобразование приводит к матрице преобразова-4 4,
области:
1. .
2. .
3. .
4. .
5. .
6. Преобразования в перспективе.
Структурная схема алгоритма. Структурная схема алгоритма, удовлетворяющая перечисленным выше целям и требованиям и реализующая рассмотренный метод, показана на рис. 4.
Рис. 4. Структурная схема алгоритма вычисления матрицы преобразования
.
Блок формирования изображения 2 предназначен для получения изображения в классе аффинных преобразований. Для этого задание цепочки преобразований выполняется в соответствии с аффинными, базовыми преобразованиями, обобщённая матрица которых имеет вид:
а x СІ С 2 p
С4 а у СЗ q З x З З x І
С 5 С 6 а z r І x З І x І
tx ty tz s
Матрица 3x3 осуществляет все виды масштабирования, сдвига, отображения и вращения. Матрица-строка 1x3 выполняет любые комбинации переносов изображения, матрица-столбец 31 все возможные преобразования в перспективе, а скалярный элемент s выполняет общее пропорциональное изменение масштаба.
В блоке вычисления обратной матрицы выбор подматрицы 4x4 из матрицы Р; изображения 1, может выполняться случайным образом, что полезно в режиме
, .
4 4, ,
матрицы Pj. После всестороннего исследования программы, режим случайного выбора подматрицы 4x4 можно исключить.
Проверка правильности вычисления матрицы преобразования Т* выполняется сравнением её с матрицей Т, либо вычислением P = РЯГ и сравнением P с сформированной матрицей изображения 2.
.
,
аффинной геометрии, т.е., когда свойства объектов сохраняются при любых аф-
.
аффинным, если его можно получить, комбинируя движения, зеркальные отображения и гомотетии (преобразования подобия) в направлении координатных осей. В связи с этим, операции редактирования, связанные с добавлением или удалением точек объекта, недопустимы, так как приводят к совершенно другому объекту. Основные базовые операции преобразования (редактирования) изображений или геометрических моделей удовлетворяют аффинному преобразованию, поэтому рассмотренный алгоритм можно применять в подсистемах машинной графики и гео-
.
Программа реализации предлагаемого алгоритма написана в среде программирования Borland C++ Builder 6.0. и позволяет использовать следующие режимы работы:
формирование исходного изображения для плоскости и пространства; интерактивное и случайное формирование композиции аффинных преоб-
;
интерактивный и случайный выбор подматриц исходной матрицы для вычисления обратной матрицы;
выполнение проверки правильности вычисления обратной матрицы;
.
Отличительной особенностью программы является слабая зависимость времени работы программы от размерности исходного изображения, так как основная процедура нахождения матрицы преобразования выполняется для подматрицы 4x4 с последующим умножением на матрицу Nx4.
♦
♦
♦
♦
Программа может использоваться в геометрическом процессоре САПР для создания макросов типовых геометрических преобразований моделей проектируе-.
БИБЛИОГРДФИЧЕСКИЙ СПИСОК
1. Никулин Е.А. Компьютерная геометрия и алгоритмы машинной графики. - СПб.: БХВ-Петербург, 2003. - 560 с.
2. Роджерс Д., Адамс Дж. Математические основы машинной графики. - М.: Мир, 2001.
- 604 с.
3. Ласло Майкл. Вычислительная геометрия и компьютерная графика на C++: Пер. с англ.
- М.: Бином, 1997. - 304 с.
4. Порее В.Н. Компьютер пая графика. - СПб.: БХВ-Петербург, 2002. - 432 с.
5. Лисяк Н.К., Лисяк В.В. Геометрическое моделирование в САПР / Учебное пособие.
- Таганрог: Изд-во ТРТУ, 2005. - 82 с.
Лисяк Наталия Константиновна
Технологический институт федерального государственного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: [email protected].
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.:8(8634)360-524.
Кафедра систем автоматизированного проектирования; доцент.
Лисяк Мария Владимировна
Технологический институт федерального государственного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: [email protected].
347928, г. Таганрог, пер. Некрасовский, 44.
.:8(8634)360-524.
Кафедра систем автоматизированного проектирования; студентка.
Lisyak Natalia Konstantinovna
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: 8(8634)360-524.
Department of Computer Aided Design; associate professor.
Lisyak Maria Vladimirovna
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected]
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: 8(8634)360-524.
Department of Computer Aided Design; student.