Browse Course Material

Course info, instructors.

  • Prof. Wojciech Matusik
  • Prof. Frédo Durand

Departments

  • Electrical Engineering and Computer Science

As Taught In

  • Algorithms and Data Structures
  • Graphics and Visualization
  • Programming Languages

Learning Resource Types

Computer graphics, course description.

Two reflective balls with reflection and shadows presented in a box of pink and purple walls with light source on top.

You are leaving MIT OpenCourseWare

3000+ Courses from California Community Colleges

computer graphics homework

3000+ Online Courses from California Community Colleges (Fall 2024)

Class Central experiments with cataloging online courses from California Community Colleges, offering diverse, affordable, and credit-worthy learning opportunities.

Massive List of MOOC-based Microcredentials

  • 7 Best Genetics Courses for 2024
  • [2024] 1200+ Free Computer Science Courses from World’s Top Universities
  • Learn Something New: 100 Most Popular Courses For October
  • 12 Best Microsoft Excel Courses for Beginners for 2024

600 Free Google Certifications

Most common

  • project management

Popular subjects

Communication Skills

Digital Marketing

Popular courses

Gender and Sexuality: Applications in Society

Introductory Human Physiology

Bacterial Genomes II: Accessing and Analysing Microbial Genome Data Using Artemis

Organize and share your learning with Class Central Lists.

View our Lists Showcase

Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Computer Graphics

University of California, San Diego via edX Help

Today, computer graphics is a central part of our lives, in movies, games, computer-aided design, virtual simulators, visualization and even imaging products and cameras. This course teaches the basics of computer graphics that apply to all of these domains.

Students will learn to create computer-generated images of 3D scenes, including flybys of objects, make a real-time scene viewer, and create very realistic images with raytracing. We will start with a simple example of viewing a teapot from anywhere in space, understanding the basic mathematics of virtual camera placement. Next, you will learn how to use real-time graphics programming languages like OpenGL and GLSL to create your own scene viewer, enabling you to fly around and manipulate 3D scenes. Finally, we will teach you to create highly realistic images with reflections and shadows using raytracing.CSE167x teaches the foundations of computer graphics.

This course runs for 6 weeks and consists of four segments. Each segment includes an individual programming assignment:

  • Overview and Basic Math (Homework 0: 10% of grade)
  • Transformations (Homework 1: 20% of grade)
  • OpenGL and Lighting (Homework 2: 35% of grade)
  • Raytracing (Homework 3: 35% of grade)

This term, students who earn a total score of 50% or greater will have passed the course and may obtain a certificate from UC San DiegoX.

What is the format of the class?

The class will consist of lecture videos, brief exercises, and homework assignments. Each of the four segments of the course will have 2-3 lectures. Each lecture includes 3-5 lecture videos, which last between 10 and 20 minutes. There will be a brief exercise after each lecture video to help you test your understanding of the material.

Your score will be determined entirely by programming assignments for which you will receive immediate autograder feedback. You may submit your assignment to the autograder multiple times; only your last submission will count.

Programming projects are to be implemented individually without copying code from other students, largely identical online resources, or previous instances of the class. However, short of posting or sharing actual explicit code, you are encouraged to collaborate and discuss problems in the discussion forums.

Will the text of the lectures be available?

Yes. All of our lectures will have transcripts synced to the videos.

Do I need to watch the lectures live?

No. You can watch the lectures at your leisure. You can "work ahead" if you want to move faster than the due dates. Conversely, you can progress at a slower pace. Please note that certificates will only be awarded to students who obtain the requisite score by turning in assignments by the established deadlines.

How much does it cost to take the course?

Nothing: the course is free. If you expect to be doing a lot of graphics programming in the future, we would recommend the OpenGL and GLSL programming guides, but it is by no means required to purchase them. There are many free online resources for these topics, and we will be posting links to them.

What computer system do I need for the course?

The course material involves C++/OpenGL/GLSL programming that is portable. We provide skeleton code for all major platforms (Windows, Mac OS, Linux). This is a modern course involving programmable shaders, but any machine built in the last few years should be adequate. We provide many compilation hints and tips, and Homework 0 is to ensure you can compile and work with the autograder. You do need some kind of C++ development environment; we provide several resources to get you started for Homework 0. In the highly unlikely event you cannot get your machine to work, you will hopefully have adequate time to find another system.

Will I learn Maya/DirectX/3D Studio Max etc.?

This is a course on the foundations of computer graphics and covers concepts, not the intricacies of a particular software package. That said, you will be able to write complex interactive and offline 3D graphics programs at the end of the course in C++, OpenGL and GLSL.

Can I contact the Instructor or Teaching Assistants?

Yes, but not directly. The discussion forums are the appropriate venue for questions about the course. The instructors will monitor the discussion forums and try to respond to the most important questions; in many cases response from other students and peers will be adequate and faster.

I have a disability (visual/hearing etc.) Can I take the course?

In most cases, yes. We provide transcripts for all lectures. Many leading computer graphics researchers have had visual impairments like color-blindness. However, this being a computer graphics course that relies on visual image comparisons, we probably cannot provide adequate support for those who are legally blind.

I have a busy schedule this fall. Can I still take the course?

The course does require about 12 hours per week of work, and the assignments (where you are given two weeks) require the time. Certificates of achievement require a passing score. Of course, you are welcome to just go through the lectures or attempt some of the assignments if you are not interested in a certificate; we hope to provide something for everyone.

Ravi Ramamoorthi

  • united states

Related Courses

Practical opengl and glsl shaders fundamentals with c++, computer graphics with modern opengl and c++, the complete modern opengl and glsl shaders course for 2021, opengl course - create 3d and 2d graphics with c++, related articles, 10 best c++ courses for 2024: a lang for the modern age, 100 top free edx courses of all time.

3.8 rating, based on 6 Class Central reviews

Select rating

Start your review of Computer Graphics

  • AA Anonymous 5 years ago Professor leaves out many essential elements from his lectures (example, points and vectors are not labelled properly on the slides). Further, he does not begin by introducing what it is he is talking about (for example, he launches into a derivation for the gluLookat formula without actually explaining what it is and why we need it). This causes students to struggle with the material. Missed opportunity as this could have been a great course. Helpful
  • RB Ricardo Buitrago 9 years ago Helpful
  • MA Mohamed Waheed Atef 9 years ago Helpful
  • VB Vishakh Bhatt 9 years ago Helpful
  • TN Tim Newman 9 years ago Helpful
  • SI Stefan Todorov Ivanov 8 years ago Helpful

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

CMSC 23700 Introduction to Computer Graphics Fall 2015

General information.

Course: CMSC 23700 Introduction to Computer Graphics Instructor: John Reppy Ryerson 256 TAs: Lamont Samuels   Tri Huynh   Lecture: TR 1:30-2:50 Ry 251 Labs: W 2:30-3:50    Lab 1 (CSIL 1) W 4:00-5:20 Lab 2 (CSIL 1) Office hours:   M 2:00-3:00 Reppy (Ryerson 256)   W 11:00-1:00 Huynh (Ryerson 255)   F 1:00-2:00 Reppy (Ryerson 256)

This course aims to provide an introduction to the basic concepts and techniques used in 3D computer graphics. The focus is on real-time rendering techniques, such as those found in computer games. These include: coordinate systems and transformations; geometric modeling; the programmable graphics pipeline; level-of detail optimizations; and rendering techniques.

The course covers both the theory and practice of computer graphics. The lectures, homework assignments and exams focus on algorithms, data structures, and the mathematical foundations of computer graphics, while while the lab sessions and programming projects deal with translating theory into practice.

There are two required texts:

Title: Mathematics for 3D Game Programming and Computer Graphics (3rd Edition) Author: Eric Lengyel Publisher: Cengage Learning PTR, 2011 Book web site:  http://www.mathfor3dgameprogramming.com   Title: OpenGL SuperBible: Comprehensive Tutorial and Reference (7th Edition) Authorw: Graham Sellers, Richard Wright, and Nicholas Haemel Publisher: Addison Wesley, 2015 Book web site:  http://www.openglsuperbible.com

Note that the 6th Edition of the OpenGL SuperBible is also sufficient for the course, but if you are going to buy a new copy, you should get the 7th Edition.

The programming assignments will be written using the C++ programming language. If you are not familier with the language, you may want to pick up a copy of one of the following books:

Title: A Tour of C++ Authors: Stroustrup Publisher: Addison Wesley   Title: C++ Primer (Fifth Edition) Authors: Lippman, Lajoie, and Moo Publisher: Addison Wesley

