**HP Prime and TI-84+: Rotation and Translation of the 3-D Vector**

Greetings from Monterey, California!

Greetings from Cal State Monterey Bay |

Deep Sea Tank: Monterey Bay Aquarium |

Let P be a three dimensional column vector P = [[
x ],[ y ],[ z ]].

We can move P by a linear transformation by
addition to get a new vector P’:

P’ = P + T where T = [[ t1 ],[ t2 ],[ t3 ]].

We can rotate point P by using one of three
rotation matrices using left-multiplication:

P’ = RP
where R can take the form:

Rotation about the x-axis,

Rx = [[ 1, 0, 0 ],[ 0, cos θ, -sin θ ],[ 0, sin θ,
cos θ ]]

Rotation about the y-axis:

Ry = [[ cos θ, 0, -sin θ ],[ 0, 1, 0 ],[ sin θ, 0,
cos θ ]]

Rotation about the z-axis:

Rz = [[ cos θ, -sin θ, 0 ],[ sin θ, cos θ, 0 ],[
0, 0, 1 ]]

We can take all three rotation matrices into
account to get:

P’ = Rx Ry Rz P

Adding a linear translation and we arrive at:

P’ = Rx Ry Rz P + T

**HP Prime: ROTTRAN3(m,a,b,c,t)**

Input:

m = a 3 x 1 column matrix which represents P

a = rotation angle for the x-axis

b = rotation angle for the y-axis

c = rotation angle for the z-axis

t = a 3 x 1 column matrix for linear
transformation

Output: 3 x
1 column matrix which represents P’

Program:

EXPORT
ROTTRAN3(m,a,b,c,t)

BEGIN

LOCAL
x,y,z,n;

x:=[[1,0,0],[0,COS(a),−SIN(a)],

[0,SIN(a),COS(a)]];

y:=[[COS(b),0,−SIN(b)],[0,1,0],

[SIN(b),0,COS(b)]];

z:=[[COS(c),−SIN(c),0],

[SIN(c),COS(c),0],[0,0,1]];

n:=x*y*z*m+t;

RETURN n;

END;

**TI-84 Plus: ROTTRAN3**

Original Point:
<X, Y, Z>

Angles for Rx (A), Ry (B), and Rz (C)

Translation Point:
<S, T, U>

Program:

: Disp “X,Y,Z:”

: Prompt
X,Y,Z

: Disp “ANGELS
OF X,Y,Z:”

: Prompt
A,B,C

: Disp “LINEAR
SHIFT:”

: Prompt
S,T,U

:
[[1,0,0][0,cos(A),-sin(A)

][0,sin(A),cos(A)]]*[[cos(

B),0,-sin(B)][0,1,0][sin(B

),0,cos(B)]]*[[cos(C),-sin

(C),0][sin(C),cos(C),0][0,

0,1]]*[[X][Y][Z]]->[J]

: [J]+[[S][T][U]]->[J]

: Disp [J]

**Example:**

P = [[1][2][3]]

Rotate angles (radians): x: 0, y: 0.25, z: 0.15

T = [[0][0][1]]

P’ =

[[ -0.073764223786 ]

[ 2.12698028835 ]

[ 4.07741997334 ]]

Source:

Lengyel, Eric.
“Mathematics for 3D Game Programming & Computer Graphics” 2

^{nd}Edition. Charles River Media, Inc. Hingham, MA 2004
This program is property of Edward Shore. 2015.

## No comments:

## Post a Comment