А.Г. Лесков, Е.В. Селиверстова
110
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2016. № 6
Затем через
i
p
строится прямая, параллельная вектору направления относи-
тельного движения
v
. Далее среди граней второго объекта отыскиваются полигоны,
одной из вершин которых является
.
j
q
Для каждого из этих полигонов рассчиты-
вается точка пересечения построенной прямой с плоскостью, совпадающей с гра-
нью, и устанавливается принадлежность полученной точки полигону.
Точка пересечения прямой с плоскостью
,
i
p
проходящей через
k
-й полигон
с нормалью
k
n
и вершинами ,
j
q
1
,
j
q
2
,
j
q
находится с помощью соотношения
,
kx ix jx
ky iy
jy
kz iz
jz
i
i
kx x ky y kz z
n p q n p q n p q
p p v
n v n v n v
1
2
1
2
.
j
j
j
j
k
j
j
j
j
q q q q
n
q q q q
Точка
i
p
будет принадлежать полигону
k
, когда площадь треугольника
1 2
j j j
q q q
будет равна площадям треугольников
1
,
i j j
p q q
1 2
i j j
p q q
и
2
:
i j j
p q q
1 2
1
1 2
2
.
j j j
i j j
i j j
i j j
q q q
p q q
p q q
p q q
S
S
S
S
Если вершина
i
p
принадлежит этому полигону, то она является проекцией
точки
i
p
на поверхность полигональной модели второго объекта
B
вдоль векто-
ра направления относительного движения
v
второго тела относительного пер-
вого. Если вектор
i i
p p
сонаправлен с вектором
v
, то вершина
i
p
лежит на гра-
нице области пересечения. Соответствующий точке
i
p
вектор, вдоль которого
отсчитывается глубина проникновения, совпадает по направлению с вектором
'
i i
p p
, а глубина проникновения равна модулю вектора
i i
p p
(рис. 7,
в
).
Проделав эти вычисления для каждой из вершин, расположенной в ОПВ,
определяем точки, лежащие на границе области пересечения, соответствующие
им глубины и нормали проникновения. Результат работы предложенного алго-
ритма для всех звеньев ЗУМ представлен на рис. 8. Справа на рисунке синими и
Рис. 8.
Результат работы предложенного алгоритма