The Stroustrup text is a relatively short overview of the main features of C++, whereas the Lippman book is a detailed, and long (938 pages) description of the full language. Both books describe the latest version of C++ (the C++11 standard).

We have also requested that a copy of the main text book be placed on reserve in ??? Library. In addition, the following books will also be on reserve:

Title: Real-time Rendering (3rd Edition) Authors: Tomas Akenine-Möller, Eric Haines, and Naty Hoffman Publisher: A.K. Peters Ltd., 2008   Title: Geometric tools for computer graphics Author: Philip J. Schneider, David H. Eberly Publisher: Charles River Media, 2004

Grading for the course will be based on:

Percentage Component 20% Homework assignments (5) 30% Exams (2) 50% Projects (6)

The assignments will be posted on the class website. Homework assignments should be handed in at the beginning of class the day they are due. Programming projects will be automatically collected from your course phoenixforge repository.

In general, late homework and programming assignments will not be accepted, but each student may have one 24-hour extension on one assignment or individual project. You must request the extension before the assignment is due. There are no extensions on group projects.

Project grades will consist of a correctness portion (worth 70%) and a style portion (worth 30%). Your code must compile. Failure to compile will result in a 0 for the correctness portion of the grade.

Since late assignments are not accepted, the only way that you can get partial credit for a project that you fail to turn in on time is by committing your code to svn early and often . Be sure, however, to make sure that your code compiles (use comments or #ifdef to ellide broken code), since failure to compile results in a zero on the correctness portion of the grade.

The following is a tentative plan for what topics will be covered and when. Readings are denoted as "M3D" for Mathematics for 3D Game Programming and Computer Graphics and "SB" for the OpenGL SuperBible ; page ranges are denoted in brackets.

Week Activity Topics Readings
1 Evolution of graphics hardware; the graphics pipeline; programmable shaders M3D:Ch1; SB:Ch1&3
Lab. 1 Introduction to OpenGL SB:Ch2
Lect. 2 Linear algebra crash course: vectors and matrices M3D:Ch2&3
2 More linear algebra; transforms; homogeneous coordinates; quaternions M3D:Ch3&4; SB:Ch4
Lab. 2 Shader Programs & 3D Transformations; GLFW Key & Mouse Events SB:Ch6
Lect. 4 Geometry; parameterized vs. implicit representations; intersection testing. MD3:Ch5.1-2,Ch6.1-2
3 Projections: perspective vs. orthographic; view frustum MD3:Ch5.3-5; SB:Ch4
Lab. 3 Texturing objects; per-pixel lighting computations SB:Ch5[137-176]
Lect. 6 Basic illumination, lighting, and shading M3D:Ch7.1-4,7.6-7; SB:Ch13
4 Advanced shading: texture maps, normal maps, and procedural texturing M3D:Ch7.5,7.8; SB:Ch5[152-199]
Lab. 4 Shadows M3D:Ch10; SB:Ch13[599-605]
Lect. 8 Offscreen rendering; framebuffers & depthbuffers SB:Ch9[390-412]
5 More shadows; blending SB:Ch9[382-390]
Lab. 5 Open Lab
Lect. 10 Deferred rendering; the G buffer SB:Ch9[390-397],Ch13[613-624]
6 Accelerating rendering ‐ bounding volumes and view-frustum culling M3D:Ch12
Lab. 6 Deferred rendering & Culling
Lect. 12 Accelerating rendering ‐ spatial data structures; collision detection M3D:Ch8
7 Meshes; LOD; imposters M3D:Ch9.4-6
Lab. 7 Open Lab
Lect. 14 Parametric surfaces; tessellation shading M3D:Ch11; SB:Ch8[305-333]
8 Terrain rendering
Lab. 8 Terrain rendering
Lect. 16 Animation ‐ interpolation of key frames
9 Animation ‐ physics-based animation MD3:Ch15.2
No lab; Thanksgiving
10 GPGPU
Lab. 9 Open Lab

Note that not all topics that we cover in class are covered by the texts.

Homework assignments

There will be five written homework assignments over the course of the term. Assignments will typically be posted here on Wednesdays and be due at the beginning of class on Thursday the following week. Late homework will not be accepted for credit.

Date Assignment Due date October 1, 2015 Homework 1 [Updated 2015-10-05] October 8 (at the beginning of class) October 14, 2015 Homework 2 October 22 (at the beginning of class) October 29, 2015 Homework 3 November 10 (at the beginning of class) November 12, 2015 Homework 4 November 19 (at the beginning of class) November 24, 2015 Homework 5 December 3 (due during special office hours)

The course will require six programming projects. The projects will be coded in a subset of C++ using the OpenGL 4.1 core profile and the GLFW library (version 3.0.4). This platform is supported by the CSIL Macs, which are running Mac OS X 10.10 (Yosemite).

We believe that programming style is important, thus 30% of your project grade will be based on style and documentation of your code (the other 70% will be based on correctness). It is also important that your code compile successfully. Code that does not compile will not be graded on correctness; i.e. it will get a zero on the correctness part of the grade.

Project's 4 and 5 together constitute the final project. For students enrolled in CMSC23700, you will be free to work in pairs; students in CMSC33700 will do individual projects. Project 5 will be due at 12 noon on Tuesday, December 8. Furtheremore, there will be final project demos from 1:30-3pm on Tuesday (location TBA).

Date Project Due date October 2, 2015 Project 1: Basic OpenGL Rendering [Updated 2015-10-05] October 12, 2015 (10pm) October 12, 2015 Project 2: Shading and Lighting October 19, 2015 (10pm) October 20, 2015 Project 3: Advanced Lighting Techniques [Description updated 2015-10-22] November 2, 2015 (10pm) November 4, 2015 Project 4: Deferred Rendering November 16, 2015 (10pm) November 15, 2015 Project 5: Terrain Rendering (part 1) November 24, 2015 (10pm) November 21, 2015 Project 6: Terrain Rendering (part 2) December 8, 2015 (12 noon)

We will use phoenixforge to manage project code and submissions. Your class repository is accessible at

where CNETID is your personal CNet ID ( i.e. , you uchicago.edu email address). You can also login to phoenixforge.cs.uchicago.edu using your CNet ID and password.

Here you will find class information and supplemental reading for topics not covered by the texts. As necessary, we will post revisions here.

Date Document September 29 Course information November 12 Notes on polygon meshes

Lab materials

September 30 Lab 1: OpenGL Basics October 7 Lab 2: Shader Programs & 3D Transformations; GLFW Key & Mouse Events October 14 Lab 3: Texturing Objects & Per-Pixel Lighting Computations October 21 Lab 4: Shadow Mapping November 6 Lab 6: Deferred Rendering

Papers and notes

The following is a list of supplemental documents for topics not covered by the texts. As necessary, we will post revisions here.

Date Document October 29 Compositing Digital Images by Thomas Porter and Tom Duff

Sample code

Other sources of information, academic honesty.

The University of Chicago is a scholarly academic community. You need to both understand and internalize the ethics of our community. A good place to start is with the Cadet's Honor Code of the US Military Academy: "A Cadet will not lie, cheat, or steal, or tolerate those who do." It is important to understand that the notion of property that matters most to academics is ideas, and that to pass someone else's ideas off as your own is to lie, cheat, and steal.

The University has a formal policy on Academic Honesty , which is somewhat more verbose than West Point's. Even so, you should read and understand it.

We believe that student interactions are an important and useful means to mastery of the material. We recommend that you discuss the material in this class with other students, and that includes the homework assignments. So what is the boundary between acceptable collaboration and academic misconduct? First, while it is acceptable to discuss homework, it is not acceptable to turn in someone else's work as your own. When the time comes to write down your answer, you should write it down yourself from your own memory. Moreover, you should cite any material discussions, or written sources, e.g.,

Note: I discussed this exercise with Jane Smith.

The University's policy, for its relative length, says less than it should regarding the culpability of those who know of misconduct by others, but do not report it. An all too common case has been where one student has decided to "help" another student by giving them a copy of their assignment, only to have that other student copy it and turn it in. In such cases, we view both students as culpable and pursue disciplinary sanctions against both.

For the student collaborations, it can be a slippery slope that leads from sanctioned collaboration to outright misconduct. But for all the slipperyness, there is a clear line: present only your ideas as yours and attribute all others.

If you have any questions about what is or is not proper academic conduct, please ask your instructors.

Last revised: November 17, 2015

COS 426: Computer Graphics

  • Description

Computer graphics lies at the intersection of computer science, geometry, physics, and art. This course provides an introduction to the field, with an emphasis on practical methods and applications in image processing, modeling, rendering, and computer animation. The goal of this course is to equip students with the tools and techniques they need to build projects with significant graphical components; this includes applications for realizing artistic visions (art and architecture), user interaction (UI/UX development), entertainment products (video games, CGI, animations, and augmented reality), visualizations and academic research (physics, biology, chemistry, engineering, and other disciplines), etc.

Topics include: color theory, sampling, image processing, image compositing, mesh representations, mesh processing, parametric curves and surfaces, implicit surfaces, subdivision surfaces, geometric data structures, geometric transformations, ray casting, lighting and reflectance, global illumination, rasterization, scan conversion, particle systems, animation, computer games, fabrication, etc.

  • Prerequisites

The course is appropriate for students who have taken COS 217 and COS 226, or have equivalent programming maturity. JavaScript will be the main programming language; however no prior knowledge of the language is required for students who wish to enroll in this course.

  • Lectures and Precepts

Lectures are held on Tuesdays and Thursdays from 3:00 – 4:20 PM in Friend 101.

Precept is held on Thursday from 7:30 – 8:20 PM and Friday from 10:00 – 10:50 AM and 11:00 – 11:50 AM. Students are encouraged to attend their own precept, but may attend another precept during the week in case of a one-time conflict. Precept attendance is highly encouraged.

Please note: Precepts will not be held during the week of Thanksgiving. However, the regular Friday precepts will be held on December 9.

  • Required Reading

Computer Graphics with OpenGL

There is one required textbook for this course:

Computer Graphics with OpenGL , 4th Ed., Hearn, Baker, and Carithers. Prentice Hall, 2010. ISBN: 978-0136053583.

In the past, most students have found it is possible to pass the course without opening the textbook once, as almost all graded material is provided through lecture and precepts. Nevertheless, this textbook will prove useful for especially eager and motivated students who wish to pursue further studies in computer graphics. In addition to covering graphics concepts that could not be squeezed into this course, the textbook contains C++ and OpenGL implementations that will be of use to graphics practitioners.

Staff contact information is listed below, but students seeking help should keep in mind that it is almost always more appropriate to post their question to Ed rather than emailing an individual member of the course staff.

Szymon Rusinkiewicz

Szymon Rusinkiewicz

  • Office Hours

TTh after class, or calendly.com/smr-princeton

Guðni Gunnarsson

Graduate TA

Guðni Gunnarsson

Fri 1:30 pm - 3:30 pm at CS 003

Yuanqiao Lin

Yuanqiao Lin

Fri 3:30 pm - 5:30 pm at CS 003

Yuting Yang

Yuting Yang

Wed 4pm - 6pm at CS 003

The precepts for this class are geared towards assisting students with their assignments, and students are urged to study the precept materials before class and come prepared with questions. These precept materials generally consist of “tips and tricks” slides for the current assignment, and it is highly recommended that students read through an assignment’s precept slides (in their entirety) before starting work on the assignment itself. Part of precept will be devoted to reviewing the slides and answering general questions, and for the remainder of the time instructors will be available to answer students’ questions individually and to provide (limited) troubleshooting assistance.

  • Expectations

COS 426 is a 400-level class. For students concentrating in Computer Science, this course will be marked as a senior departmental on their transcript. Accordingly, students should not only expect to be held to higher standards, but should also expect less hand-holding in general than they may find in 300-level courses and below.

In particular, students should not expect course staff to give them the answer to an assignment problem after enough pestering. Course staff are available to help students with their learning, not their grade. Here is a list of what instructors can help with:

Course staff are happy to help explain course concepts or general techniques that students may be confused about.

  • e.g. “Could you please explain image convolution?”

Course staff are happy to clarify assignment specs, provided the clarification is not about an intentional ambiguity.

  • e.g. “Should this filter rotate the image clockwise or counterclockwise?”

Course staff are happy to give the occasional starting hint (but no more) to put students on the right track for a certain problem.

  • e.g. “The runtime of the brush filter should not exceed 4r^2 per center.”

Course staff are happy to answer questions about JavaScript syntax.

  • e.g. “How can I iterate over entries in an Object?”
  • Course staff will give modest debugging assistance only once students have demonstrated that they understand the solution to a problem at a high level (in other words, after students explain what they are trying to do, and that explanation is correct).

Unless a student has a JavaScript syntax question, instructors will not look at any code until the student has demonstrated that they understand the solution to the problem they need help with (see the last bullet point above). Second, unless it’s a syntax issue, instructors will not fix a student’s code for them. They will simply state what region of the code looks wrong. Also, if a student’s explanation is incorrect, instructors will not fix it for them. Course staff will either state what part of it is wrong, and / or ask a question to give the student something to think about.

  • Course Grades

Grade Chart

Final grades are based on six biweekly programming assignments (60%), one written exam (15%), a final programming project (20%), and course participation (5%). Throughout the semester, there will ample opportunities for extra credit and student participation. In particular, students are highly encouraged both to enter each assignment art contest, as well as to engage regularly with their peers on Ed .

  • Written Exam

Only one exam is administered during this course. Currently, this exam is scheduled to be taken during the class time (either in-class or over Gradescope, TBA) on the Thursday of midterms week. The exam is closed-book; however, students are permitted to each bring an 8.5x11” double-sided cheat-sheet . The written exam covers all course material up through (and including) Week 5. Students may be tested on any and all graphics concepts touched on through lectures, readings, and assignments during this period. Examples of exams from previous offerings of this course will be posted; however, note that past exams may have covered different material. Students may also find the qualitative exercises available on the course website helpful when preparing for the exam, but they should expect more quantitative questions on the exam itself.

Although the six weeks of course material that follow the exam are not covered on any written test, it is still “tested” through strict no-collaboration questions that are introduced into assignment writeups following Fall Break. Effectively, these questions will serve as a second “take-home” exam spread throughout the later assignments. This is done in order alleviate the dependency of students’ final grades on their sole written exam grade, while also testing material without overburdening students with tedious and stressful examinations. Note that the grades for no-collaboration questions are incorporated into assignment grades rather than into exam grades.

  • Programming Assignments

There are six biweekly programming assignments. Assignments are not weighted evenly. Assignments will be implemented mostly in JavaScript. Any computer and browser may be used for development, however students should ensure that their programs work on Chrome with the latest release of macOS, as this is the environment in which submissions are tested and graded.

Assignments are submitted via the Princeton CS Dropbox, also known as TigerFile. Students should look for the submission link in the description of each assignment, login with their Princeton netID, and then submit all applicable files by the posted deadline. Students may resubmit and unsubmit files as needed up until the submission deadline. Further alterations will result in the assignment being marked as late.

When submitting an assignment, all code, writeup, input images, output images, overlay images, etc., should be packed into a single folder titled “assignmentN” (where N is the assignment number — eg. , assignment0) and compressed. In the interest of preserving space, it is requested that all images are submitted in .jpg format.

  • Final Project

The final project is a chance for students to build a system incorporating many of the ideas that have been covered in class, by implementing an interactive game. Projects should be done in groups of three or four (other team sizes are permitted with permission of an instructor).

Students are welcome to recycle code infrastructure provided for previous assignments, and they are also permitted to borrow content, ideas, or other code infrastructure from the web or elsewhere. However, teams should be very careful to distinguish which parts they contributed to directly, and which other parts are loaned from elsewhere. Moreover, while it is ok to use common libraries/infrastructure, they should not dwarf students’ own code in terms of their role in the project. In particular, projects should not build on top of a highly polished and complete game engine like Unity.

  • Late Policy

Assignments are due at 11:55PM on their posted due dates, where submission time is determined by the file date of the file upload. Following a very brief grace period (which students should confirm with an instructor beforehand), one minute late is the same as one day late. Note that if any part of an assignment is submitted late, the entire assignment will be marked late. To submit an assignment late, remove all uploads from the online submission system, since instructors will grade partial submissions as-is (whereas no submissions are marked late). Note that work cannot be accepted after Dean’s Date without a Dean’s recommendation.

Late assignments are marked down 1/4 of the full grade per day or partial day late. This said, students may elect to waive up to four days of late penalties . We will not apply late days automatically in this course since the assignments are not weighted evenly. Therefore, if students would like to apply late days to a submitted assignment, please indicate at the top of the write-up . Additional late penalties will be waived only in the case of unforeseeable circumstances like medical emergencies, as documented by a student’s Dean or Director of Studies. Note that late days cannot be used for the final project as it is due on Dean’s Date.

Students who feel they have been incorrectly graded may write a short private Ed post describing the potential grading mistake. All regrade requests must be posted within two weeks of when the potential grading error was made.

  • Collaboration Policy

Programming is an individual creative process much like composition. Students must reach their own understanding of the problem and discover a path to its solution. During this time, discussions among students in this course about the assignments is not only permitted but encouraged . Moreover, those who find they benefit from bouncing ideas off of their peers are encouraged to work in pairs .

Note that this is somewhat more relaxed than the collaboration policies of COS 126, COS 226, COS 217, etc., in the sense the conceptual components (ideation, brain-storming, understanding, problem-solving) of all assignments are partnered, even though programming components of assignments are still individual. This relaxed policy does not mean pairs are allowed share all their code with one another. Here is an executive summary:

Your PartnerCourse StaffCOS 426 GradsClassmatesThe Internet
Discuss Concepts With:
Acknowledge Collaboration With:
Expose Code/Solutions To:
View Code/Solutions Of:
Copy Code/Solutions From:
Discuss Concepts With:
Acknowledge Collaboration With:
Expose Code/Solutions To:
View Code/Solutions Of:
Copy Code/Solutions From:
  • Individual Solutions

Students must individually compose all of their own solutions. The term solutions refers to any of the products created when completing a programming assignment excluding the writeup file, such as source code (including comments), a personal understanding of all submitted work, and output images. It includes both finished and unfinished products, regardless of correctness or completeness.

  • Students must never share their code with anyone (besides their current partner) who is taking COS 426 now or who might take COS 426 in the future. Note that sharing output artwork with others is not only permitted but encouraged, so long as doing so does not expose solution specifics.
  • Students must never receive or view someone else’s solutions to a programming assignment (or variant of an assignment), besides that of their current partner.
  • Students must never view someone else’s writeup, including that of their current partner.

All the rules above continue to apply after assignments are graded and after the end of the semester.

  • Collaboration with Course Staff

Students are welcome to discuss their solutions with course staff members during the precept problem sessions, in office hours, and via private Ed posts.

  • Collaboration with Partners

Students may show their partial or complete solution to another student, and they may examine their solutions. However, all submitted code must be fully understood and more specifically typed into the computer by student submitting the assignment. If a student sees and understands another student’s solution (perhaps because they are working as a pair) then they should take a minute to think about it and then type their own version of the solution.

For each assignment, students must specifically state in their writeup file the names of any individuals with whom they collaborated, or from whom they received help, and the nature of the help that they received. This includes help from friends, the internet, classmates, and course staff members, among others.

  • Collaboration with Classmates

Students are encouraged to discuss common concerns with classmates either in private or publicly in the Ed course forum. These discussions must be kept at a general level, without exposing their solutions.

  • Concerning Electronic Communication

If a student has a question or comment that will be helpful to other students, and they need not reveal any parts of their work to express the question or comment properly, then they should post it to the course’s Ed page. One of the course’s instructors will reply as soon as possible. Instructors also welcome replies from other students and may “endorse” a student’s response instead of composing an instructor’s response.

If a student has a question or comment that will not be helpful to other students, or if they must reveal parts of their work to express their question or comment adequately, then they should post it privately on Ed .

Students should not, under any circumstances, share code in digital form!

Please do not publish solutions to programming assignments in a way that could compromise their utility as pedagogical tools. For example, do not make them available on a publicly accessible web page, such as GitHub. At Princeton, this is a violation of the basic Rights, Rules, Responsibilities of members of the University community.

Plagiarism and abetting plagiarism are serious academic infractions. Programming is a creative work and the academic regulations that apply to plagiarizing prose also apply to plagiarizing code. Princeton’s Rights, Rules, Responsibilities defines plagiarism as “the use of any outside source without proper acknowledgment.” It ranges from “verbatim copying” (e.g., cutting-and-pasting code) to “thorough paraphrasing” (e.g., changing variable names or rearranging code).

  • Copying from a Partner

The more lenient collaboration policy for this course is a privilege; it is founded in the trust between students and instructors. If students are caught breaking this trust by violating the collaboration policy, they risk having this policy revoked for the entire class.

  • Outside Sources & Citations

Students are only permitted to copy or adapt that is not theirs if it comes from the course materials (i.e., the course textbook, programming assignment specifications, lecture slides, precept slides, etc.). When students use outside sources, they must cite any code that they copy or adapt (with the exception of code that is included in the assignment starter files).

  • Plagiarism Penalties

We refer alleged academic violations (including plagiarism and abetting plagiarism) to the Committee on Discipline . If found responsible, the typical penalty is an F as a course grade plus whatever penalty that the CoD imposes. (The typical CoD penalty for plagiarism is suspension from the University.) Violators of course policies that are not adjudicated by the CoD will receive penalties based on the severity of the violation, ranging from a warning (for violations that are both unintentional and innocuous) to an F in the course (for violations that are both intentional and serious).

  • Acknowledgements

The COS 426 course staff would like to thank former COS 426 undergraduate and two-time TA Reilly Bova ’20 for creating this beautiful website and revising all the assignment specifications. We would also like to thank William Sweeney ’20 and Reilly Bova together for rewriting the precept slides and compiling supplementary content for the course.

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications You must be signed in to change notification settings

This project is the compilation of assignments for the Computer Graphics course at Harbin Engineering University.

xhd0728/Computer_Graphics_Homework

Folders and files.

NameName
2 Commits

Repository files navigation

Introduction.

Before running the project, you need to prepare necessary software and environment:

  • Recommended: Visual Studio 2019 and above.
  • Necessary: MFC component library.

If you have any questions about this project, please contact:

If this project is helpful to you, please cite it in your paper:

This class is over. It was taught in a previous semester.

Csci 420 computer graphics, spring 2022.

computer graphics homework

-->

Monday and Wednesday,
Instructor: , [email protected]
Office: SAL 240
Office hours: Monday 4:00 - 5:00   
TA: Jiahao Wen, [email protected]
Producer: Jingtao Huang, [email protected]
TA Office hours: Tuesday and Friday 4pm-5pm (online on Zoom)

Introduction and Purpose

This course is an introduction to three-dimensional computer graphics. Students will learn both the theory of 3D computer graphics, and how to program it efficiently using OpenGL . The course primarily teaches the "modern" shader-based OpenGL (core profile) , but also introduces the "classic" fixed-function OpenGL (compatibility profile). Topics include 2D and 3D transformations, Bézier and B-Spline curves for geometric modeling, interactive 3D graphics programming, computer animation and kinematics, and computer graphics rendering including ray tracing, shading and lighting. There will be an emphasis on the mathematical and geometric aspects of computer graphics. This course is regularly offered every semester (the instructor may vary from offering to offering, as may the content somewhat). instruction (by instructor), and 1 hour of recitation (by the TA or producer) weekly. -->

Annoucements

There are currently no announcements.

Schedule | Prerequisites | Textbooks | Assignments | Grading | Resources and Supplementary Reading | Academic Integrity

Date Topic Reading (Angel) Reference Assignments
What is Computer Graphics Ch 1  
Introduction to OpenGL Ch 2  
No class (Martin Luther King Day)
Graphics Pipeline Ch 2  
Color and Hidden Surface Removal Ch 2  
Transformations Ch 3  
Viewing and Projection Ch 4  
Shaders Ch 1, 2, App A  
Shaders (continuation)
Hierarchical Modeling Ch 8    
Polygonal Meshes, Curves and Surfaces Ch 10  
Splines Ch 10  
No class (President's Day)
Wed Feb 23 Lighting and Shading Ch 5   Assignment 1 due
Catch-up day
Texture Mapping Ch 7  
Review for midterm Assignment 2 milestone due -->
Midterm exam (in-class)
Rasterization Ch 6     -->
Ray Tracing Ch 11  
Ray Tracing: Geometric Queries Ch 11    
Spatial Data Structures Ch 8   Assignment 2 due
Global Illumination Ch 11  
Keyframe Animation Ch 9  
Image Processing Ch 6, 7  
Ch 9   -->  
, Digital Domain--> Wildcard lecture: TBA
Non-Photorealistic Rendering   Assignment 3 due
Virtual Reality  
Visualization Ch 11  
Mon May 9 Final exam

Prerequisites

  • Junior, senior, MS or PhD student, or explicit permission of instructor
  • CSCI 104 (Data Structures and Object-Oriented Design)
  • MATH 225 (Linear Algebra and Differential Equations)
  • Familiarity with calculus and linear algebra
  • C/C++ programming skills

Textbooks (both strongly recommended)

  • Edward Angel: Interactive Computer Graphics: A Top-Down Approach Using OpenGL, Sixth edition, Publisher: Addison Wesley, ISBN: 9780321535863
  • Dave Shreiner: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 , Eighth edition, Publisher: Addison-Wesley Professional, ISBN: 9780321773036

Assignments

There will be three programming homework assignments, teaching students OpenGL and how to program 3D computer graphics. Please see the schedule for links to assignments and due dates. All assignments must be done individually.

Assignments: 17% each (51% total)

Mid-term exam: 19%

Final exam: 30%

All assignments must be completed before the final exam to pass the course. Students must take the mid-term and final exams to pass the course. The assignments will have a small amount of extra credit.

Late policy: Programming assignments should be turned in by midnight on the day they are due. A total of three late days may be taken during the semester on programming assignments. For example, you can use one late day on the second assignment, and two on the third assignment. All days are counted, including any weekends and holidays, as follows: Less than 24 hours late = 1 late day, 24-48 hours late = 2 late days, 48-72 hours late = 3 late days, and so on. The flexibility provided by the late days is intended to get you through the time where all your classes just happen to have assignments due on the same day. Beyond the three late days, there will be a penalty of 10% of the value of the assignment / day. Exceptions will be granted only under most dire circumstances and must be discussed with and approved by the instructor at least one week in advance. Assignment and exam grading may be discussed within three weeks of them being returned to the students.

There is a forum on Piazza where students can ask questions.

Resources and Supplementary Readings

Academic integrity.

All students are expected to maintain the utmost level of academic integrity. Do not copy any parts of any of the assignments from anyone. Do not look at other students' code, papers, assignments or exams. The university policies on academic conduct will be applied rigorously, and the USC Office of Student Judicial Affairs and Community Standards will be notified.

Academic Conduct Plagiarism - presenting someone else's ideas as your own, either verbatim or recast in your own words, is a serious academic offense with serious consequences. Please familiarize yourself with the discussion of plagiarism in SCampus in Section 11, Behavior Violating University Standards, https://scampus.usc.edu/1100-behavior-violating-university-standards-and-appropriate-sanctions/. Other forms of academic dishonesty are equally unacceptable. See additional information in SCampus and university policies on scientific misconduct, http://policy.usc.edu/scientific-misconduct/.

Discrimination, sexual assault, and harassment are not tolerated by the university. You are encouraged to report any incidents to the Office of Equity and Diversity http://equity.usc.edu/ or to the Department of Public Safety http://capsnet.usc.edu/department/department-public-safety/online-forms/contact-us. This is important for the safety whole USC community. Another member of the university community -- such as a friend, classmate, advisor, or faculty member -- can help initiate the report, or can initiate the report on behalf of another person. The Center for Women and Men http://www.usc.edu/student-affairs/cwm/ provides 24/7 confidential support, and the sexual assault resource center webpage [email protected] describes reporting options and other resources.

Support Systems A number of USC's schools provide support for students who need help with scholarly writing. Check with your advisor or program staff to find out more. Students whose primary language is not English should check with the American Language Institute http://dornsife.usc.edu/ali, which sponsors courses and workshops specifically for international graduate students. The Office of Disability Services and Programs http://sait.usc.edu/academicsupport/centerprograms/dsp/home_index.html provides certification for students with disabilities and helps arrange the relevant accommodations. If an officially declared emergency makes travel to campus infeasible, USC Emergency Information http://emergency.usc.edu/will provide safety and other updates, including ways in which instruction will be continued by means of blackboard, teleconferencing, and other technology.

Statement for Students with Disabilities

Any student requesting academic accommodations based on a disability is required to register with Disability Services and Programs (DSP) each semester. A letter of verification for approved accommodations can be obtained from DSP. Please be sure the letter is delivered to me (or to TA) as early in the semester as possible. DSP is located in STU 301 and is open 8:30 a.m.–5:00 p.m., Monday through Friday. The phone number for DSP is (213) 740-0776.

I wish to thank Prof. Frank Pfenning and Prof. Jessica Hodgins from Carnegie Mellon University for generously providing materials from their computer graphics courses at CMU. This course has also been influenced by computer graphics courses at Cornell, MIT and UC Berkeley.

UCSD CSE 167 Computer Graphics

computer graphics homework

Course Description

  • Modeling : How to describe and edit 2D and 3D shapes.
  • Rendering : How to turn 2D and 3D shapes into images algorithmically, and how to make it fast using domain-specific hardware.
  • Animation : How to create motion.

Prerequisites

Grading, homeworks and projects, schedule (tentative), 9/29/2023 (fri): introduction. (hw 1 out) [ slides ], 10/2/2023 (mon): vector graphics. [ slides ], 10/4/2023 (wed): linear transformation. [ slides ], 10/6/2023 (fri): cameras. [ slides ], 10/9/2023 (mon): rasterization. [ slides ], 10/11/2023 (wed): ray tracing vs rasterization. [ slides ], 10/13/2023 (fri): 3d transformation. [ slides ], 10/16/2023 (mon): 3d rotation. (hw1 due, hw2 out) [ slides ], 10/18/2023 (wed): programmable graphics pipelines. [ slides ], 10/20/2023 (fri): textures. [ slides ], 10/23/2023 (mon): lighting. [ slides ], 10/25/2023 (wed): materials. [ slides ], 10/27/2023 (fri): colors. [ slides ], 10/30/2023 (mon): global illumination. [ slides ], 11/1/2023 (wed): shadow mapping and shadow volume. (hw2 due, hw3 out) [ slides ], 11/3/2023 (fri): antialiasing. [ slides ], 11/6/2023 (mon): non-photorealistic rendering. [ slides ], 11/8/2023 (wed): procedural modeling. [ slides ], 11/10/2023 (fri): veterans day holiday, 11/13/2023 (mon): geometry processing. [ slides ], 11/15/2023 (wed): curves and smooth surfaces. [ slides ], 11/17/2023 (fri): animation. (hw3 due, hw4 out) [ slides ], 11/20/2023 (mon): particle systems and mass-spring systems. [ slides ], 11/22/2023 (wed): rigging, skinning, and blendshapes. [ slides ], 11/24/2023 (fri): thanksgivings holiday., 11/27/2023 (mon): rigid-body simulation. [instructor was sick -- class canceled], 11/29/2023 (wed): graphics systems and domain-specific languages. [ slides ], 12/1/2023 (fri): point-based graphics. (hw4 due, hw5 out) [instructor was sick -- class canceled], 12/4/2023 (mon): transparency and volumes. [ slides ], 12/6/2023 (wed): neural networks. [ slides ], 12/8/2023 (fri): sneak peak of other graphics classes. [ slides ], 12/12/2023 (tue): hw5 due..


    
  

: 0PM - : 0PM    (01/12/2021 - 03/19 /2021) 
Prof)

0-5:30 PM (Zoom), or by appointment

(CS Masters student, )
Office hours (Zoom):













Dynamics [2 weeks Character FX [1 week ] ]










DATE
TOPIC
SUPPLEMENTAL MATERIALS
TuJan12
Introduction
Slides:
(PDF,  90 MB)
(v8.3, WARNING: HUGE: 1.3 GB, Stanford access only)
-->
Homework Activities:

(after the first class) (registration required)








)
( )




)
( )






