Computer Graphics for Java Programmers, 2/e (Paperback)
暫譯: Java 程式設計師的電腦圖形學(第二版)

Leen Ammeraal, Kang Zhang

  • 出版商: Wiley
  • 出版日期: 2007-03-01
  • 售價: $2,970
  • 貴賓價: 9.5$2,822
  • 語言: 英文
  • 頁數: 396
  • 裝訂: Paperback
  • ISBN: 0470031603
  • ISBN-13: 9780470031605
  • 相關分類: Java 程式語言Computer Graphics
  • 已絕版

買這商品的人也買了...

相關主題

商品描述

Description

A great many varied and interesting visual effects can be achieved with computer graphics, for which a fundamental understanding of the underlying mathematical concepts – and a knowledge of how they can be implemented in a particular programming language – is essential.

Computer Graphics for Java Programmers, 2nd edition covers elementary concepts in creating and manipulating 2D and 3D graphical objects, covering topics from classic graphics algorithms to perspective drawings and hidden-line elimination. 

Completely revised and updated throughout, the second edition of this highly popular textbook contains a host of ready-to-run-programs and worked examples, illuminating general principles and geometric techniques. Ideal for classroom use or self-study, it provides a perfect foundation for programming computer graphics using Java.

Table of Contents
Preface.

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.

Exercises.

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.

Exercises.

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.

Exercises.

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.

Exercises.

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.

Exercises.

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.

Exercises.

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.

Exercises.

Chapter 8: Fractals.

8.1 Introduction.

8.2 Koch Curves.

8.3 String Grammars.

8.4 Mandelbrot and Julia Sets.

Exercises.

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.

Bibliography.

Index.

商品描述(中文翻譯)

描述

計算機圖形學可以實現許多多樣且有趣的視覺效果,因此對於其背後的數學概念有基本的理解,以及如何在特定的程式語言中實現這些概念的知識是必不可少的。
《Computer Graphics for Java Programmers, 2nd edition》涵蓋了創建和操作2D及3D圖形物件的基本概念,內容包括從經典圖形演算法到透視圖和隱藏線消除的主題。
本書的第二版經過全面修訂和更新,包含大量可直接運行的程式和範例,闡明了通用原則和幾何技術。非常適合用於課堂教學或自學,為使用Java進行計算機圖形編程提供了完美的基礎。

目錄

前言
第一章:基本概念
1.1 線條、座標和像素
1.2 填充區域的邊界
1.3 邏輯座標
1.4 各向異性和各向同性映射模式
1.5 使用滑鼠定義多邊形
練習

第二章:應用幾何
2.1 向量
2.2 內積
2.3 行列式
2.4 向量積
2.5 三點的方向
2.6 多邊形
2.7 多邊形的面積
2.8 點在三角形內的測試
2.9 點在多邊形內的測試
2.10 點在直線上的測試
2.11 點與直線之間的距離
2.12 點在直線上的投影
2.13 多邊形的三角剖分
練習

第三章:幾何變換
3.1 矩陣乘法
3.2 線性變換
3.3 平移
3.4 齊次座標
3.5 反向變換和矩陣反演
3.6 圍繞任意點的旋轉
3.7 改變座標系
3.8 圍繞3D坐標軸的旋轉
3.9 圍繞任意軸的旋轉
練習

第四章:一些經典演算法
4.1 Bresenham的直線繪製演算法
4.2 加倍直線繪製速度
4.3 圓形
4.4 Cohen–Sutherland線裁剪
4.5 Sutherland–Hodgman多邊形裁剪
4.6 Bézier曲線
4.7 B-Spline曲線擬合
練習

第五章:透視
5.1 介紹
5.2 觀察變換
5.3 透視變換
5.4 透視中的立方體
5.5 一些有用的類別
5.6 一個通用的線框模型程式
練習

第六章:隱藏線消除
6.1 線段和三角形
6.2 可見性測試
6.3 3D物件的規範和表示
6.4 孔和不可見的線段
6.5 單個面和線段
6.6 自動生成物件規範
6.7 使用HP-GL輸出的隱藏線消除
6.8 實現
練習

第七章:隱藏面消除
7.1 背面剔除
7.2 為單個面著色
7.3 畫家演算法
7.4 Z-緩衝演算法
練習

第八章:分形
8.1 介紹
8.2 Koch曲線
8.3 字串文法
8.4 曼德布羅特集和朱莉亞集
練習

附錄A – 1/z的線性插值
附錄B – 事件處理的說明
附錄C – 檔案Obj3D.java
附錄D – 類別CvHLines.java
附錄E – 一些應用
附錄F – 練習的提示和解答
參考文獻
索引