Description
1. Write down a Python program to draw a rotating triangle. A. Set the window title to your student ID and the window size to (480,480). B. Draw a triangle using render() function below (DO NOT modify it!). + 2021_ITE0000_2019000001 + LabAssignment3/ + 1/ – 1.py + 2/ – 2.py + 3/ – 3.py C. Expected result: Uploaded LabAssignment3-1.mp4 i. Do not mind the initial angle of the triangle. D. The triangle should be t rad rotated when t seconds have elapsed since the program was executed. E. You need to somehow combine a rotation matrix and a translation matrix to produce the expected result. F. 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. A. Set the window title to your student ID and the window size to (480,480). B. Draw a triangle using render() function of prob 1 (DO NOT modify it!). C. If you press or repeat a key, the triangle should be transformed as shown in the Table: Key Transformation W Scale by 0.9 times in y direction E Scale by 1.1 times in y direction S Rotate by 10 degrees counterclockwise D Rotate by 10 degrees clockwise X Translate by 0.1 in x direction 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 Translate by -0.1 in x direction R Reflection across the origin 1 Reset the triangle with identity matrix D. 7UDQVIRUPDWLRQVVKRXOGEHDFFXPXODWHGFRPSRVHGZLWKSUHYLRXVRQHXQOHVV\RXSUHVVěĜ i. Be sure: gComposedM = newM @ gComposedM ii. <RXĜOOQHHGWRPDNHěJ&RPSRVHG0ĜDVDJOREDOYDULDEOH. 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