Particle Systems

Material:

References:

  , Online SIGGRAPH 2001 Course Notes, 2001. ( )  (preview of energy function usage)  by Karl Sims, 1988.




)






References:
  , Online SIGGRAPH 2001 Course Notes, 2001.  ( )   , ACM Transactions on Graphics, 26(3), July 2007, pp. 49:1-49:7.  [ACM Digital Library  ] , Doug L. James, Steve Marschner,  , ACM Transactions on Graphics, 27(3), August 2008, pp. 65:1-65:9.
  , SIAM.   , 2nd edition, Springer, 1996. 



for weeklies




References:
, EUROGRAPHICS Tutorial Notes, 2015, Zürich, May 4-8. ,  , pp 71-80, Madrid, November 6-7 2006, Best Paper Award,  ,  ,   in Proceedings of ACM Motion in Games, San Francisco, October 2016
(An improved PBD approach) , 2009 Conference Proceedings: IEEE International Conference on Computer-Aided Design and Computer Graphics, pp. 1-11, 2009. ( )
, Game Developer Conference, 2001.   ACM Trans. Graph. 33, 4, Article 153 (July 2014), 12 pages. [ ]
 ACM Trans. Graph. 33, 4, Article 154 (July 2014), 11 pages. [ ]  , ACM SIGGRAPH / Eurographics Symposium on Computer Animation (SCA), 2016.






