Computer-Graphics Lab 3 Solved

30.00 $

Category:
Click Category Button to View Your Next Assignment | Homework

You'll get a download link with a: zip solution files instantly, after Payment

Securely Powered by: Secure Checkout

Description

Rate this product

1. Write down a Python program to draw a rotating triangle.

  1. Set the window title to your student ID and the window size to (480,480).
  2. Draw a triangle using render() function below (DO NOT modify it!).

def render(T):

glClear(GL_COLOR_BUFFER_BIT)

glLoadIdentity()

# draw cooridnate

glBegin(GL_LINES)

glColor3ub(255, 0, 0)

glVertex2fv(np.array([0.,0.])) glVertex2fv(np.array([1.,0.]))

glColor3ub(0, 255, 0)

glVertex2fv(np.array([0.,0.])) glVertex2fv(np.array([0.,1.]))

glEnd()

# draw triangle

glBegin(GL_TRIANGLES)

glColor3ub(255, 255, 255)

glVertex2fv( (T @ np.array([.0,.5,1.]))[:-1] )

glVertex2fv( (T @ np.array([.0,.0,1.]))[:-1] )

glVertex2fv( (T @ np.array([.5,.0,1.]))[:-1] )

glEnd()

C. Expected result: Uploaded LabAssignment3-1.mp4 i. Do not mind the initial angle of the triangle.

  1. The triangle should be t rad rotated when t seconds have elapsed since the program was executed.
  2. You need to somehow combine a rotation matrix and a translation matrix to produce the expected result.
  3. Files to submit: A Python source file (Name the file whatever you want (in English). Extension should be .py)

2. Write down a Python program to draw a transformed triangle.

  1. Set the window title to your student ID and the window size to (480,480).
  2. Draw a triangle using render() function of prob 1 (DO NOT modify it!).
  3. If you press or repeat a key, the triangle should be transformed as shown in the Table:

    Key

    W E

    S D X

Transformation

Scale by 0.9 times in y direction

Scale by 1.1 times in y direction

Rotate by 10 degrees counterclockwise

Rotate by 10 degrees clockwise

Translate by 0.1 in x direction

Translate by -0.1 in x direction

Reflection across the origin

Reset the triangle with identity matrix

D.

C R 1

Transformations should be accumulated (composed with previous one) unless you press ‘1’.

  1. Be sure: gComposedM = newM @ gComposedM
  2. You’ll need to make ‘gComposedM’ as a global variable.

E. Files to submit: A Python source file (Name the file whatever you want (in English). Extension should be .py)

F. Expected result
When starts W *3 S *3

C *3 R

1

  • LabAssignment3-n0zsam.zip