Составители:
36
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
=
⎟
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎜
⎝
⎛
=
mqp
jjj
iii
kkk
jjj
iii
M
zyx
zyx
zyx
zyx
zyx
(32)
Вторая строка формируется проекциями локального орта j на
координатные оси внешней системы координат. В силу выбора положения
локальной оси ординат имеем равенство: j
x
=0. Из подобия отмеченных
заливкой треугольников на рис.19 следует, что
.0,0,1
,0,,
)sgn(
,
)sgn(
2222
====
≠
+
⋅−
=
+
⋅
=
qmjj
qm
mq
qq
j
mq
qm
j
zy
zy
(33)
В (33) функция sgn(x)=1, если
0≥x
, а в противном случае она равна -1.
Использование встроенной в Маткад знаковой функции sing(x) невозможно в
силу её определения, согласно которому sign(0)=0.
Когда определено положение двух ортов, то положение третьего орта
следует из условия векторного произведения:
yyz
zzy
zyx
zy
jpjpi
jpjpi
jqjmi
mqp
jj
zyx
kji
⋅−=⋅−+=
⋅=⋅−−=
⋅−⋅=
→
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
=×=
))((
))((0
. (34)
Из (32)-(34) следует выражение для матрицы перехода (поворота) от
внешней системы координат к локальной системе:
.1,
001
010
100
,0,,0
)sgn()sgn(
2222
2222
22
=
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
−
=≠
⎟
⎟
⎟
⎟
⎟
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎝
⎛
+
−
+
+
⋅−
+
⋅−
+
= pMmq
mqp
mq
q
mq
m
mq
mpq
mq
qpq
mq
M
(35)
Блок-схема программы перехода представлена на рис.21. Входными
параметрами служат: Х – преобразуемый вектор, который может быть
свободным (вектор нормали) или связанным (координаты поверхности или
точки на луче); Free – логическая переменная, равная 1, если преобразуемый
вектор свободный, а иначе 0; V – координаты вершины поверхности во
внешней системе координат, N – вектор нормали в точке вершины
Страницы
- « первая
- ‹ предыдущая
- …
- 34
- 35
- 36
- 37
- 38
- …
- следующая ›
- последняя »