Motorola DSP96002 User Manual page 636

32-bit digital signal processor
Table of Contents

Advertisement

B.1.48 Vector Cross Product
The cross product of two vectors is always perpendicular to both of the vectors making this vector useful
for 3D graphics, shading, and illumination. The three dimensional cross product a X b where a and b are
{1 x 3} vectors can be written as the determinant:
where i, j and k are the unit vectors in the x, y and z directions respectively. Expanding this determinant
yields:
cx = ay bz - az by
cy = az bx - ax bz
cz = ax by - ay bx
where vector c is the cross product of a and b.
Memory Map: X
r0
m0=2
(mod 3) az
r1
move
move
move
move
move
move
move
fmpy.s d6,d7,d3
fmpy.s d6,d7,d2
fmpy
fmpy.s d6,d7,d0
fmpy
fmpy.s d6,d7,d2
MOTOROLA
i
j
k
ax ay az
bx by bz
Y
ax
.
ay
.
.
.
bx
r4
.
by
m0=2
.
bz
(mod 3)
cx
.
cy
.
cz
.
#aaddr,r0
#2,m0
#baddr,r4
#2,m4
#caddr,r1
d6,d7,d1 fsub.s d2,d3 x:(r0)+,d6.s y:(r4)-,d7.s ;ax bz
d6,d7,d3 fsub.s d0,d1 x:(r0)+,d6.s y:(r4)-,d7.s ;ay bx
DSP96002 USER'S MANUAL
; set up pointers
x:(r0)+,d6.s y:(r4)-,d7.s ;ax bx
x:(r0)+,d6.s y:(r4)-,d7.s ;ay bz
x:(r0)+,d6.s y:(r4)-,d7.s ;az by
y:(r4)-,d7.s ;
d3.s,x:(r1)+ y:(r4)-,d7.s ;cx by
d1.s,x:(r1)+
Program ICycles
Words
1
1
1
1
1
1
bx
1
1
1
1
1
1
1
1
;cy
1
1
B-117

Advertisement

Table of Contents
loading

Table of Contents