Computer Graphics -Schneider -Spring 15

final: May 21 1:30 Room  Gillet 231


CMP 412: Computer Graphics.

4 hours, 4 credits. Techniques of producing graphical displays. Two-dimensional transformations. World vs. Screen coordinates. Line drawing algorithms. Clipping. Motion. Use of devices such as light pens, graphics tablets, and mouses. PREREQ: CMP 326. PRE- or COREQ: MAT 313.


CMP 767: Computer Graphics.

4 hours, 4 credits. Theory and applications of computer graphics. Graphics devices, line and circle drawing algorithms, two-dimensional transformations, clipping and windowing, interactive devices such as light pens and graphics tablets, three-dimensional graphics. PREREQ: A course in linear algebra and one year of programming in a high-level language.

Location and Time: Gillet 231(Thursdays) and Art 047 (Tuesdays); TTH 1:00-2:40 PM
Instructor: Robert Schneider
Conatct Info:
Grading Policy:
Course Objectives:

Accommodating Disabilities:

Resources and Idealized Course Outline (feedback necessary to adjust pace):
    I have lots of books on graphics that I can lend you. I will put some books on reserve.
    I will use notes from the following free online courses at MIT
computer graphics 6-837
Digital & Computational Photography 6.815/6.865
I will use the following software in my introduction and throughout the course.
Cinema 4d-- Note I have to work out the registration code procedure for a student license. We have one through Professor Ferraro and I am in the process of nailing down the details. In the meantime please use their demo product you can have for a month.
  • A major graphics package that I will use to demonstrate graphical concepts
  • you do not need to learn the software unless you wish to learn a portion as a project
  • there seems to be a free student version for you to use. We have full versions in the art department. If it takes a while to get student version you can download trial. Do soon.
  • I will use this package throughout the course to demonstrate concepts.
Photoshop
  • The major image processing software- massive
  • I will use this to illustrate the connection between image processing and graphics.
  • You can get a free 30 day trial but do not do this till you need it
  • We have full versions in the art department
Processing
01.29.2015 Overview and Introduction:
  • Models, Texture, Manipulation, Cameras,Lights (no action (animation) in introduction-- we have enough to cover).
  • Mathematical representation vs pictures on screen
  • Photography can create models 
    • Major active area of research to build models from enormous amount of cell hone photographs. May  be used in history, intelligence info, marketing ....
  • Introduction With Cinema 4d
  • Following notes -- made Feb 2
  • HW: Due Monday the 9th
    • In two dimensions :
      • Can you prove that rotate does not change the lengths of line segments
      • Can you prove that rotate and uniform scaling preserves the direction of a line
      • move is intuitively defined as picking a new point for one end of line segment and drawing a line segment in same direction and same length to original line segment so these are easy for move
      • What are you using as your definition of scale and rotate?
  • HW: Due Thur 26th (will add more)
    • You can move a line segment in cinema 4d by moving it in model mode or by moving it by moving both endpoints the same amount. Is there a difference?
    • Explain from our formula of a line and convexity why moving the endpoints by the same amount will move the line by that amount.
    • Show that moving the endpoints of a two point Bezier curve moves the curve.
  • Lecture Feb 19
  • Lecture Feb 24

  • Lecture March 5
  • Lecture March 10-- mit notes still but will give other links too
  • Lecture March 17--  cinema 4d with relation to math have been covering
    • I will give three tracks for midterm and final
      • Track 1 -- I will give a take-home set of computer graphics theory problems you should be able to do. The tests will cover those problems.
      • Track 2  -- You will be expected to show expertise in Photoshop and Cinema 4d and be able to explain the math concepts that are behind the operations. I will give you take-home problems to do in cinema 4d or photoshop. You will have similar problems to work on in class and will write short answers describing the mathematics behind the actions taken in cinema 4d (I will be doing this in class this week)
      • Track 3 --- Consulting with me pick  programming or theoretical projects to complete.
    • HW-- You may do any of the tracks for hw and chose a different one for tests.
      • Track 1
        • In plane calculate the P matrix for rotating the i and j vectors by 45 degrees to get new vectors i' , j'
        • Show that coordinates in i',j' are the old coordinates in i,j rotated by -45 degrees.
      • Track 2 , 3 -- demonstrate what happens in cinema 4d. Take screen shots to show new coordinates. You dont have to calculate things just show them with a good examples on the screen.
  • March 24: Lighting-- Materials
    • You might want to join Lynda.com and see with a free trial if can be helped. They have lessons on these concepts in cinema 4d-- This will help you understand the concepts and practical work. I will cover some subjects theoretically and those will be in lectures.
    • Recommended tutorials
    • Use of hdri imaging to light a scene
      • In R15 you can find the hdri files in 
        • content browser (side of object manager-- upper right window-->Presets-->Visualize---Materials-->HDRI
        • drag one into materials window
        • put it on sky object
        • will light your scene
  • March 26
    • ray hitting a plane
    • how to interpolate on triangle derived
  • March 31
  • April 29
    • Discussion of Gamma 
    • Second Program-- Due May 7: Make a Processing program that implements the part of the  levels command of Photoshop that lets you set what gets mapped to black and what gets mapped to white (will go over in class). Change it so that it does the inverse command.
    • Go over a Processing program that blackens out the image not in a given range of lightness values. This is still a point operation.
      • See that it is a little too fine grained and you might want a blurry picture.
      • Play with Gaussian average and then create light ranges
    • Masks and Convolution
      • work examples in photoshop-- do box function
      • intuition from calculus
      • gaussian average
        • do two d normalization





Next: Convolution

Next: HDR Imaging and Tone Mapping

Next: Detecting Features for Matching
  • Final
      • Will be asked to modify  Processing programs to do simple image processing. Bring in an image to work with.
        • could ask you to take two images and subtract one from other
        • could ask you to do the threshold command
        • could ask you to filter image with two gaussians (different standard deviation) and subtract one from another.
        • You may try to present how/why of  corner detection or homographies or how we decide which are the best 4 points to use when matching photos in lieu of a final


Next: Major subject will not cover -- Use techniques above (and more)to estimate camera position and object location from many photographs