References:
, Online SIGGRAPH 2001 Course Notes, 2001. ( , ) impulse calculation: See Baraff course notes. for dynamics of a single rigid body in body coords ( ) of body-coordinate integration ( )
, Computer Graphics Forum, Volume 33, Issue 1, pages 246–270, February 2014, DOI: 10.1111/cgf.12272.
)
cloth zones (see [Bridson et al. 2002])
)



Shape Matching Methods



General ideas:  methods (adaptive FastLSM; Oriented particles)

Meshless deformations based on shape matching, ACM Transactions on Graphics, 24(3), August 2005, pp. 471-478. [ ] [ ] [ ]
, ACM Transactions on Graphics, 26(3), July 2007, pp. 82:1-82:6. [ ] [ ] Fast Adaptive Shape Matching Deformations, ACM SIGGRAPH/Eurographics Symposium on Computer Animation, Dublin, July 7-9, 2008. [ ] [ ]  ACM Trans. Graph. 30, 4, Article 92 (July 2011), 10 pages, 2011. [ ] [ ] [ ]
:
Impulse- and Contraint-based Methods:






, 1995 Symposium on Interactive 3D Graphics, April 1995, pp. 181-188. 
, ACM Transactions on Graphics, 22(3), July 2003, pp. 871-878. [an iterative impulse-based solver]  Ph.D. thesis, Department of Computer Science, University of Copenhagen, Denmark, 2005. [ ]
, ACM Trans. Graph. 26, 2, Jun. 2007. , ACM Trans. Graphics (SIGGRAPH 2012), 31(4), 2012.
, SIAM Review, volume 42, 2000. , Computer Graphics Forum, Volume 33, Issue 1, pages 246–270, February 2014, DOI: 10.1111/cgf.12272. , ACM Transactions on Graphics, 27(5), December 2008, pp. 164:1-164:11. , Cambridge University Press, 2004. ]




