Skip to main content

CS 559 Spring 2019 Course Web

Course web for the Spring 2019 Computer Graphics Class

Changes to Office Hours

Now that we’ve seen the patterns of demands for office hours, we are going to change them a little to provide more hours at the busy times, and to hold them in a better location. This is a slight shift from the old schedule:

Monday, Thursday and Friday: 3-5pm – room 7331 Computer Sciences – at least one course staff member will be there.

Monday and Friday 12-1:30 – Harshall (in his Office, room 5283CS)

Wednesday 4-5 – Luke in his Office (1306CS)

Prof. Gleicher’s office hours (Tuesday 2:45-3:30 Mike (6385CS) (except 2/22, 3/26), and Wednesday 11-11:45, except 3/27 and 4/10) are unchanged.

Exam Details

The midterm exam will be on March 12th from 7:15-9:15pm in room 3650 Humanities.

For students who have requested an alternate exam situation: see this post. We expect to be able to accommodate the students who have notified us prior to March 1 in an alternate room. For students who have a class (ECE 317 (2 students), English 431 (1 student), CS 564 midterm (2 students)), we will allow you to take the exam from 8pm-10pm in the alternate room. For the McBurney accomodation request (1), we will have you in this same room with an earlier start time. More details are at see this post.

We will have limited space in the alternate room, and may not be able to accommodate students who have not already placed a request.

Exam Content Coverage:

All material covered prior to the exam:

  • Everything presented in lecture up to (and including) the lecture on Thursday, March 7th. The lecture on March 12th may review material already presented (and covered on the exam). However, new material in the March 12th lecture will not be covered on the exam.
  • Everything presented in Workbooks 1-6 (Workbook 6 has it’s “drop dead” date the day before the exam). Workbook 7 will not be covered on the exam.
  • All required readings referred to in the workbooks. This includes (but is not limited to):
    • Any content on the course web.
    • Tutorials from older editions of the class (e.g., Color, images vs. objects, pxiels, points and vectors, SVG tutorial).
    • Chapters 5, 6 and 7 of Hart
    • Chapters 6, 15 of Fundamentals of Computer Graphics
  • You were expected to read on your own to pick up key pieces of JavaScript and Web Programming, and to review Vector Algebra. The important parts were also discussed in lecture and/or the workbooks.

Exam Format

The exam will be multiple choice using University standard exam sheets. Please bring a #2 pencil and eraser. We will try to have extra pencils, but may not have enough. And we may not have erasers at all.

The exam is closed book and closed notes. You may not bring a “cheat sheet” or use an internet connected device during the exam. (that means you can’t use your phone).

The exam is designed so that you do not need a calculator.

Exam Non-Content

We do not expect you to memorize details. Of course, this is subjective – but our goal is to test that you know the concepts, not memorize the things you can look up. But some examples of things we will not ask you to remember:

  • equations for cubic forms – for example, you should know what a Hermite or Cardinal Spline is, and the geometric intuitions, but you if you need them, we’ll give you the equations for the parametric functions or basis functions
  • the parameter list of JavaScript, Canvas or THREE functions. For example, we don’t expect you to remember the order of the parameters, so if we show you the code new THREE.PerspectiveCamera(50, 1, 0.1, 1000 ); and remind you that the first parameter is the field of view, you should know what field of view does.

Exam Content List

Here is a brief outline of the course content (note: you are responsible for all covered material – we are trying to be complete in this outline, but might have missed something):

  • Distributed Source Control (GIT) Concepts
  • JavaScript and Programming Concepts (e.g., lexical scope, closures, lightweight objects)
  • Interaction models for web programming (event loops, animation loops)
  • Displays and display types
  • Buffering
  • Immediate mode vs. Retained-Mode / Scene-Graph API
  • Canvas basics (coordinate systems, state, stroke fill, paths)
  • Event models for Canvas vs. SVG
  • SVG concepts
  • Alpha blending
  • Coordinate Systems and Transforms
  • Immediate mode transformation systems (e.g. Canvas)
  • Hierarchical modeling and instancing
  • Transformations as changes of coordinate systems
  • Composition of transformations
  • Basic transformations (rotate, translate, scale, skew)
  • Rotations and articulated chains, Properties of rotations
  • Transformations as matrices
  • Vectors, Matrices, basic vector and matrix algebra
  • Linear transformations, Affine transformations, properties of affine transformations
  • Homogeneous coordinates and affine transformations
  • Use of matrices in immediate mode APIs
  • Flocking
  • Linear Interpolation
  • Polygons, filling rules
  • Curve concepts
  • Shape representations (implicit, subdivision, parametric)
  • Continuity
  • Piecewise polynomials (and interpolating polynomials)
  • Cubic Polynomials, Hermite Forms, Cardinal Splines, Matrix forms
  • Bezier Curves, Bezier Cubics, Geometric Constructions, Connecting pieces
  • Approximation of curves as line segments, adaptive subdivision
  • 3D coordinate systems
  • Triangles, Barycentric interpolation
  • Abstractions of the 3D graphics process (THREE)
  • Camera and Viewing
  • 3D affine transformations
  • Forms of 3D rotations
  • Basic concepts of shading
  • Any other things we get to in lecture on March 5 or 7

