159.235 Graphics - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

159.235 Graphics

Description:

Lecture 0/1 - The Outline & Overview. We have not exactly ... Ambient ( a hack) Diffuse (an approximation) Specular (another approximation) Hybrid ( a mix) ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 35
Provided by: KenHa98
Category:
Tags: graphics | hack

less

Transcript and Presenter's Notes

Title: 159.235 Graphics


1
159.235 Graphics Graphical Programming -
Review Lecture
2
Lecture 0/1 - The Outline Overview
  • We have not exactly stuck rigidly to this!
  • Java vs other Graphical Systems
  • Aim at covering graphics algorithms

3
Lecture 2 - Fundamentals
  • Computer Graphics Systems
  • Vector and Raster Graphics
  • Pixels
  • Coordinates
  • Colours

4
Lecture 3 - Drawing Primitives
  • Primitives - lines, rectangles and filling
  • Transforms - affine transforms
  • Scale, translate, shear etc
  • Built into the Graphics2D

5
Lectures 4,5,6,7,8,9 - Java
  • A Rapid Introduction to Java Programming
  • Java Development Kit 1.4 onwards

6
Lecture 10 - Data Models
  • Data to Render
  • Simulations
  • How do we get our program data in a form
    suitable to render?
  • Cellular automaton example
  • Now you have seen how to do this with triangles
    etc.

7
Lecture 11
  • Rasters and pixels
  • How does scanline work?

8
Lecture 12
  • Aliasing
  • And anti aliasing
  • Vector graphics vs pixels
  • Scalable graphics

9
Lecture 13 - Images Intro
  • Java Image BufferedImage
  • Image file formats
  • Internal representations
  • Off screen rendering to an image
  • Double (image) buffering

10
Lecture 14
  • Lines and circles
  • Effects of different drawing algorithms
  • Line
  • Circle
  • Parameterised equations for line etc

11
Lecture 15 - GUI
  • Graphical User Interfaces
  • Start of the story about Widgets
  • Of mice and men
  • Menus
  • Listeners

12
Lecture 16 - More GUI
  • Panels and other containers
  • Layout managers
  • Composing more complex layouts
  • Checkboxes and more listeners
  • The event model

13
Lecture 17 - Printing I/O
  • Print method and interface
  • File I/O in Java
  • Keyboard I/O raw (immediate) and cooked
    (buffered by newlines)

14
Lecture 18 - Threads
  • A brief look at elemental concurrency
  • Separate threads in the JVM for the AWT
  • Threads of your own

15
Lecture 19 - Intro to 3D
  • 2D Viewing
  • Parametric Equations
  • 3D Models
  • Projective Geometry
  • 3d Graphics Rendering and Voxels
  • Movies, games, and Virtual Reality
  • Polygons and scenegraphs

16
Lecture 20 - Polygons
  • Polygons and Triangles
  • Quadrilaterals and others
  • Convexity
  • Wireframes
  • Vertices and edges

17
Lecture 21 - Transforms
  • Scaling
  • Translation
  • Rotation
  • Homogeneous coordinates - 4d matrix vector
    maths trick to make all the above work as
    matrix multiplications (no matrix additions)
  • So we can compose transforms easily

18
Lecture 22 - More Transforms
  • Rotation about an arbitrary axis in 3D
  • Using our Homogeneous coordinate apparatus
    make this from the simpler transforms

19
Lecture 23 - 3D Viewing
  • Viewing
  • Clipping
  • Cohen and Sutherland and the outcodes
  • Deciding what part of the polygon is where
    and if we should see it or not

20
Lecture 24 - Projections
  • The 3D rendering pipeline
  • Viewing angles
  • What do we (should we) See?
  • The dreaded Normals!
  • (a utility vector that is perpendicular to a
    surface)
  • Use the dot product!

21
Lecture 25 - More Projections
  • Using the normals and other viewing angle info
    to distort (project) 3d onto a flat screen
  • Different spaces - world and object models
  • Projection space - pixels on the screen

22
Lecture 26 - Visible Surfaces
  • More games to play with Normals
  • Back face culling
  • Visible surface determination
  • Depth sorting ordering

23
Lecture 27 - Curves and Surfaces
  • Curves for interpolation
  • Hermite (control points include gradients)
  • Bezier - use spatial control points that
    determine the start and end gradients of a
    line

24
Lecture 28 - More Curves
  • Bezier Curves
  • How to make surfaces from curves
  • Splines and Interpolation

25
Lecture 29 - Colour and Light
  • Basics of colour and light
  • Approximations of the real physics

26
Lecture 30 - Phong Model
  • Phong equation for Lighting
  • Remember the different parts
  • Ambient ( a hack)
  • Diffuse (an approximation)
  • Specular (another approximation)
  • Hybrid ( a mix)

27
Lectures 31, 32, 33
  • Lighting and Illumination
  • Various levels of approximations to the
    lighting physics
  • Greater (but slower) realism

28
Lecture 34
  • Graphics file formats
  • and Markup languages

29
Textbook Review
  • The two main suggested books are
  • Computer Graphics Principles and Practice, James
    Foley, Andries van Dam, Steven Feiner and John
    Hughes, Addison-Wesley, Second Edition (in C with
    SRGP and SPHIGS) 1997, ISBN 0-201-84840-6.
  • Computer Graphics with OpenGL Donald Hearn and M.
    Pauline Baker, Third Edition, Prentice Hall 2004,
    ISBN 0-13-015390-7.
  • Possibly also useful
  • Java 2D Graphics by Johnathan Knudsen, Published
    by O'Reilly, ISBN 1-56592-484-3
  • And
  • The Essence of Computer Graphics by Peter Cooley,
    Published by Pearson, ISBN 0130-16283--3

30
159.235 Exam
  • 12th November (Afternoon)
  • Grading - 60 exam 40 Assignments
  • Assignment 1 - (20)
  • Assignment 2 - (20)

31
Exam Coverage
  • Questions mostly about concepts - calculators
    not needed.
  • Maybe ask you to compare and contrast two
    methods
  • Define terms, sketch output of a paint() code
  • Write or critique a (small) code fragment

32
Exam Preparation
  • Generally organise your notes, handouts and
    assignments. Read though all your material -
    what did you find difficult?
  • Test yourself on the material - review the
    example codes and try to understand them and
    write short codes of your own to test your
    ideas.
  • Try to finish your studying the day before the
    exam

33
At the Exam
  • Do not panic.
  • Read the exam questions well before you try to
    answer each part. Note the marks for each
    part.
  • Make sure you answer as much as you can but
    make sure you do get credit for the material you
    know well.
  • There will be six questions and you should
    answer them all.

34
Where Next?
  • See Web Pages for some links and pointers on
    what to look at if you plan to work more in
    Graphics.
  • Next - More ideas on Python graphics and also
    Blender
  • And see 159.709 for OpenGL
Write a Comment
User Comments (0)
About PowerShow.com