, 2003 ACM SIGGRAPH / Eurographics Symposium on Computer Animation (SCA 2003), August 2003, pp. 154-159.  [ ] . ACM Trans. Graph. 32, 4, Article 104 (July 2013), 12 pages.  World Scientific, 2003.    
, Computer Graphics International, pp. 63-70, 2007. , ACM Transactions on Graphics, 28(3), July 2009, pp. 40:1-40:6. [ ] [ ]  (pp. 83-86)]
, In ACM SIGGRAPH 2006 Courses (Boston, Massachusetts, July 30 - August 03, 2006). SIGGRAPH '06. ACM Press, New York, NY, 1-87.  [ ,  ] ,  , A K Peters, 2008. [Book format]
Versatile Rigid-Fluid Coupling for Incompressible SPH, ACM Trans. Graph. (SIGGRAPH Proc.), 2012. [ ] [ ] Unified Particle Physics for Real-Time Applications, ACM Transactions on Graphics (SIGGRAPH 2014), 33(4) [Slides]      , MEIS2013 Abstract (a good high-level summary of particle-based fluids surfacing)


Topics:
, In ACM SIGGRAPH 2007 Courses.  [ ,  ] (main reference for class)
,  , A K Peters, 2008. ,  , Proceedings of SIGGRAPH 99, Computer Graphics Proceedings, Annual Conference Series, August 1999, pp. 121-128.  [ ] , Proceedings of ACM SIGGRAPH 2001, Computer Graphics Proceedings, Annual Conference Series, August 2001, pp. 15-22.  (introduces vorticity confinement forces) , ACM Transactions on Graphics (SIGGRAPH 2015), 34(4), pp. 51:1-51:10, 2015. [ ]
] [ ] 



