Параметрические изображения объектов проектирования на основе использования языка АВТОЛИСП в среде АВТОКАД. Притыкин Ф.Н. - 85 стр.

UptoLike

Составители: 

85
(if (= kodi$ 1)(setq mat (mvx ui$ li$ smi$)))
(if (= kodi$ 2)(setq mat (mvy ui$ li$ smi$)))
(if (= kodi$ 3)(setq mat (mvz ui$ li$ smi$)))
(if (= kodi$ 4)(setq mat (mpxyz ui$ li$ smi$)))
(if (= kodi$ 5)(setq mat (mpxyz 0 ui$ 0) ))
(if (= kodi$ 6)(setq mat (mpxyz 0 0 ui$) ))
(setq mkn (subs mkn (+ n 2) nmat mat) n (+ n 1) ) );while
);================= конец - calc_mkn ======================
В результате перемножения матриц M
k-1,k
в выражении (6.2) получаем
компоненты матрицы произведения:
m
0,n
11
m
0,n
12
m
0,n
13
m
0,n
14
M
0,k
= m
0,n
21
m
0,n
22
m
0,n
23
m
0,n
24
, (6.6)
m
0,n
31
m
0,n
32
m
0,n
33
m
0,n
34
0 0 0 1
где m
0,n
14
, m
0,n
24
, m
0,n
34
определяют координаты x
n
, y
n
, z
n
, являющиеся
компонентами вектора X
n
. Остальные три компонента данного вектора
(углы Эйлера) определяем, используя выражения:
θ
n
= arccos m
0,n
33
;
ψ
n
= arcsin (m
0,n
13
/ sin
θ
n
) ; (6.7)
ϕ
n
= arcsin (m
0,n
31
/ sin
θ
n
) .
Таким образом, используя компоненты матрицы (6.6) и данные урав-
нения, однозначно находим функции (6.2, 6.7), определяющие положение
системы O
n
или положение выходного звена по вектору
L
n
. Аналогичным
образом для определения положения k-го звена или значений вектораX
k
       (if (= kodi$ 1)(setq mat (mvx ui$ li$ smi$)))
       (if (= kodi$ 2)(setq mat (mvy ui$ li$ smi$)))
       (if (= kodi$ 3)(setq mat (mvz ui$ li$ smi$)))
       (if (= kodi$ 4)(setq mat (mpxyz ui$ li$ smi$)))
       (if (= kodi$ 5)(setq mat (mpxyz 0 ui$ 0) ))
       (if (= kodi$ 6)(setq mat (mpxyz 0 0 ui$) ))
       (setq mkn (subs mkn (+ n 2) nmat mat) n (+ n 1) )       );while
);================= конец - calc_mkn ======================


    В результате перемножения матриц Mk-1,k в выражении (6.2) получаем
компоненты матрицы произведения:


                 m0,n11   m0,n12 m0,n13        m0,n14
      M0,k =     m0,n21   m0,n22    m0,n23 m0,n24       ,                (6.6)
                 m0,n31   m0,n32 m0,n33        m0,n34
                   0        0         0          1


где m0,n14 , m0,n24 , m0,n34 – определяют координаты xn , yn , zn , являющиеся
компонентами вектора Xn . Остальные три компонента данного вектора
(углы Эйлера) определяем, используя выражения:


                  θn = arccos m0,n33 ;
                  ψn = arcsin (m0,n13 / sin θn) ;                     (6.7)

                  ϕn = arcsin (m0,n31 / sin θn) .

    Таким образом, используя компоненты матрицы (6.6) и данные урав-
нения, однозначно находим функции (6.2, 6.7), определяющие положение
системы On или положение выходного звена по вектору⎯Ln . Аналогичным
образом для определения положения k-го звена или значений вектора⎯Xk



                                          85