注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络图形图像、多媒体、网页制作综合计算机图形学(OpenGL版)

计算机图形学(OpenGL版)

计算机图形学(OpenGL版)

定 价:¥95.00

作 者: (美)F.S.Hill,Jr.著
出版社: 科学出版社
丛编项: 世界著名大学核心教材
标 签: 图形学

ISBN: 9787030124999 出版时间: 2004-01-01 包装: 平装
开本: 23cm 页数: 922 字数:  

内容简介

  本书介绍了计算机图形学的原理和主要技术,并以涉及学生和职业人士在网上天天见到的和计算机合成电影的艺术级的图形为例。作者用完整的、综合的手法,写出饿实用性强而又容易理解的内容,它们都是经过精心选择的,优先数学解析,而且重要的概念都加以突出强调。<br>本书引导读者如何将数学转化为程序代码并显示效果。本书内容涵盖了计算机图形领域的最新信息。可作为计算机专业的本科生、研究生教材及相关专业、相关人员的参考用书。

作者简介

暂缺《计算机图形学(OpenGL版)》作者简介

图书目录

Preface
1 Introduction to Computer Graphics
1.1 What is Computer Graphics?
1.2 Where Computer Generated Pictures are Used
1.2.1 Art,Entertainment,and Publishing
1.2.2 Computer Graphics and Image Processing
1.2.3 Monitoring a Process
1.2.4 Displaying Simulations
1.2.5 Computer-aided Design
1.2.6 Scientific Analysis and Visualization
1.3 Elements of Pictures created in Computer Graphics
1.3.1 Polylines
1.3.2 Text
1.3.3 Filled Regions
1.3.4 Raster Images
1.3.5 Representation of Gray Shades and Color for Raster Graphics
1.4 Graphics Display Devices
1.4.1 Line Drawing Displays
1.4.2 Raster displays
1.4.3 Indexed Color and the LUT
1.4.4 Other Raster Display Devices
1.4.5 Hard Copy Raster Devices
1.5 Graphics Input Primitives and Devices
1.5.1 Types of Input Graphics Primitives
1.5.2 Types of Physical Input Devices
1.6 Summary
1.7 Further Reading
2 Getting Started Drawing Figures
2.1 Getting Started Making Pictures
2.1.1 Device-independent Programming,and OpenGL
2.1.2 Windows-based Programming
2.1.3 Opening a Windows for Drawing
2.2 Drawing Basic Graphics Primitives
2.2.1 Examples of Drawing Dot Constellations
2.3 Making Line Drawings
2.3.1 Drawing Polylines and Polygons
2.3.2 Line Drawing using moveto() and lineto()
2.3.3 Drawing Aligned Rectangles
2.3.4 Aspect Ration of an Aligned Rectangle
2.3.5 Filling Polygons
2.3.6 Other Graphics Primitives in OpenGL
2.4 Simple Interaction with the Mouse and Keyboard
2.4.1 Mouse Interaction
2.4.2 Keyboard Interaction
2.5 Summary
2.6 Case Studies
Case Study 2.1 Pseudorandom Clouds of Dots
Case Study 2.2 Introduction to Iterated Function Systems
Case Study 2.3 The Golden Ratio and Other Jewels
Case Study 2.4 Building and Using Polyline Files
Case Study 2.5 Stippling of Lines and Polygons
Case Study 2.6 Polyline Editior
Case Study 2.7 Building and Running Mazes
2.7 Further Reading
3 More Drawing Tools
3.1 Introduction
3.2 World Windows and Viewports
3.2.1 The Mapping from the Windows to the Viewport
3.2.2 Setting the Windows and Viewport Automatically
3.3 Clipping Lines
3.3.1 Clipping a Line
3.3.2 The Cohen-Sutherland Cipping Algorithm
3.4 Developing the Canvas Class
3.4.1 Some useful Supporting Classes
3.4.2 Declaration of Class Canvas
3.4.3 Implementation of Class Canvas
3.5 Relative Drawing
3.5.1 Developing moveRel() and lineRel()
3.5.2 TurleGraphics
3.6 Figures Based on Regular Polygons
3.6.1 The Regular Polygons
3.6.2 Variations on n-Gons
3.7 Drawing Circles and Arcs
3.7.1 Drawing arcs
3.8 Using the Parametric Form of a Curve
3.8.1 Parametric Forms for Curves
3.8.2 Drawing Curves Represented Parametrically
3.8.3 Superellipses
3.8.4 Polar Coordinate Shapes
3.8.5 3D Curves
3.9 Summary
3.10 Case Studies
Case Study 3.1 Studying the Logistic Map and Simulation of Chaos
Case Study 3.2 Implementation of the Cohen-Sutherland Clipper in C/C++
Case Study 3.3 Implementing Canvas for Turbo C++
Case Study 3.4 Drawing Arches
Case Study 3.5 Some Figures Used in Physics and Engineering
Case Study 3.6 Tilings
Case Study 3.7 Playful Variations on a Theme
Case Study 3.8 Circles Rolling around Circles
Case Study 3.9 Superellipses
3.11 Further Reading
4 Vector Tools for Graphics
4.1 Introduction
4.2 Review of Vectors
4.2.1 Operations with Vectors
4.2.2 Linear combinations of Vectors
4.2.3 The Magnitude of a Vector,and Unit Vectors
4.3 The Dot Product
4.3.1 Properties of the Dot Product
4.3.2 The Angle Between two Vectors
4.3.3 The Sign of b-c;Perpendicularity
4.3.4 The 2D“Perp”Vector
4.3.5 Orthogonal Projections,and the Distance from a Point to a Line
4.3.6 Applications of Projection:Reflections
4.4 The Cross Product of Two Vectors
4.4.1 Geometric Interpretation of the Cross Product
4.4.2 Finding the Normal to a Plane
4.5 Representations of Key Geometric Objects
4.5.1 Coordinate Systems and Coordinate Frames
4.5.2 Affine Combinations of Points
4.5.3 Linear Interpolation of Two Points
4.5.4 “Tweening”for Art and Animation
4.5.5 Preview:Quadratic and Cubic Tweening,and Bezier Curves
4.5.6 Representing Lines and Planes
4.6 Finding the Intersection of Two Line Segments
4.6.1 Application of Line Intersections:the Circle Through Three Points
4.7 Intersections of Lines with Planes,and Clipping
4.8 Polygon Intersection Problems
4.8.1 Working with Convex Polygons and Clipping
4.8.2 Polygon Intersections and Clipping for Convex Polygons
4.8.3 The Cyrus-Beck Clipping Algorithm
4.8.4 Clipping against Arbitrary Polygons
4.8.5 More Advanced Clipping
4.9 Summary
4.10 Case Studies
Case Study 4.1 Animation with Tweening
Case Study 4.2 Circles Galore
Case Study 4.3 Is point Q inside Polygon P?
Case Study 4.4 Reflections in a Chamber(2D Ray Tracing)
Case Study 4.5 Cyrus-Beck Clipping
Case Study 4.6 Clipping a Polygon Against a Convex Polygon:Sutherland-Hodgman Clipping
Case Study 4.7 Clipping a Polygon against another:Weiler Atherton Clipping
Case Study 4.8 Boolean Operations on Polygons
4.11 Further Reading
5 Transformations of Objects
5.1 Introduction
5.2 Introduction to Transformations
5.2.1 Transforming Points and Objects
5.2.2 The Affine Transformations
5.2.3 Geometric Effects of elementary 2D Affine Transformations
5.2.4 The Inverse of an Affine Transformation
5.2.5 Composing Affine Transformations
5.2.6 Examples of Composing 2D Transformations
5.2.7 Some Useful Properties of Affine Transformations
5.3 3D Affine Transformations
5.3.1 The Elementary 3D Transformations
5.3.2 Composing 3D Affine Transformatios
5.3.3 Combining Rotations
5.3.4 Summary of Properties of 3D Affine Transformations
5.4 Changing Coordinate Systems
5.5 Using Affine Transformations in a Program
5.5.1 Saving the CT for Late Use
5.6 Drawing 3D Scenes with OpenGL
5.6.1 An Overview of the Viewing Process and the Graphics Pipeline
5.6.2 Some OpenGL tools for Modeling and Viewing
5.6.3 Drawing Elementary Shapes Provided by OpenGL
5.6.4 Reding a Scene Description from a file
5.7 Summary
5.8 Case Studies
Case Study 5.1 Doing Your Own Transforming by the CT in Canvas
Case Study 5.2 Draw the Star of Fig 5.39 Using Multiple Rotations
Case Study 5.3 Decomposing a 2D Affine Transformation
Case Study 5.4 Generalized 3D Shears
Case Study 5.5 Rotation About an Axis:the Constructive Approach
Case Study 5.6 Decomposing 3D Affine Transformations
Case Study 5.7 Drawing 3D Scenes Described by SDL
5.9 Further Reading
6 Modeling Shapes with Polygonal Meshes
6.1 Introduction
6.2 Introduction to Solid Modeling with Polygonal Meshes
6.2.1 Defining a Polygonal Mesh
6.2.2 Finding the Normal Vectors
6.2.3 Properties of Meshes
6.2.4 Mesh Models for Nonsolid Objects
6.2.5 Working with Meshes in a Program
6.3 Polyhedra
6.3.1 Prisms and Antiprisms
6.3.2 The Platonic Solids
6.3.3 Other Interesting Polyhedra
6.4 Extruded Shapes
6.4.1 Creating Prisms
6.4.2 Arrays of Extruded Prisms:“Bricklaying”
6.4.3 Extrusions with a “Twist”
6.4.4 Building Segmented Extrusion:Tubes and Snakes
6.4.5 “Discretely”Swept surfaces of Revolution
6.5 Mesh Approximations to Smooth Objects
6.5.1 Representations for Surfaces
6.5.2 The Normal Vector to a Surface
6.5.3 The Effect of an Affine Transformation
6.5.4 Three“Generic”Shapes:the Sphere,Cylinder,and Cone
6.5.5 Forming a Polygonal Mesh for a Curved Surface
6.5.6 Ruled Surfaces
6.5.7 Surfaces of Revolution
6.5.8 The Quadric Surfaces
6.5.9 The Superquadrics
6.5.10 Tubes Based on 3D Curves
6.5.11 Surfaces Based on Explicit Functions of Two Variables
6.6 Summary
6.7 Case Studies
Case Study 6.1 Meshes Stored in Files
Case Study 6.2 Derivation of the Newell Method
Case Study 6.3 The Prism
Case Study 6.4 Prism Arrays and Extruded Quad-strips
Case Study 6.5 Tubes and Snakes Based on a Parametric Curve
Case Study 6.6 Building Discrete-Stepped Surfaces of Revolution
Case Study 6.7 On Edge lists and Wire-frame Models
Case Study 6.8 Vaulted Ceilings
Case Study 6.9 On Platonic Solids
Case Study 6.10 On Archimedian Solids
Case Study 6.11 Algebraic Form for the quadric Surfaces
Case Study 6.12 Superquadric Scenes
Case Study 6.13 Drawing Smooth parametric Surfaces
Case Study 6.14 Taper,Twist,Bend,and Squash It
6.8 Further Reading
7 Three-Dimensional Viewing
7.1 Introduction
7.2 The Camera Revisited
7.2.1 Setting the View Volume
7.2.2 Positioning and Pointing the Camera
7.3 Building a Camera in a Program
7.3.1 “Flying”the Camera
7.4 Perspective Projections of 3D Objects
7.4.1 Perspective Projection of a Point
7.4.2 Perspective Projection of a Line
7.4.3 Incorporating Perspective in the Graphics Pipeline
7.5 Producing Stereo Views
7.6 Taxonomy of Projections
7.6.1 One-,Two-,and Three-Point Perspective
7.6.2 Types of Parallel Projections
7.7 Summary
7.8 Case Studies
Case Study 7.1 Flying a Camera through a Scene
Case Study 7.2 Stereo Views
Case Study 7.3 Creating Parallel Projections
Case Study 7.4 Do-it-yourself Viewing(As if OpenGL were Not Available)
Case Study 7.5 Removal of Back Face for Greater Efficiency
7.9 Further Reading
8 Rendering Faces for Visual Realism
8.1 Introduction
8.2 Introduction to Shading Models
8.2.1 Geometric Ingredients for Finding Reflected Light
8.2.2 Computing the Diffuse Component
8.2.3 Specular Reflection
8.2.4 The Role of Ambinent Light
8.2.5 Combining Light Contributions
8.2.6 Adding Color
8.2.7 Shading and the Graphics Pipeline
8.2.8 Using Light Sources in OpenGL
8.2.9 Working with Material Properties in OpenGL
8.2.10 Shading of Scenes Specified by SDL
8.3 Flat shading and Smooth shading
8.3.1 Flat Shading
8.3.2 Smooth shading
8.4 Removing Hidden Surfaces
8.4.1 The Depth Buffer Approach
8.5 Adding Texture to Faces
8.5.1 Pasting the Texture onto a Flat Surface
8.5.2 Rendering the Texture
8.5.3 What Does a Texture Modulate?
8.5.4 A Texture Example Using OpenGL
8.5.5 Wrapping Texture on Curved Surfaces
8.5.6 Reflection Mapping
8.6 Adding Shadows of Objects
8.6.1 Shadows as Texture
8.6.2 Creating Shadows with the Use of a Shadow Buffer
8.7 Summary
8.8 Case Studies
Case Study 8.1 Creating Shaded Objects using OpenGL
Case Study 8.2 The Do-it-Yourself Graphics Pipeline
Case Study 8.3 Add Polygon Fill and Depth-Buffer Removal of Hidden Sufaces
Case Study 8.4 Rendering Texture
Case Study 8.5 Applying Procedural 3D Textures
Case Study 8.6 Drawing Shadows
Case Study 8.7 Extending SDL to Include Texturing
8.9 Further Reading
9 Approaches to Infinity
9.1 Introduction
9.2 Fractals and Self-Similarity
9.2.1 Successive Refinement of Curves
9.2.2 Drawing Koch Curves and Snowflakes
9.2.3 Fractional Dimension
9.3 String Production and Peano Curves
9.3.2 Procucing Recursively and Drawing in a Program
9.3.3 Allowing Branching
9.4 Tiling the Plane
9.4.1 Monohedral Tilings
9.4.2 dihedral Tilings
9.4.3 Drawing Tilings
9.4.4 Reptiles
9.5 Creating an Image by Means of Iterated Functions Systems
9.5.1 An Experimental Copier
9.5.2 Some Underlying theory of the Copying Process
9.5.3 Drawing the k-th Iterate
9.5.4 The Chaos Game
9.5.5 Finding the IFS,Fractal Image Compression
9.6 The Mandelbrot Set
9.6.1 Mandelbrot Sets and Iterated Functions Systems
9.6.2 Defining the Mandelbrot Set
9.6.3 Computing whether the point c is in the Mandelbrot Set
9.6.4 Drawing the Mandelbrot Set
9.6.5 Some Notes on the Mandelbrot Set
9.7 Julia Sets
9.7.1 The Filled-in Julia Set Kc
9.7.2 Drawing Filled-in Julia Sets
9.7.3 Some Notes on Fixed points and Basins of Attraction
9.7.4 The Julia Set Jc
9.8 Random Fractals
9.8.1 Fractalizing a Segment
9.8.2 Controlling the Spectral Density of the Fractal Curve
9.9 Summary
9.10 Case Studies
Case Study 9.1 Drawing String Productions
Case Study 9.2 Drawing Snowflakes and Reptiles
Case Study 9.3 Playing the Chaos Game
Case Study 9.4 Drawing Orbits in the Mandelbrot Set
Case Study 9.5 Creating Pictures of the Mandelbrot Set
Case Study 9.6 Creating Pictures of Julia Sets
Case Study 9.7 Nonperiodic Tilings;Penrose Tiles
Case Study 9.8 Fractalizing Curves
Case Study 9.9 Modeling Fractalized Mountains
9.11 Further Reading
10 Tools for Raster Displays
10.1 Introduction
10.2 Manipulating Pixmaps
10.2.1 Operations of Interest for Pixmaps
10.2.2 Useful Data Types for Pixmaps
10.2.3 Scaling and Rotating Images
10.3 Combining Pixmaps
10.3.1 The Read-Modify-Write Cycle
10.3.2 The Alpha Channel and Image Blending
10.3.3 Logical Combinations of Pixmaps
10.3.4 The BitBlt operation
10.4 Do-It-Yourself Line Drawing:Bresenham's Algorithm
10.4.1 Bresenham's Line-Drawing:Bresenham's Algorithm
10.5 Bresenham's Line-Drawing Algorithm
10.5.1 Defining and Filling Regions of Pixels
10.5.2 Defining Regions
10.5.3 Pixel-Defined Regions
10.5.4 A Recursive Flood-Fill Algorithm
10.5.5 Filling Regions with Patterns
10.6 Manipulating Symbolically Defined Regions
10.6.1 Rectangle-defined Regions
10.6.2 Path-defined Regions
10.7 Filing Polygon-Defined Regions
10.7.1 Which Pixels on an Edge Belong to a Polygon?
10.7.2 Improving the Algorithm's Performance
10.8 Aliasing;Antialiasing Techniques
10.8.1 Antialiasing Techniques
10.8.2 Antialiasing of Texture
10.8.3 Antialiasing Using OpenGL
10.9 Creating More Shades and Colors
10.9.1 Ordered Dither
10.9.2 Error Diffusion
10.10 Summary
10.11 Case Studies
Case Study 10.1 Reading and Displaying BMP Image Files
Case Study 10.2 Dissolving Between Two Pixmaps with OpenGL
Case Study 10.3 Region Filling Based on Runs
Case Study 10.4 Working with the“Shape”Data Structure
Case Study 10.5 Chain Coding of Shapes
Case Study 10.6 Filling“Horizontally Convex”Polygons
Case Study 10.7 General Polygon Filling
Case Study 10.8 Error Diffusion
10.12 Further Reading
11 Curve and Surface Design
11.1 Introduction
11.1.1 Parametric Curves as Trajectories
11.1.2 Smoothness of Motion
11.2 Describing Curves by Means of Polynomials
11.3 On Interactive Curve Design
11.4 Bezier Curves for Curve Design
11.4.1 The de Casteljau Algorithm
11.5 Properties of Bezier Curves
11.6 Finding Better Blending Functions
11.6.1 The Problem of Local Control
11.6.2 Wish List for a Set of Blending Functions
11.6.3 Piecewise Polynomial Curves and Splines
11.6.4 Building a set of Bending Functions Out of g(t)
11.6.5 Spline Curves and Basis Functions
11.7 The B-Spline Basis Functions
11.7.1 Definition of B-Spline Functions
11.7.2 Using Multiple Knots in the Knot Vector
11.7.3 Open B-Spline Curves:Standard Knot Vector
11.8 Useful Properties of B-Spline Curves for Design
11.8.1 Using Multiple Control Points
11.9 Rational Splines and NURBS Curves
11.10 A Glimpse at Interpolation
11.10.1 Interpolation Using Piecewise Cubic Polynomials
11.10.2 Hermite Interpolation
11.10.3 The Natural Cubic Spline
11.10.4 Computing the Slopes in Cubic Interpolation
11.10.5 Specifying the Tangent Vectors Interactively
11.11 Modeling Curved Surfaces
11.11.1 Ruled Surfaces Based on B-Splines
11.11.2 Surfaces of Revolution Based on B-Splines
11.11.3 Bezier Surface Patches
11.11.4 Patching Together Bezier Patches
11.11.5 B-Spline Patches
11.11.6 NURBS Surfaces
11.12 Summary
11.13 Case Studies
Case Study 11.1 A Potpourri of Interesting parametric Curves
Case Study 11.2 ElliptiPool
Case Study 11.3 Bezier Curves
Case Study 11.4 A Quadratic Spline-Curve Generator
Case Study 11.5 Building a Spline-Curve Editor
Case Study 11.6 Interpolation of Control Points with B-Splines
Case Study 11.7 Interpolating with Cubic Polynomials
Case Study 11.8 The Venerable Teapot
Case Study 11.9 Invariance to Projective Transformations
Case Study 11.10 Drawing NURBS Patches
11.14 Further Reading
12 Color Theory
12.1 Introduction
12.2 Describing Colors
12.2.1 Dominant wavelength
12.2.2 Color Matching
12.3 The International Commission on Illumination Standard
12.3.1 Constructing the CIE Chart
12.3.2 Using the CIE Chromaticity Diagram
12.3.3 Color Gamuts
12.4 Color Spaces
12.4.1 The RGB and CMY Color Spaces
12.4.2 Additive and Subtractive Color Systems
12.4.3 The HLS Color Model
12.5 Color Quantization
12.5.1 Uniform Quantization
12.5.2 The Popularity Algorithm
12.5.3 The Median-cut Algorithm
12.5.4 Octree Quantization
12.6 Summary
12.7 Chapter Exercises
12.8 Case Studies
Case Study 12.1 Drawing the CIE Chart
Case Study 12.2 Drawing RGB Space
Case Study 12.3 HSV to RGB
Case Study 12.4 Uniform Color Quantization
Case Study 12.5 Popularity Color Quantization
Case Study 12.6 Median Cut Color Quantization
Case Study 12.7 Octree Color Quantization
12.9 Further Reading
13 Hidden Surface Removal
13.1 Introduction
13.1.2 Object Precision versus Image Precision Approaches
13.1.3 Description of the Polygon Mesh Data
13.2 The Depth Buffer Algorithm Revisited
13.3 List Priority HSR Methods
13.3.1 The Heedless Painter's Algorithm
13.3.2 HSR Using Binary Space Parition Trees
13.3.3 The Depth Sort Algorithm
13.4 A Scan-Line HSR Method
13.5 Area Subdivision Approaches
13.5.1 Quadrant Subdivision
13.5.2 Other Definitions of a Simple Region
13.6 On Hidden Line Removal Methods
13.6.1 The Geometric Testing in edgeTest()
13.7 HSR Methods for Curved Surfaces
13.8 Summary
13.9 Case Studies
Csae Study 13.1 Testing the Painter's Algorithm
Csae Study 13.2 Test and Split
Csae Study 13.3 Using BSP Trees for HSR
Csae Study 13.4 Using Depth Sorting for HSR
Csae Study 13.5 Working with a Scan-Line HSR Approach
Csae Study 13.6 Drawing with the Warnock Algorithm
Csae Study 13.7 The Edge Stack Algorithm for HLR
13.10 Further Reading
14 Ray Tracing
14.1 Introduction
14.2 Setting Up the Geometry of Gay Tracing
14.3 Overview of the Ray-Tracing Process
14.4 Intersection of a Ray with an Object
14.4.1 Intersection of a Ray with a Generic Plane
14.4.2 Intersection with a Generic Sphere
14.4.3 Intersection of the Ray with Transformed Objects
14.5 Organizing a Ray Tracer Application
14.5.1 A Routine to Compute Ray-Sphere Intersections
14.5.2 A Complete Ray Tracer for Emissive-Sphere Scenes
14.6 Intersecting Rays with Other Primitives
14.6.1 Intersecting with a Square
14.6.2 Intersecting with a Tapered Cylinder
14.6.3 Intersecting with a Cube(or any Convex Polyhedron)
14.6.4 Adding More Primitives
14.7 Drawing Shaded Pictures of Scenes
14.7.1 Finding the Normal at the Hit Spot
14.7.2 Coloring Objects According to their Surface Materials
14.7.3 Physically-based Shading Models:Cook-Torrance Shading
14.8 Adding Surface Texture
14.8.1 Solid Texture
14.8.2 Pasting Images onto Surfaces
14.8.3 Antialiashing Ray Tracings
14.9 Using Extents
14.9.1 Box and Sphere Extents
14.9.2 Using Projection Extents
14.10 Adding Shadows for Greater Realism
14.11 Reflections and Transparency
14.11.1 The Refraction of Light
14.11.2 Dealing with Refraction in shade()
14.12 Compound Objects:Boolean Operations on Objects
14.12.1 Ray Tracing CSG Objects
14.12.2 Data Structure for Boolean Objects
14.12.3 Intersecting Rays with Boolean Objects
14.12.4 Building and Using Extents for CSG Object
14.13 Summary
14.14 Case Studies
Case Study 14.1 An Emissive Ray Tracer
Case Study 14.2 A Renaissance Ray Tracer
Case Study 14.3 Implementing Shadows in a Ray Tracer
Case Study 14.4 Using Extents to Speed up Ray Tracing
Case Study 14.5 Ray Tracing with 3D Textures
Case Study 14.6 antialiasing
Case Study 14.7 Ray Tracing Other Primitives
Case Study 14.8 A 2D Ray Tracer to Explore Refraction
Case Study 14.9 Reflected and Refracted Light
Case Study 14.10 Ray Tracing Boolean Combinations of Objects
14.15 Further Reading
Appendixes
1 Graphics Tools-Obtaining OpenGL
A1.1.1 Obtaining and Installing OpenGL
2 Some mathematics for Computer Graphics
A2.1 Some Key Definitions for Matrices and their Operations
A2.1.1 Mainipulations with Matrices
A2.1.2 Multiplying Two Matrices
A2.1.3 Partitioning a Matrix
A2.1.4 The Determinant of a Matrix
A2.1.5 The Inverse of a Matrix
A2.2 Some Properties of Vectors and their Operations
A2.2.1 The Perp of a Vector,the Perp Dot Product
A2.2.2 The Triple Scalar Product
A2.2.3 The Triple Vector product and Products of Four Vectors
A2.3 The Arithmetic of Complex Numbers
A2.4 Spherical Coordinates and Direction Cosines
3 Some Useful Classes and Utility Routines
Classes for 2D Graphis
RGBPixmap Class
The Scene and Supporting Classes
Noise Class
Some Classes that are Useful for Ray Tracing
4 An Introduction to POSTSCRIPT
A4.1 About the POSTSCRIPT Language
A4.1.1 Some Preliminaries
A4.1.2 POSTSCRIPT is“Stackbased”
A4.1.3 Some Stack Operators:pop,dup,exch,and clear
A4.1.4 More Advanced Stack Operators
A4.1.5 Some Arithmetic Operators
A4.2 Graphics Operators in POSTSCRIPT
A4.2.1 Coordinate Systems and Transformations
A4.2.2 Path Construction Verbs
A4.2.3 Arcs of Circles
A4.2.4 Used for Painting Verbs
A4.2.5 Coordinate Transformations
A4.2.6 Graphics State Operators
A4.3 Drawing Text in POSTSCRIPT
A4.4 Defining New Variables and Procedures
A4.4.1 Defining Variables
A4.4.2 Defining Procedures
A4.4.3 A Simple Form of Iteration,Using repeat
A4.5 Decisions and Iterations
A4.5.1 Verbs that Take Boolean Values for Arguments
A4.5.2 Making Decisions
A4.5.3 Iterating
A4.6 Printing Values
A4.7 Drawing Gray-scale Image
5 An Introduction to SDL
A5.1 Syntax of SDL
A5.2 Macros in SDL
A5.3 Extending SDL
References
Index

本目录推荐