Компьютерное моделирование оптических систем. Часть 1. Линзовые устройства. Практикум в среде MathCad. Смирнов А.П - 36 стр.

UptoLike

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, если
0x
, а в противном случае она равна -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 – вектор нормали в точке вершины