COMPUTER GRAPHICS I(LECTURE IN ENGLISH)

  1. Course Description
    This course presents fundamental mathematical elements, data structures, and algorithms useful for animating and viewing two dimensional primitives. The course aims to fulfill two objectives. The first objective is to provide students with a sufficient mathematical and algorithmic background to design and implement 2D graphics applications. The second objective is to prepare students with the knowledge required for writing three dimensional graphics applications. The first half of the course deals with scan-conversion algorithms for rasterizing 2D primitives such as lines, circles, ellipses, triangles, and arbitrary polygons. The second half of the course is concerned with the viewing and animation of these 2D primitives. The course covers topics such as interpolation techniques, transformations, culling, clipping, animation techniques, and the 2D viewing pipeline.
  2. Course Objectives
    The objective of this class is to enable the student to map the relation between math and graphics. By the end of the course, the student will have a better understanding of matrix operations and their use in the 2D pipeline. In addition, the student will learn the use of line, circle, ellipse and other shapes’ mathematical equations to rasterize on the screen efficiently. Finally, the student will be able to render meshes in form of triangles and apply colors and textures to the meshes while learning basic culling and clipping techniques for frame rate efficiency.
  3. Teachnig Method
    During class, all electronic devices must be turned OFF. This includes cell and smart phones, game consoles, digital cameras, laptop computers or any other devices. If you absolutely must have a cell phone on for an emergency situation, you must first clear it with me BEFORE class begins. In addition to showing up for class on time, other student responsibilities include proper behavior during class, learning the material, completing assignments correctly, submitting assignments properly and on time, studying for the exams, and participating in class by asking or answering questions during the lectures. All students are required to bring a pencil (or other writing instruments) and papers to class, to take notes, quizzes and perform other tasks. Finally, classrooms are to be kept clean and belongings to be kept in the lockers. No foods in all classrooms, drinks are allowed but must have a cap or lid.
  4. Textbook
  5. Assessment
    Attendance Policy: Students will receive a -2% deduction from their grade per unexcused absence. Note that students who are more than 15 minutes late for a class will be considered absent. Students should notify the instructors in the event of a planned absence. Late Policy: • Assignments are due at the specified time on the specified due date that will be published on the class website when each project is assigned. More precisely, any programming work submitted after the specified time on submission day will be considered late. Late assignments will be penalized 15% for each day (including weekends and holidays) beyond the deadline. • Assignments that are more than 2 days late will be not be accepted. • Submission procedures for programming assignments are detailed below. • Failure to follow any of the procedures and guidelines specified in this document will result in deductions from your assignment grade.
  6. Requiments
    Programming: The prerequisite is CS170. Programming assignments require knowledge C++ and Visual Studio. Math: The prerequisite is MAT140. Knowledge of elementary algebra, geometry, trigonometry, and basic linear algebra (vectors and matrices) is required.
  7. Practical application of the course
  8. Reference