[Solved] Computer Graphics – Alternative Assignment to Final Exam

30 $

File Name: Computer_Graphics_–_Alternative_Assignment_to_Final_Exam.zip
File Size: 546.36 KB

SKU: [Solved] Computer Graphics – Alternative Assignment to Final Exam Category: Tag:

Or Upload Your Assignment Here:


  1. (100 pts) Write a Python program that satisfies the following requirements. Draw an object with

PyOpenGL.

  1. (85 pts) Evaluation criteria 1 – Requirements: [Each item is evaluated as satisfied, partially satisfied, or unsatisfied]
  2. (15 pts) Draw 3 or more 3D objects.
    1. Draw any shape of objects as you want.
    2. Each object should be a 3D polygon mesh. It can be drawn using a vertex array

or glVertex3f(). Do not use 2D plannar meshes.

  1. You can reuse your class assignment 2 (obj viewer) code if you want to use obj files for this requirement. In this case, an obj file path should be specified by a relative path and the obj files should be included in the submission zip file. Do not use drag and drop to open obj files. They must be automatically loaded when

the program starts.

  1. (15 pts) One of the objects should be “main object”. The user should be able to transform the main object using the mouse or keyboard.
    1. Specifically, the user should be able to use all of the following transformation on

the main object: translate, rotate, shear, scale, and reflect the main object.

  1. All these transformations should be performed w.r.t the local frame of the main

object.

  1. (15 pts) The rest of the objects should be automatically moved in response to the movement of the main object or other objects around it.
  2. Examples: Following the main object, pushed away from the main object to keep

a certain distance from it, “bounced” when “colliding” with the main object, and

so on.

  1. Each object must move separately. Do not move them identically so that they

overlap each other.

  1. (15 pts) Use perspective projection. The camera should be able to be switched between two modes:
    1. First-person view: Attach the camera to the main object just like FPS games. The camera should be translated & rotated along with the main object. (You don’t neeed to draw a weapon!)
    2. Quarter view: The main object is always the target of the camera. The camera

never rotate, meaning that it always do “panning” when the main object moves.

  1. (15 pts) Use OpenGL lighting / shading.
    1. Use different material colors for each object.
    2. Use 2 or more light sources. Among them, at least one light should be animated.
    3. You can use either flat shading or smooth shading for each object.
    4. If you use obj files, you can just use the normal vector data in the obj files for

shading.

  1. Extra credit
    1. (5 pts) Use an animating hierarchical model composed of multiple meshes as an

object, for all objects.

  1. (5 pts) Use curves to express the movement of at least one object.
  2. (15 pts) Evaluation criteria 2 – Completeness – Overall evaluation of the degree of

completeness and difficulty of the program [Evaluated as excellent, moderate, or insufficient]

  1. Report
    1. You can use either English or Korean for the report.
    2. Since the program and code will be checked based on the report, you will get 0 pts if

you do not submit the report.

  1. For the same reason, the requirement items that are implemented in the code but not

listed in the report will be evaluated as “unsatisfied”.

  1. Make sure to make a report using the report form (CG-FinalAssignment-

ReportForm.docx) that is uploaded together with this assignment file.. E. What should be included:

  1. Introduction to the program, a brief description of how to run it, and how to use

it.

  1. Description of the implementation of each requirement
    1. How you implemented that requirement.
    2. How TA can verify that the requirement has been implemented, by performing a

program’s specific feature.

  1. Submission: A zip file of the following files. Submit the zip file within the submission deadline through the “Final Assignment” on the Blackboard Lecture Home..
    1. A Python source file named py
      1. If the program consists of several Python source files, the name of the file to be

executed must be main.py..

  1. A report file (docx)
  2. Obj files (if used in your program). . Remember that obj file paths MUST be specified by a relative path, to be opened in the TA’s computer. Be sure to unzip the submission zip file to another directory and run the program before submitting it to see the program works. If the obj file fails to load, the assignment will be scored as 0 pts because the

program’s functionality cannot be verified at all.

  1. The name of the zip file should be studentID-name.zip
  1. Runtime Environment
    1. Your program should be able to run on systems only with Python 3.7 or later, NumPy,

PyOpenGL, glfw. Do not use any other additional python modules.

  1. Only glfw is allowed for event processing and window & OpenGL context management. Do not use glut functions for this purpose.
  2. If your program does not meet this requirement, it will not run on TA’s computer so

you will not get any score for this assignment

  1. If a run-time error occurs and interferes with the function check of the program, 0 points are given for the requirement that cannot be checked.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[Solved] Computer Graphics – Alternative Assignment to Final Exam
30 $