Starting from:

$25

Computer Graphics-Lab Assignment 10 Solved

. Write down a Python program to compare 4 orientation interpolation methods. A. First, implement following functions:

B. exp & log functions

               i.       exp(rv) 

1.     Converts a rotation vector to a rotation matrix

2.     You can use Rodrigues' rotation formula or the method in 10-Animation slides.

3.     Returns a rotation matrix ii. log(R) 

1.             Converts a rotation matrix to a rotation vector

2.             You can use the method in 10-Animation slides.

3.             Returns a rotation vector (the length of the vector is the rotation angle) C. Interpolation functions:

               i.       slerp(R1, R2, t) - slerp

2.R1 & R2: rotation matrices for start & end orientations ii.    interpolateRotVec(rv1, rv2, t) - interpolate each element of two vectors

1. rv1 & rv2: rotation vectors for start & end orientations

iv.         interpolateZYXEulerAngles(euler1, euler2, t) - interpolate each element of two euler angle tuples

1.euler1 & euler2: tuples of ZYX Euler angles for start & end orientations (euler1[0]:

xang, euler1[1]: yang, euler1[2]: zang)

v.          interpolateRotMat(R1, R2, t) - interpolate each element of two matrices

1.R1 & R2: rotation matrices for start & end orientations D. For all interpolation functions:

i.           All interpolation functions return a rotation matrix ii.           The parameter t ranges from 0.0 to 1.0

E.      Start from the uploaded code skeleton (LabAssignment10-1-code-skeleton.py).

F.      You will need to use

i.           The given lerp() for interpolateRotVec(), interpolateZYXEuler(), interpolateRotMat() ii.         The given ZYXEulerToRotMat() for interpolateZYXEuler() iii.      Your exp(), log() implementation for slerp(), interpolateRotVec() G. Program usage (already implemented in the code skeleton):

i.           When the program is run, only slerp() result is visible ii.            A key: Toggle slerp() result iii.  S key: Toggle interpolateRotVec() result iv.           D key: Toggle interpolateZYXEuler() result

v.           F key: Toggle interpolateRotMat() result vi.       Z key: Hide all results vii.    X key: Show all results

H.     Set the window title to your student ID and the window size to (480,480).

More products