Научная статья на тему 'Решение задач с плоскими треугольными элементами в граневых моделях поверхностей'

Решение задач с плоскими треугольными элементами в граневых моделях поверхностей Текст научной статьи по специальности «Математика»

CC BY
115
50
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОДЫ ПАРАМЕТРИЧЕСКОЙ АППРОКСИМАЦИИ / МАТЕМАТИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ПЛОСКОГО ТРЕУГОЛЬНОГО ЭЛЕМЕНТА / PARAMETRIC APPROXIMATION / FLAT TRIANGULAR ELEMENTS

Аннотация научной статьи по математике, автор научной работы — Суслин В. П.

Для математического представления плоского треугольного элемента предложена его параметрическая аппроксимация, показана возможность такой аппроксимации и определена область изменения параметров. Рассмотрены актуальные для САПР геометрические задачи с плоскими треугольными элементами такие, как определение принадлежности точки треугольнику, определение точки пересечения прямой и плоскости треугольника, проецирование точки на плоскость треугольника, предложены алгоритмы их решения и даны оценки объема вычислений. Многолетнее применение рассмотренных методов решения задач в прикладном программном обеспечении показало их работоспособность и высокую надежность.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Solving of Tasks with Flat Triangular Element in Face Surface Models

For the mathematical presentation of flat triangular element its parametric approximation is offered. The possibility of such approximations is shown. The area of changing parameters is determined. Actual for the CAD geometric problems with flat triangular elements such as the determination of accessories of spot to the triangle, determination of cross point direct and planes of triangle, spots projection on the plane of triangle is considered. Algorithms of their deciding and given evaluations of calculations volume are offered. Long-term use of considered methods of problems solution in the of applied software has shown theirs efficiency and high reliability.

Текст научной работы на тему «Решение задач с плоскими треугольными элементами в граневых моделях поверхностей»

Раздел 3. Естественные науки. МНТК ААИ России «Приоритеты развития отечественного автотракторостроения и подготовки инженерных и научных кадров» 4-го международного научного симпозиума «Современное автотракторостроение и высшая школа России», посвящённого 140-летию МГТУ МАМИ под ред. проф., д.т.н. Бахмутова С.В. ISBN 5-94099-036-3. Москва, МГТУ «МАМИ», 2005. Книга 2. Стр. 459-464.

4. Сиротский А.А. Применение LABVIEW для автоматизации лазерных измерительных систем и научного эксперимента. Тезисы докладов научно-практической конференции «Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments» ESEA-NI-04. Москва, РУДН, 2004.

5. Сиротский А.А. Экспериментальные исследования лазерной измерительной системы с двумя оптически обращёнными каналами. Материалы 49-й МНТК ААИ «Приоритеты развития отечественного автотракторостроения и подготовки инженерных и научных кадров». Секция 3 «Автоматизированное управление, электроника и электрооборудование автотракторной техники», часть 1. М., МГТУ «МАМИ», 2005 г. 2 стр.

6. Сиротский А.А. Технологические области применения лазерных измерительных систем для контроля прямолинейности и положения осей отверстий в различных деталях машиностроения. Материалы 49-й МНТК ААИ «Приоритеты развития отечественного автотракторостроения и подготовки инженерных и научных кадров». Секция 8 «Механообработка и сборка. Методы и средства автоматизации автотракторного производства, оптимизация технологических систем», часть 2. М., МГТУ «МАМИ», 2005 г. 3 стр.

Решение задач с плоскими треугольными элементами в граневых моделях

поверхностей

к.т.н. Суслин В.П. МГТУ «МАМИ»

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

Рассмотрим первую задачу. Она является частным случаем задачи о принадлежности точки многоугольнику. Это известная задача в экранной графике. Для ее решения используется два метода, описанные в различных монографиях по машинной графике [1, 2]. Один основан на вычислении суммы углов, а второй - на подсчете числа пересечений луча, проходящего через тестируемую точку, со сторонами многоугольника. В обоих случаях требуется преобразовать систему координат так, чтобы координатная плоскость совпала с плоскостью треугольника, т.е. привести пространственную задачу к плоской.

