Computer Graphics in Java

Computer Graphics in Java gives a unified, introductory treatment to two-dimensional and three-dimensional computer graphics concepts. Topics include anisotropic and isotropic mapping, applied geometry; homogeneous coordinate transforms, approximation theory; Bezier curves, Bernstien Basis Polynomials, Hermite Polynomials, B-Spline curve fitting. Rendering topics: z-buffer algorithm, painters algorithm, raytracing, texture mapping and advanced application programmer interfaces.

Text: Computer Graphics for Java Programmers by Ammeraal, Wiley, 1998
Text available from:
UB Bookstore or at:

Computer Usage:
Web and e-mail access are REQUIRED. You MUST have access to a computer with a Java compiler. MetroWerks CodeWarrior is strongly suggested. This product is in the book store and available for a low academic price (list price $495, student price $89.95).
Java Digital Signal Processing by D. Lyon and H. Rao, M&T Books, (c) 1997. Available from Prof. Lyon, UB Bookstore or AMAZON.COM:
Image Processing in Java by Douglas Lyon, Prentice Hall (c) 1999. Available from Prof. Lyon.
Java Source Book by Ed Anuff, The John Wiley and Sons, Inc., First Edition, (c)1996.
The Java Class Libraries, Second Edition, Volume 1 and Volume 2.
Volume 1 is by Chan and Lee, Volume 2 is by Chan Lee and Kramer.
Addison Wesley, 1998. Available from: UB Bookstore or Amazon:
How to Program Java by Deitel and Deitel, Prentice Hall, First Edition, (c) 1997.
Course Notes, as required, some are available on-line at or by purchase of copies.
To build upon the knowledge gained in CS410 and learn how to design research test-beds for distributed object-oriented computing on the web. Students will be exposed to a variety of modern Java programming topics.
Douglas Lyon, Professor of Computer Science and Engineering. E-mail:

Prerequisites by Topic:
1. Java programming experience (CS410 or equivalent)
2. Mathematical maturity (integral calculus and linear algebra)
3. Use of computer tools, including e-mail, browsers and compilation tools.
4. Data structures, priority queues, hashing etc. (CS 400 or equivalent)
Topics: (coverage will be altered to encompass the latest APIs)
Computer Graphics in Java
Prerequisite: CPE488D, or CS410 or Permission of the instructor.
Week 1: Elementary Concepts lines, coordinates and pixels. Anisotropic and Isotropic mapping modes. Entering simple geometries.
Week 2: Applied Geometry vectors, inner products, determinants vector products, 3-point orientation polygons, area computations in polygons, point in triangle, point in polygon, point on line, triangulation of polygons.
Week 3: Rotations and other transformations Matrix multiplication, linear transforms, inverse transformations and matrix inversion homogeneous coordinates, rotation about an arbitrary point, rotation about 3d coordinate axes, changing the coordinate system
Week 4: Classic algorithms Bezier curves, B-spline curve fitting, hermite polynomials, Berstien Basis functions.
Week 5: Perspective viewing transforms, perspective transform
Week 6: Hidden face elimination back-face culling, specification and representaiton of 3D objects, Painters' algorithm, Z-buffer algorithm
Week 7: Hidden-line elimination visibility test, holes and invisible line segments.
Week 8: Raytracing pin-hole camera, forward and backward raytracing shadow and illumination rays, reflection rays, transparency rays
Week 9: Recursive visibility surface physics, spatial aliasing, temporal aliasing anti-aliasing.
Week 10: Sampling Super-sampling, adaptive supersampling, stochastic raytracing, statistical supersampling
Week 11: Ray-object intersection and mapping ray-sphere intersection precision problems spherical inverse mapping ray-plane intersection
Week 12: standard inverse mappings inverse mapping for a circle, a cylinder and a cone
Week 13: Ray-surface intersections general ray-implicit surfaces, algebraic surfaces, Steiner quartic surface ray-quadric intersection, ray-paraboloid intersection, ray-hyperboloid intersection, ray-tori intersection
Week 14: Numerical methods and intersections Newton's method ray-superquadric intersection ray-blob intersection
Week 15: Light transport mechanisms specular reflection, diffuse reflection, specular transmission, algebraic transmission optics, Fresnel diffraction, Franhoufer diffraction