Ammeraal, L.

Computer graphics for Java programmers / Leen Ammeraal, Kang Zhang. - 2nd ed. - New Delhi : John Wiley & Sons, 2007 - x, 376 p. ill. (some col.) ; 24 cm.

Includes bibliographical references (p. [371]-372) and index.

Preface ix
1 elementary concepts 3
1.1 lines, coordinates and pixels 3
1.2 the boundaries of filled regions 8
1.3 logical coordinates 9
1.4 anisotropic and isotropic mapping modes 15
1.5 defining a polygon by using the mouse 23
Exercises 28
2 applied geometry 32
2.1 vectors 32
2.2 inner product 34
2.3 determinants 35
2.4 vector product 38
2.5 the orientation of three points 39
2.6 polygons 43
2.7 the area of a polygon 44
2.8 point-in-triangle test 46
2.9 point-in-polygon test 47
2.10 point-on-line test 49
2.11 distance between a point and a line 52
2.12 projection of a point on a line 53
2.13 triangulation of polygons 55
Exercises 61
3 geometrical transformations 64
3.1 matrix multiplication 64
3.2 linear transformations 65
3.3 translations 72
3.4 homogeneous coordinates 72
3.5 inverse transformations and matrix inversion 73
3.6 rotation about an arbitrary point 75
3.7 changing the coordinate system 80
3.8 rotations about 3d coordinate axes 81
3.9 rotation about an arbitrary axis 82
Exercises 91
4 some classic algorithms 93
4.1 bresenham's algorithm for line drawing 93
4.2 doubling the line-drawing speed 98
4.3 circles 104
4.4 cohen-sutherland line clipping 109
4.5 sutherland-hodgman polygon clipping 115
4.6 b¿zier curves 121
4.7 b-spline curve fitting 132
Exercises 138
5 perspective 141
5.1 introduction 141
5.2 the viewing transformation 143
5.3 the perspective transformation 148
5.4 a cube in perspective 151
5.5 some useful classes 154
5.6 a general program for wire-frame models 170
Exercises 176
6 hidden-line elimination 177
6.1 line segments and triangles 177
6.2 tests for visibility 179
6.3 specification and representation of 3d objects 191
6.4 holes and invisible line segments 192
6.5 individual faces and line segments 195
6.6 automatic generation of object specification 184
6.7 hidden-line elimination with hp-gl output 193
6.8 implementation 195
Exercises 199
7 hidden-face elimination 205
7.1 back-face culling 205
7.2 coloring individual faces 210
7.3 painter's algorithm 211
7.4 z-buffer algorithm 219
Exercises 232
8 fractals 234
8.1 introduction 234
8.2 koch curves 235
8.3 string grammars 239
8.4. Mandelbrot and julia sets 250
Exercises 262
Appendix a linear interpolation of 1/z 263
Appendix b a note on event handling 266
Appendix c file obj3d.java 270
Appendix d class cvhlines.java 276
Appendix e some applications 284
E.1 platonic solids 284
E.2 sphere representations 295
E.3 a torus 302
E.4 beams in a spiral 306
E.5 functions of two variables 309
Appendix f hints and solutions to exercises 320
Bibliography 348


9788126512898


Computer graphics.
Java (Computer program language)

006.663 / A518