В программном обеспечении, разработанном в лаборатории САПР МГТУ «МАМИ», используется другой метод решения задачи о принадлежности точки треугольнику, а также ряда других задач, связанных с треугольными элементами. Он не требует преобразования пространственной системы координат в плоскую, экономичен по объему вычислений и прост по логике.

Пусть имеется невырожденный треугольный элемент V1V2V3, определенный вершинами V =(x1 y1z1) , V2 =(x2y2z2 ) и V3 =(x3y3z3) . Введем двумерную параметризацию с

параметрами u и v так, чтобы в вершине Vi было u, v = 0, на стороне V1V2 - V = 0, 0 < u < 1 и на стороне V1V3 - u = 0, 0 < V < 1 (рис. 1). Такая параметризация связана с косоугольной системой координат [3].

Рис. 1. Утверждение 1.

Векторная функция

Я(и^) = (У2 - V1 )и + (У3 - V1 )у + V1 (1)

определяет точки плоскости треугольного элемента.

Доказательство

Пусть N = (ПхПуПг ) - вектор нормали плоскости треугольного элемента. Тогда уравнение плоскости будет

Пхх + Пуу + "и - Р = 0 (2)

Запишем компоненты функции (1)

х(и,у) = (х2 - х1)и + (х3 - х1 )у + х1,