Alternate Exam Time and Place

If you have already arranged to take the alternate exam slot:

The alternate exam will be in room 1221 Computer Sciences.

For students receiving extra time, it will begin at 7pm. You must stay until 8:30. You will have until 10pm. A member of the teaching staff will be there by 6:45.

For students who had a conflict with the regular exam slot, the alternate exam will begin at 8pm. You will have until 10pm.

Note: only the students who have pre-arranged to take the alternate exam will be allowed to take the exam in Room 1221 CS. However, if you have not pre-arranged, there may be space for a few more people – please contact the Professor by email.

 

The Week in 559: Week 7 ( Mon, Mar 4 – Fri, Mar 8): Transformations in 3D

The weekly pattern keeps holding up – workbook, lectures. Next week we have the exam (but everything else stays as normal).

Week 7 ( Mon, Mar 4 – Fri, Mar 8): Transformations in 3D

Mon, Mar 4: Workbook 06: 3D with Three assigned
Tue, Mar 5: Lecture: 3D and Transformations
Thu, Mar 7: Lecture: Lights and Cameras
Fri, Mar 8: Workbook 06: 3D with Three due

The big difference is that now we are doing things in 3D using the three.js library. All that practice with JavaScript, transformations, and graphics programming in general will be helpful.

Grading Problem

We accidentally posted Workbook 3 grades to the Workbook 2 assignment in Canvas.

Fortunately, we caught this right away.

Workbook 3 grades should now be posted correctly.

We have re-posted your Workbook 2 grade (hopefully correctly).

The only issue is that if you look at your Workbook 2 grade comments you will see your workbook 3 grade comments (and extra copies of the workbook 2 grade comments).

Workbook 2 Grading Questions

A few questions have come up with Workbook 2 grades:

  1. For page 5, exercise 1: The intent was that whenever a circle is under the mouse it should change color. The example solution https://cs559.github.io/Workbook02-Solution/A02_p5.html does this. However, at least two people interpreted this as “if there is a click,” then change color. The graders did not consider this a correct answer. However, we can see how a student might read the assignment differently than we did. If you had this interpretation, and you believe that your code works correctly, and you lost the 1/2 point for not having circles change color, send a private message on Piazza and we will re-evaluate. Please do this before Friday 3/1.
  2. Students still seem confused about the bonus points. Please read https://pages.graphics.cs.wisc.edu/559-sp19//2019/02/12/clarification-on-bonus-points/. We keep track of the bonus points you earned (they are listed at the end of the grading description), but they do not change your grade for this assignment. If you collect sufficient bonus points over the semester we will raise your overall workbooks score.

Mistake in Workbook 5

A student pointed out that in the original version of Workbook 5, what I said was a 5, 12, 13 triangle really was a 25,120, sqrt(25^2+120^2) triangle. Sorry about that. I have fixed it.

If you did your import after about 10pm on Monday, you will not see this problem – I have fixed it.

If you imported workbook 5 before about 10pm Monday, you will see this problem.

If you have the broken version you can:

1. either copy or pull a new version of 4-arclength.html and 4-arclength.js from https://github.com/CS559/Workbook05-19-Master

2. edit the files as follows:

change the line in 4-arclength.html so that the “arcex” canvas has height 140 (not 90)
change lines 102 and 103 in arclength.js to be 10+50 for y (instead of 10+25)
change lines 130 and 131 in arclength.js to be 10+50 for y (instead of 10+25)

(warning: there was initially a typo – it is 10+50 not 10+10).

or

3. just solve the problem for the shorter triangle.