ACM Trans. Graph. 36, 4, Article 40 (July 2017), 11 pages.
. ACM Trans. Graph. 37, 4, Article 81 (July 2018), 10 pages.
In Proceedings of the 2019 Digital Production Symposium (DigiPro ’19). Association for Computing Machinery, New York, NY, USA, Article 2, 1–8.



, Presence: Teleoperators and Virtual Environments, 7:4, The MIT Press, 1998. pp. 382--395. 
, Proceedings of ACM SIGGRAPH 2001, Computer Graphics Proceedings, Annual Conference Series, August 2001, pp. 537-544. 
, Proceedings of ACM SIGGRAPH 2001, Computer Graphics Proceedings, Annual Conference Series, August 2001, pp. 87-96. 
, Proceedings of ACM SIGGRAPH 2001, Computer Graphics Proceedings, Annual Conference Series, August 2001, pp. 529-536. , IEEE Computer Graphics & Applications, 22(4), July-August 2002, pp. 23-27.  In The ACM SIGGRAPH 2002 Symposium on Computer Animation, pages 175–181. ACM Press, July 2002.
, ACM Transactions on Graphics, 22(3), July 2003, pp. 732-740. [ ]
, ACM Transactions on Graphics, 25(3), pp. 987-995, July 2006, pp. 987-995.
, ACM Transaction on Graphics (SIGGRAPH 2009), 28(3), August 2009, pp. 37:1-37:12. , ACM Transactions on Graphics (SIGGRAPH ASIA Conference Proceedings), 28(5), December 2009, pp. 119:1-119:10. , ACM Transactions on Graphics (SIGGRAPH 2010), 29(3), July 2010, pp. 69:1-69:13.  and  ,  , ACM Transactions on Graphics, 30(4), August 2011. ,   and  ,  , ACM Transactions on Graphics, August 2012. ,  , and  ,  , ACM Transactions on Graphics, August 2012.  and Doug L. James,  , ACM Transactions on Graphics (SIGGRAPH 2014), 33(4), August 2014.
Guest Lecture:
"Geometry Processing @ Pixar"




( )

(slide deck, submission)
)


HW1: Hello Houdini

HW2: Procedural Modeling



HW4: Character FX



)


HW1: Hello Houdini

HW2: Procedural Modeling

HW3: Collision Processing (Spaghetti Factory)

HW4: Character Animation FX

HW5: Fluids

Final Projects


TOPIC

Assignment #1:
Position-Based Fluids


(starter code + submission)

Implicit Integration
& Cloth Simulation

:
  , SIAM. particle systems
  , Online SIGGRAPH 2001 Course Notes, 2001.   , Proceedings of SIGGRAPH 98, Computer Graphics Proceedings, Annual Conference Series, July 1998, pp. 43-54.
 integration schemes:
, SIAM J. Num. Anal. 32, pp. 797-823, 1995. , Computer Animation and Simulation 2000, Proceedings of the EG Workshop in Interlaken, 21-22 August, 2000. 


and Ming Lin, , Pacific Graphics 2004. , Michael Henson, Ming Lin, , Symposium on Computer Animation (SCA) 2004. by Softology;



(courtesy Craig Schroeder & Joseph Teran) in Piazza Resources


, , Lawrence Chai, , ,  , ACM Transactions on Graphics (SIGGRAPH 2013), 32(4), pp. 102:1-102:10, 2013.  [ ] (on derivatives) , , with  . , Craig Schroeder, Joseph Teran, Alexey Stomakhin, Andrew Selle, , SIGGRAPH Course 2016. [ ] simulator



Prog. Assignment #2:
Position-Based Dynamics

(starter code + submission)

Fracture Animation



, , August 1988, pp. 269-278.
,  , August 1999, pp. 137-146. ,  , 21(3), July 2002, pp. 291-294. ,  , 23(3), August 2004, pp. 385-392. 
,  , pp 239-246, London, Ontario, Canada, May 17-19, 2004. ( )
,  , 24(3), August 2005, pp. 957-964. [ ] ( ) [ ]
,  , September 2006, pp. 177-186. ,  , September 2006, pp. 63-72. ( )
,  , 370-378 (2007).
,  , , August 2007, pp. 73-80. ,  , pages 156–166, August 2009. , , edited by Eitan Grinspun and Jessica Hodgins, pp. 155-164 (2009).
,  , 29(4), July 2010, pp. 69:1-69:13. , ACM Transactions on Graphics (TOG), 2013. [ ] 
 ACM Trans. Graph. 32, 4, Article 52 (July 2013). [ ] . 33, 4, Article 113 (July 2014). [ ] ,
, ACM Trans. Graph. 34, 4, Article 151 (July 2015). , 35, 4, 104 (SIGGRAPH 2016).
, Computers & Graphics, 2014.





de Goes, Wallez, Huang, Pavlov, Desbrun
SIGGRAPH / ACM Transactions on Graphics (2015)
     


Assignment #2: Constrained Dynamics
, )




Turbulence 