у (u, V) = (У2 - У1)и + (Уз - У1 ^ + У1,

г(и,V) = (- )и + (- ^ +

и подставим их в уравнение (2).

После приведения подобных членов получим

[Пх (х2 - х1) + Пу (У 2 - У1) + П (2 - )] и + [Пх (х3 - х1) + Пу ( Уз - У1) + П ( - )] +

+ ( + Пуу1 + «Ы - Р) = 0

В этом уравнении коэффициенты при и и V равны нулю, т.к. являются скалярными произведениями ортогональных векторов. Свободный член также равен нулю, т.к. в нем координаты вершины У1 треугольника подставлены в уравнение его плоскости.

Таким образом, функция (1) обращает уравнение (2) в тождество, что и доказывает утверждение 1.

Утверждение 2.

Для точки плоскости треугольного элемента, лежащей внутри треугольника или на его границах, имеют места неравенства: 0 < и < 1, 0 < V < 1, и + V < 1.

Доказательство

Два первых неравенства выполняются по определению параметрических координат. Докажем третье неравенство.

Подставим в формулу (1) V = 1 -и. Получим параметрическое уравнение прямой Я(и, V) = (У2 - У3)и + У3, проходящей через вершины У2У . Таким образом, на третьей стороне треугольника имеет место равенство и + V = 1. Через произвольную точку Т с параметрическими координатами и^т, лежащую внутри треугольника, проведем координатную

прямую, параллельную оси и (рис. 2). z

Рис. 2.

На этой прямой V = VT, а u изменяется равномерно от —да до +да . Внутри треугольника, включая границы, будет u = |0,(1 — VT )J . Так как точка выбрана произвольно, то для

любой точки внутри треугольника, включая границы, будет выполняться неравенство 0 < u < 1 — V, или u + V< 1, что и требовалось доказать.

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

Задача 1. Проецирование точки на треугольник.

Имеется треугольник, заданный вершинами V1, V2, V3, и точка T с координатами x, y,

z, в общем случае не лежащая в плоскости треугольника. Требуется найти проекцию этой

точки на плоскость треугольника и определить принадлежность проекции точки треугольнику.

Решение.

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

виде г(u, v) = au +ßv +Y, где a = (axayazf, ß = (ßxßyßz)T, Y = (YxYyYz)T - векторные коэффициенты, определенные в формуле (1). Тогда задача минимизации запишется так:

min u,v(au +ßv + Y — t)2

Приравняв нулю частные производные этой функции по u и v, получим систему из двух линейных уравнений с двумя неизвестными

a11u + a12v = b1 a21u + a22v = b2

где: a11 =ax2 +ay2 +az2 , a12 = a 21 =axßx +ayßy + azßz , °22 =ßx2 + ßy2 +ßz2,

b1 = ax (x — Yx ) + ay ( У — Yy ) + az ( z — Yz ) , Ь2 =ß x (x — Yx ) + ß y (y — Yy ) + ß z (z — Y z )

Определитель этой системы равен нулю только в том случае, если треугольник вырожденный. Во всех других случаях система уравнений положительно определена и имеет единственное решение. Оно дает значения параметров u и v проекции точки на плоскость треугольника.

Для решения задачи нужно выполнить около 60 арифметических операций, включая проверки 0 < u < 1, 0 < v < 1, u + v < 1 для определения принадлежности точки треугольнику и вычисление координат точки по формуле (1).

Раздел 3. Естественные науки.

Задача 2. Определение положения точки (вне/внутри треугольника).

Пусть известно, что точка ? = (х, у, 2) лежит в плоскости треугольника с вершинами V, V, V . Требуется определить положение точки - вне или внутри треугольника.

Решение.

Подставим координаты точки в формулу (1), используя те же обозначения, что и в задаче 1. Получим три линейных уравнения с двумя неизвестными:

а хи + рху = х -ух,

а уи + РуУ = х-Уу,

аи +р2^ = х -У2 .

Эту переопределенную систему будем решать методом Гаусса с выбором главного элемента по столбцам. Так как треугольник невырожденный, то вектор а имеет хотя бы одну ненулевую компоненту. Поэтому возможен выбор главного элемента в 1-ом столбце и последующее деление на этот элемент. После перестановки уравнений и исключения неизвестного наибольший элемент следует искать во втором столбце в 2-х последних уравнениях. Из выбранного уравнения найдем V и затем подстановкой в 1-ое уравнение вычислим и. Далее нужно выполнить операции сравнения 0 < и < 1, 0 < V < 1, и + V < 1 для определения положения точки. Всего эта процедура включает 31 арифметическую операцию, в том числе 9 операций вычисления коэффициентов, 3 операции выбора главных элементов, 9 операций исключения неизвестных , 4 операции обратного хода, 6 операций сравнения и и V с предельными значениями.

Задача 3. Определение точки пересечения прямой и плоскости треугольника.

Требуется найти точку пересечения прямой и плоскости треугольника и определить положение этой точки относительно треугольника.

Решение.

Пусть прямая задана уравнениями двух пересекающихся плоскостей

а1х + Ь1 у + с12 - р1 = 0,

а2 х + Ь2 у + с2 2 - р2 = 0, а треугольник - параметрической векторной функцией Г (и, V) = аи + Ру + у .

Подставим компоненты векторной функции в уравнения плоскостей и после приведения подобных членов получим систему из двух линейных уравнений с двумя неизвестными и и V:

а11и + а12У = Ь1 а21и + а22у = Ь2.

Если система имеет решение, то можно найти значения параметров и и V и определить положение точки пересечения. При необходимости можно вычислить пространственные координаты точки пересечения по векторной функции треугольника. Решение задачи требует выполнения 67 арифметических операций, из которых 12 затрачиваются на вычисление координат точки пересечения.

Многолетнее применение рассмотренных методов решения задач в прикладном программном обеспечении показало их работоспособность и высокую надежность.

Литература

1. Гилой В. Интерактивная машинная графика. М.: Мир, 1981.

2. Майкл Ласло. Вычислительная геометрия и компьютерная графика на С++. М.: БИНОМ, 1997.

3. Фокс А., Пратт М. Вычислительная геометрия. Применение в проектировании и на производстве. М.: Мир, 1982.

i Надоели баннеры? Вы всегда можете отключить рекламу.