Logitech Magellan/SPACE MOUSE Classic Programmer's Manual page 20

Logicad3d
Table of Contents

Advertisement

This yields a new 3x3 matrix whose elements
are calculated using the following set of nine
equations:
R*
= (R
)(R*
n 11
11
n-1 11
(R
)(R*
13
n-1 31
R*
= (R
)(R*
n 12
11
n-1 12
(R
)(R*
13
n-1 32
R*
= (R
)(R*
n 13
11
n-1 13
(R
)(R*
13
n-1 33
R*
= (R
)(R*
n 21
21
n-1 11
(R
)(R*
23
n-1 31
R*
= (R
)(R*
n 22
21
n-1 12
(R
)(R*
23
n-1 32
R*
= (R
)(R*
n 23
21
n-1 13
(R
)(R*
23
n-1 33
R*
= (R
)(R*
n 31
31
n-1,11
(R
)(R*
33
n-1 31
R*
= (R
)(R*
n 32
31
n-1 12
(R
)(R*
33
n-1 32
R*
= (R
)(R*
n 33
31
n-1 13
(R
)(R*
33
n-1 33
The new rotation matrix R*
successively-executed rotations up to the
current step, step n .
Using the new equations for the accumulated
translation and rotation, a single formula can
be written that transforms the original points
of the cube into their new positions.
n
å
P
= [R*
](P
) +
new
n
old
i
=
Shown explicitly, this formula consists of the
following three equations:
P
= (R*
)(P
) + (R*
new X
11
old X
(R*
)(P
) +
13
old Z
P
= (R*
)(P
) + (R*
new Y
21
old X
(R*
)(P
) +
23
old Z
P
= (R*
)(P
) + (R*
new Z
31
old X
(R*
)(P
) +
33
old Z
n
n
å
å
X
Note that
,
i
=
=
i
1
i
1
simply the sums of all the translation
commands up to the current step n , and R*
the total rotation matrix generated by
multiplying all previous rotation matrices.
For example, suppose the Magellan/SPACE
MOUSE has now sent the following second set
of values to the computer:
) + (R
)(R*
) +
12
n-1 21
)
) + (R
)(R*
) +
12
n-1 22
)
) + (R
)(R*
) +
12
n-1 23
)
) + (R
)(R*
) +
22
n-1 21
)
) + (R
)(R*
) +
22
n-1 22
)
) + (R
)(R*
) +
22
n-1 23
)
) + (R
)(R*
) +
32
n-1 21
)
) + (R
)(R*
) +
32
n-1 22
)
) + (R
)(R*
) +
32
n-1 23
)
describes all
n
T
XYZ
i
1
)(P
) +
12
old Y
n
å
X
i
=
i
1
)(P
) +
22
old Y
n
å
Y
i
i
=
1
)(P
) +
32
old Y
n
å
Z
i
=
i
1
n
å
Y
Z
and
are
i
i
=
i
1
n
X = 1.5
A = 0
Summing the translational motion gives the
following values:
n
å
X
= 2.0
i
=
i
1
The rotation matrix for the current step, R
found from the new values for A, B and C.
é
. 0
980
ê
. 0
199
R
=
ê
n
ê
0
0 .
ë
This matrix is multiplied by the combined
rotation matrix for all previous steps, R*
(which corresponds to the values calculated for
matrix R*
in the previous step of the cube
n
example). This yields the new total rotation
matrix R*
:
n
é
. 0
980
ê
. 0
R*
=
ê
n
ê
0
0 .
ë
The new coordinates of the cube's corners are
now calculated using this total rotation matrix,
the summed translational motions and the
ORIGINAL coordinates (NOT the coordinates
calculated in the previous step). As an example
the calculations for P
P
= (0.980)(1) + (0.190)(1) +
1 new_X
(0.059)(1) + 2.0
P
= (-0.199)(1) + (0.936)(1) +
1 new_Y
(0.290)(1) + 0
P
= (0.0)(1) + (-0.296)(1) +
1 new_Z
(0.955)(1) – 4.0
After these two steps, the corners of the cube
are located at the following coordinates:
P
(3.229, 1.027, -3.340)
1 new
P
(1.268, 1.425, -3.340)
2 new
P
(0.889, -0.448, -2.749)
3 new
P
(2.849, -0.845, -2.749)
4 new
P
(3.111, 0.448, -5.251)
5 new
P
(1.151, 0.845, -5.251)
6 new
P
(0.771, -1.027, -4.660)
7 new
P
(2.732, -1.425, -4.660)
8 new
If the Magellan/SPACE MOUSE continues to
send values, these computational steps must
is
be repeated recursively.
20
Y = 0
Z = 0
B = 0
C = 0
n
n
å
å
Y
= 0.0
i
=
=
i
1
i
. 0
199
0
0 .
ù
ú
. 0
980
0
0 .
ú
ú
0
0 .
1
0 .
û
. 0
190
. 0
059
199
. 0
936
. 0
290
. 0
296
. 0
955
are shown below.
1
Z
= -4.0
i
1
, is
n
n-1
ù
ú
ú
ú
û
= 3.229
= 1.027
= -3.340

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Magellan/space mouse plusMagellan/space mouse plus xt

Table of Contents