Print this page Share

Computer Graphics for Java Programmers, 2nd Edition

February 2007, ©2007
Computer Graphics for Java Programmers, 2nd Edition (EHEP000909) cover image
The book covers elementary concepts, from how to produce simple graphical objects using logical coordinates to producing filled regions. The book reinforces concepts with useful and simple examples, then progresses to applied geometry (vectors, polygons) and then onto how to perform rotations and other transformations of graphical objects.

In a logical progression of ideas, the reader is introduced to some of the classic graphics algorithms and finally to chapters which cover particular effects such as perspective drawings and hidden-face and hidden-line elimination.

The book also provides a host of ready-to-run programs and worked examples to illuminate general principles and geometric techniques for the creation of both 2D and 3D graphical objects.

See More


Chapter 1: Elementary Concepts.

1.1 Lines, Coordinates and Pixels.

1.2 The Boundaries of Filled Regions.

1.3 Logical Coordinates.

1.4 Anisotropic and Isotropic Mapping Modes.

1.5 Defining a Polygon by Using the Mouse.


Chapter 2: Applied Geometry.

2.1 Vectors.

2.2 Inner Product.

2.3 Determinants.

2.4 Vector Product.

2.5 The Orientation of Three Points.

2.6 Polygons.

2.7 The Area of a Polygon.

2.8 Point-in-Triangle Test.

2.9 Point-in-Polygon Test.

2.10 Point-on-Line Test.

2.11 Distance Between a Point and a Line.

2.12 Projection of a Point on a Line.

2.13 Triangulation of Polygons.


Chapter 3: Geometrical Transformations.

3.1 Matrix Multiplication.

3.2 Linear Transformations.

3.3 Translations.

3.4 Homogeneous Coordinates.

3.5 Inverse Transformations and Matrix Inversion.

3.6 Rotation About an Arbitrary Point.

3.7 Changing the Coordinate System.

3.8 Rotations About 3D Coordinate Axes.

3.9 Rotation About an Arbitrary Axis.


Chapter 4: Some Classic Algorithms.

4.1 Bresenham’s Algorithm for Line Drawing.

4.2 Doubling the Line-Drawing Speed.

4.3 Circles.

4.4 Cohen–Sutherland Line Clipping.

4.5 Sutherland–Hodgman Polygon Clipping.

4.6 B´ezier Curves.

4.7 B-Spline Curve Fitting.


Chapter 5: Perspective.

5.1 Introduction.

5.2 The Viewing Transformation.

5.3 The Perspective Transformation.

5.4 A Cube in Perspective.

5.5 Some Useful Classes.

5.6 A General Program for Wire-Frame Models.


Chapter 6: Hidden-Line Elimination.

6.1 Line Segments and Triangles.

6.2 Tests for Visibility.

6.3 Specification and Representation of 3D Objects.

6.4 Holes and Invisible Line Segments.

6.5 Individual Faces and Line Segments.

6.6 Automatic Generation of Object Specification.

6.7 Hidden-Line Elimination with HP-GL Output.

6.8 Implementation.


Chapter 7: Hidden-Face Elimination.

7.1 Back-Face Culling.

7.2 Coloring Individual Faces.

7.3 Painter’s Algorithm.

7.4 Z-Buffer Algorithm.


Chapter 8: Fractals.

8.1 Introduction.

8.2 Koch Curves.

8.3 String Grammars.

8.4 Mandelbrot and Julia Sets.


Appendix A – Linear Interpolation of 1/z.

Appendix B – A Note on Event Handling.

Appendix C – File Obj3D.java.

Appendix D – Class CvHLines.java.

Appendix E – Some Applications.

Appendix F – Hints and Solutions to Exercises.



See More
Leen Ammeraal is a retired lecturer of Hogeschool Utrecht, The Netherlands, where he was employed from 1977 to 1998. He has a degree (ir.) in mathematics at University of Technology Delft, The Netherlands. He worked as a programmer and mathematician at Akzo Research and Engineering, Arnhem, The Netherlands, from 1961 to 1972 and did research work on compilers from 1972 to 1977 at Mathematical Centre, Amsterdam. He wrote many books for Wiley (as well as for the Dutch publisher Academic Service). Some of his Wiley books have been translated into other languages (Japanese, Russian, Italian, French, German, Greek, Danish, Portuguese, Bulgarian).

Kang Zhang is a Professor in Computer Science and Director of Visual Computing Lab at the University of Texas at Dallas. He received his B.Eng. in Computer Engineering from the University of Electronic Science and Technology, China, in 1982; and Ph.D. from the University of Brighton, UK, in 1990. He held academic positions in the UK and Australia, prior to joining UTD. Zhang's current research interests are in the areas of visual languages, graphical visualization, and Web engineering; and has published over 130 papers in these areas. He has taught computer graphics and related subjects at both graduate and undergraduate levels for many years. Zhang was also an editor of two books on software visualization.

See More
  • More illustrative examples have been added throughout the book.
  • Chapter contents have been updated to reflect the authors' own teaching experience - so the book is optimised for use in the classroom.
  • An accompanying instructor’s manual is now available.
  • A new chapter on “Fractals and Self-Similarity” has been added.
  • A companion software package demonstrating the working of different algorithms and concepts has been added.
See More
  • Fundamental and mathematical concepts clearly explained and then implemented, to give students a full understanding of what they are learning.
  • A nuts-and-bolts guide to computer graphics with utility and algorithmic code provided.
  • Incremental approach to hands-on practice on graphics programming, building students' confidence.
  • Animated demonstration of many challenging concepts and graphics algorithms, keeping the more difficult material fresh and interesting.
See More
Instructors Resources
Wiley Instructor Companion Site
See More
See Less
Students Resources
Wiley Student Companion Site
See More
See Less
Purchase Options
Computer Graphics for Java Programmers, 2nd Edition
ISBN : 978-0-470-03160-5
396 pages
February 2007, ©2007
$70.95   BUY

Wiley E-Text   
Computer Graphics for Java Programmers, 2nd Edition
ISBN : 978-0-470-72648-8
386 pages
July 2011, ©2007
$70.95   BUY

Related Titles

Back to Top