, 1989 Computer Graphics (proceedings of ACM SIGGRAPH Conference), Vol. 22, No. 3. 
 In Proceedings of the 20th annual conference on Computer graphics and interactive techniques (SIGGRAPH '93). ACM, New York, NY, USA, 369-376. 
, Proceedings of ACM SIGGRAPH 2001, Computer Graphics Proceedings, Annual Conference Series, August 2001, pp. 15-22.  (introduces vorticity confinementforces) , SIGGRAPH course notes, 2002. [ ]
, e.g.,  . , In Proc. ACM SIGGRAPH/Eurographics Symp. Comp. Anim. (2003), pp. 147–153.
, ACM SIGGRAPH 2005 Papers, July 31-August 04, 2005.
 ACM Trans. Graph. 24, 3 (July 2005), 803-811. [ ] , ACM Transactions on Graphics (TOG), v.27 n.3, August 2008. , ACM Transactions on Graphics (TOG), v.26 n.3, July 2007. (  and public domain   available.) , ACM Transactions on Graphics (TOG), v.27 n.3, August 2008. [ ] ( )
, Proceedings of the 2008 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, July 07-09, 2008, Dublin, Ireland. [ ]
, ACM Transactions on Graphics (TOG), v.27 n.5, December 2008. ,ACM SIGGRAPH Asia 2009 Papers, ACM Press, 2009.

computer graphics homework

WEEK DATES TUESDAY THURSDAY HOMEWORK
1 1/9, 1/11 Introduction Unity Intro HW 1
2 1/16, 1/18 Animation 1 Animation 2 HW 2
3 1/23, 1/25 Animation 3 Animation in Unity
4 1/30, 2/01 Simulation 1 Simulation in Unity HW 3
5 2/06, 2/08 Simulation 2 Simulation 3
6 2/13, 2/15 Character Animation & Simulation 1 Character Animation & Simulation in Unity HW 4
7 2/20, 2/22 Character Animation & Simulation 2 Character Animation & Simulation 3
8 2/27, 3/01 Game Design, Interactivity, and AI 1 (Riot) Game Design, Interactivity, and AI 2 (Riot) HW 5
9 3/06, 3/08 CA Example Game Demos Game Design, Interactivity, and AI 3 (Blizzard)
10 3/13, 3/15 Student In-Class Demos of Games In-Progress Student In-Class Demos of Games In-Progress
11 3/22 Final Game Presentations: 12:15-3:15pm

Course Outline

  • 1/10: Introduction
  • Lecture: Slides
  • 1/12: Unity Intro
  • 1/16: Animation Part I
  • 1/19: Animation Part II
  • Video: How artists use animation curves ...
  • 1/23: Animation Part III
  • Video: Gimbal lock
  • 1/25: Animation in Unity
  • 1/30: Particles
  • 2/6: Particle Systems
  • Suggested/Supplemental Readings (if interested):
  • Flocks, Herds and Schools: A Distributed Behavioral Model
  • Robust Treatment of Collisions, Contact and Friction for Cloth Animation
  • Simulation of Clothing with Folds and Wrinkles
  • 2/8: Rigid Bodies
  • Nonconvex Rigid Bodies with Stacking
  • 2/9: Simulation in Unity
  • 2/13: Articulated Character Part I
  • 2/15: Character Animation and Physics in Unity
  • 2/20: Articulated Character Part II
  • 2/22: Skinning
  • 2/23: Character Animation in Unity
  • 2/28: Riot Guest Lecture: Game Design
  • Slides: Slides
  • 3/2: Riot Guest Lecture: Game Mechanics
  • 3/7: Pocket Gem Guest Lectures
  • Slides: Programming Paradigms Slides
  • Slides: Level Design Slides
  • 3/7: CA Game Demos
  • Game Downloads: [ Asteroid Lander ] [ Links to some useful resources ] [ Chrome Mech Full (4.2 GB) ] [ Chrome Mech Lite (54 MB) ]
  • 3/9: Other Topics in Unity
  • Navigation Example: [ Starter Project ] [ Finished Project ]
  • On Version Control in Unity
  • Unity .gitignore file
  • 50 Free Unity Assets
  • Supplemental Readings:
  • Android Tutorial
  • OpenGL ES Tutorial
  • OpenGL ES 2.0 Programming Guide
  • 1/14: Client/Server/Browser
  • Javascript Tutorial
  • Golang Tutorial
  • Three.js Tutorial
  • A Three.js+Go+Websocket Tutorial
  • 1/16: Platform: Threaded PC
  • Guide to the POSIX Threads Library
  • POSIX Threads Programming
  • Designing the Framework of a Parallel Game Engine
  • 1/21: Animation Curves and Splines 1
  • 1/23: Animation Curves and Splines 2
  • Video: Euler angles and Gimbal lock ...
  • Physically Based Modeling Rigid Body Simulation, Section 4 Quaternion vs Rotation Matrices
  • 3D Math Primer For Graphics And Game Development, Chapter 10
  • 1/28: Particle Simulation
  • Nonconvex Rigid Bodies With Stacking
  • 1/30: Particle Systems
  • ClearPath: Highly Parallel Collision Avoidance for Multi-Agent Simulation
  • CS148 Acceleration Structures
  • CS205a ODE Class 15 Class 16 Class 17
  • 2/04: Rigid Bodies
  • Physically Based Modeling Rigid Body Simulation
  • Energy Stability and Fracture for Frame Rate Rigid Body Simulations
  • 2/06: Implicit Surfaces
  • Level Set Methods and Dynamic Implicit Surfaces
  • Efficient algorithms for globally optimal trajectories
  • Fast marching methods
  • 2/11: Character Animation
  • "Principles of Traditional Animation Applied to 3D Computer Animation", Computer Graphics, pp. 35-44, 21:4, July 1987 (SIGGRAPH 87).
  • Short Movie: Gumbasia, Before Gumby (1953) - Art Clokey
  • Short Movie: Flour Sack Animation
  • 2/13: Articulated Rigid Bodies
  • "Introduction to Inverse Kinematics with Jacobian Transpose, Pseudoinverse and Damped Least Squares methods", Samuel R. Buss
  • "OpenGL Programming guide: the official guide to learning OpenGL, versions 3.0 and 3.1", 7th edition, Chapter 3.
  • CS 205a, class 4 class 5 class 6
  • 2/18: Motion Capture and Editing
  • "Spacetime constraints", Andrew Witkin and Michael Kass
  • "Motion graphs", Lucas Kovar, et al.
  • 2/20: Skinning, IK, and Path Planning
  • "Skinning with Dual Quaternions", Ladislav Kavan, et al.
  • 2/25: Game Design 1 (Riot Games)/b>
  • 2/27: Game Design 2 (Riot Games)
  • 3/04: Game Design 3 (Pocket Gems)
  • Lecture: Programming Paradigms Slides
  • Lecture: Level Design Slides
  • 3/06: Game Design
  • 3/11: In-Class Demos of Games In-Progress
  • 3/13: In-Class Demos of Games In-Progress
  • For educators

Interactive Computer Graphics (7th) Edition 0134021263 9780134021263

Interactive Computer Graphics (7th Edition) Edit edition This problem has been solved: …

Scalar numbers like real numbers and operations on them like addition and multiplication are together called scalar field. Scalar fields have basically two operation addition and multiplication. These operations on the field elements should be Associative, Commutative and Distributive for each element of field with respect to addition and multiplication both.

To prove complex number will form scalar field, elements belongs to this should follow scalar field properties.

computer graphics homework

Associative law holds with respect to Addition:

computer graphics homework

Associative law holds with respect to Multiplication

computer graphics homework

Commutative law holds with respect to Addition:

computer graphics homework

Commutative law holds with respect to Multiplication:

computer graphics homework

Additive Identity:

computer graphics homework

Multiplicative Identity:

computer graphics homework

Corresponding textbook

Interactive Computer Graphics | 7th Edition

  • About Chegg
  • Chegg For Good
  • College Marketing
  • Corporate Development
  • Investor Relations
  • Join Our Affiliate Program
  • Media Center

LEGAL & POLICIES

  • Advertising Choices
  • Cookie Notice
  • General Policies
  • Intellectual Property Rights
  • Terms of Use
  • Global Privacy Policy
  • DO NOT SELL MY INFO
  • Honor Shield

CHEGG PRODUCTS AND SERVICES

  • Cheap Textbooks
  • Chegg Coupon
  • Chegg Study Help
  • College Textbooks
  • Chegg Math Solver
  • Mobile Apps
  • Solutions Manual
  • Textbook Rental
  • Used Textbooks
  • Digital Access Codes
  • Chegg Money

CHEGG NETWORK

  • Internships.com

CUSTOMER SERVICE

  • Customer Service
  • Give Us Feedback
  • Manage Subscription

© 2003- 2024 Chegg Inc. All rights reserved.

Jan 17
Jan 22
Jan 24
Jan 29
Jan 31
Feb 5
Feb 7
Feb 12
Feb 14
Feb 19
Feb 21
Feb 26
Feb 28
Mar 4
Mar 6
Mar 11
Mar 13
Mar 18
Mar 20
Mar 25
Mar 27
Apr 1
Apr 3
Apr 8
Apr 10
Apr 15
Apr 17
Apr 22
Apr 24
Apr 29
---> --->
(Due 1/29)
(Due 1/31)
(Due 2/7)
(Due 2/14)
(Due 2/21)
(Due 3/15)
(Due 3/27)
(Due 4/5)
(Due 4/17)
(Due 4/26)

Thanks to past contributors to course material: Keenan Crane, Kayvon Fatahalian, Stelian Coros, Nancy Pollard, Michael Choquette, Se-Joon Chung, Sky Gao, Qiuyi Jia, Zach Shearer, Bryce Summers, Nick Sharp, Maxwell Slater, Oscar Dadfar.

IMAGES

  1. APPLICATIONS OF COMPUTER GRAPHICS

    computer graphics homework

  2. Homework 1 for Computer Graphics

    computer graphics homework

  3. Computer Graphics Homework_by KK

    computer graphics homework

  4. NTNU Computer Graphics HW3 111 1

    computer graphics homework

  5. Computer Graphics Assignment Help

    computer graphics homework

  6. GitHub

    computer graphics homework

VIDEO

  1. Computer Graphics 01

  2. Scaling of the object, relative to a fixed point in Computer Graphics

  3. CS 401 COMPUTER GRAPHICS/Module 1/Applications of CG

  4. Computer Graphics Introduction and all the Applications

  5. Компьютерная графика. Информатика 5 класс

  6. What is Computer Graphics || Introduction To CG || Lecture in Urdu/Hindi

COMMENTS

  1. CS 148: Introduction to Computer Graphics and Imaging

    CS 148 fulfills the General Education Requirements (GER) as a Ways of Thinking/Ways of Doing (WAYS) course in the Creative Expression (WAY-CE) area. To satisfy this category, students need to enroll under the Letter Grade grading option; the WAY-CE requirement is not met by the Credit/No Credit option. The course grade will be 50% Homework and ...

  2. CS 148: Introduction to Computer Graphics and Imaging

    The rubric will be provided at the end of each homework's writeup. If your homework grades are not going well, then do not be surprised if your final image grade is lower than what you expect. Feedback is very important in computer graphics, so please take each homework seriously and attend the grading sessions each week.

  3. Assignments

    This section provides the assignments for the course and supporting files.

  4. Computer Graphics

    This course provides introduction to computer graphics algorithms, software and hardware. Topics include: ray tracing, the graphics pipeline, transformations, texture mapping, shadows, sampling, global illumination, splines, animation and color. This course offers 6 Engineering Design Points in MIT's EECS program.

  5. Stanford CS348C Computer Graphics: Animation and Simulation

    CS 348C: Computer Graphics: Animation and Simulation. Instructor: Prof. Doug James. Description: Core mathematics and methods for computer animation and motion simulation. Traditional animation techniques. Physics-based simulation methods for modeling shape and motion: particle systems, constraints, rigid bodies, deformable models, collisions ...

  6. Computer Graphics

    Today, computer graphics is a central part of our lives, in movies, games, computer-aided design, virtual simulators, visualization and even imaging products and cameras. This course teaches the basics of computer graphics that apply to all of these domains. Students will learn to create computer-generated images of 3D scenes, including flybys ...

  7. Introduction to Computer Graphics

    The course covers both the theory and practice of computer graphics. The lectures, homework assignments and exams focus on algorithms, data structures, and the mathematical foundations of computer graphics, while while the lab sessions and programming projects deal with translating theory into practice. Text books

  8. Computer Graphics

    Today, computer graphics is a central part of our lives, in movies, games, computer-aided design, virtual simulators, visualization and even imaging products and cameras. This course teaches the basics of computer graphics that apply to all of these domains. Students will learn to create computer-generated images of 3D scenes, including flybys ...

  9. COS 426: Computer Graphics

    Computer graphics lies at the intersection of computer science, geometry, physics, and art. This course provides an introduction to the field, with an emphasis on practical methods and applications in image processing, modeling, rendering, and computer animation. The goal of this course is to equip students with the tools and techniques they ...

  10. 15-462 Computer Graphics I

    15-462 Computer Graphics I. This course provides a basic introduction to Computer Graphics. Some undergraduate follow-up courses such as Computer Animation or Game Programming are offered on a regular basis. Prerequisites: 15-213 Introduction to Computer Systems, 21-241 Matrix Algebra, 21-259 Calculus in Three Dimensions, or equivalents.

  11. PDF 15-462: Computer Graphics Homework 1 Solution

    We can get the barycentric coordinates of the triangle by the following: = fac(x;y) = 3 fac(xb;yb) 11 = fab(x;y) = 3 fab(xc;yc) 11. 5 = 1 =. 11. ave 0 ; ;1, the point is inside the triangleFind the color of point p by linear interpolation of the colors at the three co.

  12. xhd0728/Computer_Graphics_Homework

    This project is the compilation of assignments for the Computer Graphics course at Harbin Engineering University. - xhd0728/Computer_Graphics_Homework

  13. 15-462 Computer Graphics I

    15-462 Computer Graphics I / Assignments. 15-462 Computer Graphics I Assignments. The programming and written assignments are the heart of this course and count for 65% of your total grade. Much of what you learn in this course will be through doing these assignments. The programming assignments require heavy use of the OpenGL libraries.

  14. CSCI 420 Computer Graphics, Spring 2022

    Assignments There will be three programming homework assignments, teaching students OpenGL and how to program 3D computer graphics. Please see the schedule for links to assignments and due dates. All assignments must be done individually.

  15. Computer Graphics : Spring 2023

    Computer Graphics : Spring 2023. Computer Graphics (CMU 15-462/662) Basic Info. Mon/Wed 11:00am-12:20pm. HOA (Hall of Arts) 160. Instructor: Nancy Pollard. See the course info page for more info on policies and logistics. Spring 2023 Schedule.

  16. UCSD CSE 167 Computer Graphics

    Course Description. Computer graphics is a field about processing ``visual data'', including images, videos, 2D and 3D shapes, light and reflection, motion, physical properties, and many more. Throughout the course, we will learn about: Modeling: How to describe and edit 2D and 3D shapes. Rendering: How to turn 2D and 3D shapes into images ...

  17. Stanford CS348C Computer Graphics: Animation and Simulation

    Description: Core mathematics and methods for computer animation and motion simulation. Traditional animation techniques. Physics-based simulation methods for modeling shape and motion: particle systems, constraints, rigid bodies, deformable models, collisions and contact, fluids, and fracture. Animating natural phenomena.

  18. CS 248: Interactive Computer Graphics

    Schedule This is a tentative schedule that is subject to change and most likely will change. Generally, there will be a homework assignment for each two weeks of class. In-class demos of games in progress will also be graded, so no homework is assigned in the week before the final presentations.

  19. Interactive Computer Graphics 7th Edition Textbook Solutions

    Access Interactive Computer Graphics 7th Edition solutions now. Our solutions are written by Chegg experts so you can be assured of the highest quality!

  20. 15-462/662 Fall 2020

    15-462/662 Fall 2020. (CMU 15-462/662) Tue/Thu 1:30-2:50pm. (Remote) Instructor: Keenan Crane. See the course info page for more info on policies and logistics. To get started with the class you need to do four things: Watch the welcome video. Sign up for the course Piazza.

  21. CS184/284A: Home

    8 Mesh Representations + Geometry Processing. Tue Feb 13. 9 Ray Tracing. Half Edges / Ray-Surface Intersection [Solutions] HW1 Due. HW2 Released. Thu Feb 15. 10 Ray Tracing - Acceleration Structures. HW2 Checkpoint Due.

  22. Computer Graphics : Spring 2024

    Spring 2024 Schedule. Jan 17. Introduction & The Graphics Pipeline. Assignment 0.0 OUT. Jan 22. Linear Algebra & Vector Calculus. Assignment 0.5 OUT. Jan 24. C++: A Programmer's Perspective.