计算机图形学:C语言版

计算机图形学:C语言版
作 者: 美Donald Hearn 美M Pauline Baker
出版社: 清华大学出版社
丛编项: 大学计算机教育国外著名教材系列(影印版)
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 图形学
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《计算机图形学:C语言版》作者简介

内容简介

本书介绍厂设计与使用计算机图形学系统所必须的基本原理,讨论了图形学系统硬、软件及其应用,列举了C语言描述的编程实例以展示图形学算法的实现及应用,探讨了PHIGS、PHIGS+、GKS以及其他图形库的特征。与第1版相比,在反走样、分形及其他物体表示法、光线跟踪、样条曲线及表面、光照模型、表面绘制法和计算机动画制作方面本书有较大扩充,新增:虚拟现实、图形学算法的并行实现、超二次曲面、BSP树、形状文法、粒子系统、基于物理的模型、科学计算可视化、商业可视化、分布式光线跟踪、辐射度、变形以及有益于对图形学应用的各种数学方法的探讨。本书既可作为本科生和研究生的教材,也可作为图形学专业人员的参考书。

图书目录

PREFACE

1 A Survey of Computer

Graphics

1-1 Computer-Aided Design

1-2 Presentation Graphics

1-3 Computer Art

1-4 Entertainment

1-5 Education and Training

1-6 Visualization

1-7 Image Processing

1-8 Graphical User Interfaces

2 Overview of Graphics

Systems

2-1

Video Display Devices

Refresh Cathode-Ray Tubes

Raster-Scan Displays

Random-Scan Displays

Color CRT Monitors

Direct-View Storage Tubes

Flat-Panel Displays

Three-Dimensional Viewing Devices

Stereoscopic and Virtual-Reality

Systems

2-2 Raster-Scan Systems

Video Controller

Raster-Scan Display Processor

2-3 Random-Scan Systems

2-4 Graphics Monitors and Workstations

2-5 Input Devices

Keyboards

Mouse

Trackball and Spaceball

Joysticks

Data Glove

Digitizers

Image Scanners

Touch Panels

Light Pens

Voice Systems

2-6 Hard-Copy Devices

2-7 Graphics Software

Coordinate Representations

Graphics Functions

Software Standards

PHIGS Workstations

Summary

References

Exercises

3

Output Primitives

3-1 Points and Lines

3-2 Line-Drawing Algorithms

DDA Algorithm

Bresenham''s Line Algorithm

Parallel Line Algorithms

3-3 Loading the Frame Buffer

3-4 Line Function

3-5 Circle-Generating Algorithms

Properties of Circles

Midpoint Circle Algorithm

3-6 Ellipse-Generating Algorithms

Properties of Ellipses

Midpoint Ellipse Algorithm

3-7 Other Curves

Conic Sections

Polynomials and Spline Curves

3-8 Parallel Curve Algorithms

3-9 Curve Functions

3-10 Pixel Addressing

and Object Geometry

Screen Grid Coordinates

Maintaining Geometric Properties

of Displayed Objects

3-11 Filled-Area Primitives

Scan-Line Polygon Fill Algorithm

Inside -Outside Tests

Scan-Line Fill of Curved Boundary

Areas

Boundary-Fill Algorithm

Flood-Fill Algorithm

3-12 Fill-Area Functions

3-13 Cell Array

3-14 Character Generation

Summary

Applications

References

Exercises

4

Attributes of Output

Primitives

4-1 Line Attributes

Line Type

Line Width

Pen and Brush Options

Line Color

4-2 Curve Attributes

4-3 Color and Grayscale Levels

Color Tables

Grayscale

4-4 Area-Fill Attributes

Fill Styles

Pattern Fill

Soft Fill

4-5 Character Attributes

Text Attributes

Marker Attributes

4-6 Bundled Attributes

Bundled Line Attributes

Bundled Area-Fill Attributes

Bundled Text Attributes

Bundled Marker Attributes

4-7 Inquiry Functions

4-8 Antialiasing

Supersampling Straight Line

Segments

Pixel-Weighting Masks

Area Sampling Straight Line

Segments

Filtering Techniques

Pixel Phasing

Compensating for Line Intensity

Differences

Antialiasing Area Boundaries

Summary

References

Exercises

5

Two-Dimensional Geometric

Transformations

5-1 Basic Transformations

Translation

Rotation

Scaling

5-2 Matrix Representations

and Homogeneous Coordinates

5-3 Composite Transformations

Translations

Rotations

Scalings

General Pivot-Point Rotation

General Fixed-Point Scaling

General Scaling Directions

Concatenation Properties

General Composite Transformations

and Computational Efficiency

5-4 Other Transformations

Reflection

Shear

5-5 Transformations Between Coordinate

Systems

5-6 Affine Transformations

5-7 Transformation Functions

5-8 Raster Methods for Transformations

Summary

References

Exercises

6

Two-Dimensional

Viewing

6-1 The Viewing Pipeline

6-2 Viewing Coordinate Reference Frame

6-3 Window-to-Viewport Coordinate

Transformation

6-4 Two-Dimensional Viewing Functions

6-5 Clipping Operations

6-6 Point Clipping

6-7 Line Clipping

Cohen-Sutherland Line Clipping

Liang-Barsky Line Clipping

Nicholl-Lee-Nicholl Line Clipping

Line Clipping Using Nonrectangular

Clip Windows

Splitting Concave Polygons

6-8

Polygon Clipping

Sutherland-Hodgeman Polygon

Clipping

Weiler-Atherton Polygon Clipping

Other Polygon-Clipping Algorithms

6-9 Curve Clipping

6-10 Text Clipping

6-11 Exterior Clipping

Summary

References

Exercises

7

Structures and Hierarchical

Modeling

7-1 Structure Concepts

Basic Structure Functions

Setting Structure Attributes

7-2 Editing Structures

Structure Lists and the Element

Pointer

Setting the Edit Mode

Inserting Structure Elements

Replacing Structure Elements

Deleting Structure Elements

Labeling Structure Elements

Copying Elements from One Structure

to Another

7-3 Basic Modeling Concepts

Model Representations

Symbol Hierarchies

Modeling Packages-

7-4 Hierarchical Modeling

with Structures

Local Coordinates and Modeling

Transformations

Modeling Transformations

Structure Hierarchies

Summary

References

Exercises

8 Graphical User Interfaces

and Interactive Input

Methods

8-1 The User Dialogue

Windows and Icons

Accommodating Multiple

Skill Levels

Consistency

Minimizing Memorization

Backup and Error Handling

Feedback

8-2 Input of Graphical Data

Logical Classification of Input

Devices

Locator Devices

Stroke Devices

String Devices

Valuator Devices

Choice Devices

Pick Devices

8-3 Input Functions

Input Modes

Request Mode

Locator and Stroke Input

in Request Mode

String Input in Request Mode

Valuator Input in Request Mode

Choice Input in Request Mode

Pick Input in Request Mode

Sample Mode

Event Mode

Concurrent Use of Input Modes

8-4 Initial Values for Input-Device

Parameters

8-5 Interactive Picture-Construction

Techniques

Basic Positioning Methods

Constraints

Grids

Gravity Field

Rubber-Band Methods

Dragging

Painting and Drawing

8-6 Virtual-Reality Environments

Summary

References

0 Exercises

9 Three-Dimensional

Concepts

9-1 Three-Dimensional Display Methods

Parallel Projection

Perspective Projection

Depth Cueing

Visible Line and Surface

Identification

Surface Rendering

Exploded and Cutaway Views

Three-Dimensional and Stereoscopic

Views

9-2 Three-Dimensional Graphics

Packages

10 Three-Dimensional

Object

Representations

10-1 Polygon Surfaces

Polygon Tables

Plane Equations

Polygon Meshes

10-2 Curved Lines and Surfaces

10-3 Quadric Surfaces

Sphere

Ellipsoid

Torus

10-4 Superquadrics

Superellipse

SupereUipsoid

10-5 Blobby Objects

10-6 Spline Representations

Interpolation and Approximation

Splines

Parametric Continuity

Conditions

Geometric Continuity

Conditions

Spline Specifications

10-7 Cubic Spline Interpolation

Methods

Natural Cubic Splines

Hermite Interpolation

Cardinal Splines

Kochanek-Bartels Splines

10-8 Bezier Curves and Surfaces

Bezier Curves

Properties of Bezier Curves

Design Techniques Using Bezier

Curves

Cubic Bezier Curves

Bezier Surfaces

10-9 B-Spline Curves and Surfaces

B-Spline Curves

Uniform, Periodic B-Splines

Cubic, Periodic B-Splines

Open, Uniform B-Splines

Nonuniform B-Splines

B-Spline Surfaces

10-10 Beta-Splines

Beta-Spline Continuity

Conditions

Cubic, Periodic Beta-Spline

Matrix Representation

10-11 Rational Splines

10-12 Conversion Between Spline

Representations

10-13 Displaying Spline Curves

and Surfaces

Homer''s Rule

Forward-Difference Calculations

Subdivision Methods

10-14 Sweep Representations

10-15 Constructive Solid-Geometry

Methods

10-16 Octrees

10-17 BSP Trees

10-18 Fractal-Geometry Methods

Fractal-Generation Procedures

Classification of Fractals

Fractal Dimension

Geometric Construction

of Deterministic Self-Similar

Fractals

Geometric Construction

of Statistically Self-Similar

Fractals

Affine Fractal-Construction

Methods

Random Midpoint-Displacement

Methods

Controlling Terrain Topography

Self-Squaring Fractals

Self-Inverse Fractals

10-19 Shape Grammars and Other

Procedural Methods

10-20 Particle Systems

10-21 Physically Based Modeling

10-22 Visualization of Data Sets

Visual Representations

for Scalar Fields

Visual Representations

for Vector Fields

Visual Representations

for Tensor Fields

Visual Representations

for Multivariate Data Fields

Summary

References

Exercises

11 Three-Dimensional

Geometric and Modeling

Transformations

11-1 Translation

11-2 Rotation

Coordinate-Axes Rotations

General Three-Dimensional

Rotations

Rotations with Quatemions

11-3 Scaling

11-4 Other Transformations

Reflections

Shears

11-5 Composite Transformations

11-6 Three-Dimensional Transformation

Functions

11-7 Modeling and Coordinate

Transformations

Summary

References

Exercises

12

Three-Dimensional

Viewing

12-1 Viewing Pipeline

12-2 Viewing Coordinates

Specifying the View Plane

Transformation from World

to Viewing Coordinates

12-3 Projections

Parallel Projections

Perspective Projections

12-4 View Volumes and General

Projection Transformations

General Parallel-Projection

Transformations

General Perspective-Projection

Transformations

12-5 Clipping

Normalized View Volumes

Viewport Clipping

Clipping in Homogeneous

Coordinates

12-6 Hardware Implementations

12-7 Three-Dimensional Viewing

Functions

Summary

References

Exercises

13

Visible-Surface Detection

Methods

13-1 Classification of Visible-Surface

Detection Algorithms

13-2 Back-Face Detection

13-3 Depth-Buffer Method

13-4 A-Buffer Method

13-5 Scan-Line Method

13-6 Depth-Sorting Method

13-7 BSP-Tree Method

13-8 Area-Subdivision Method

13-9 Octree Methods

13-10 Ray-Casting Method

13-11 Curved Surfaces

Curved-Surface Representations

Surface Contour Plots

13-12 Wireframe Methods

13-13 Visibility-Detection Functions

Summary

References

Exercises

14 Illumination Models

and Surface-Rendering

Methods

14-1 Light Sources

14-2

Basi''c Illumination Models

Ambient Light

Diffuse Reflection

Specular Reflection

and the Phong Model

Combined Diffuse and Specular

Reflections with Multiple Light

Sources

Warn Model

Intensity Attenuation

Color Considerations

Transparency

Shadows

14-3 Displaying Light Intensities

Assigning Intensity Levels

Gamma Correction and Video

Lookup Tables

Displaying Continuous-Tone

Images

14-4 Halftone Patterns and Dithering

Techniques

Halftone Approximations

Dithering Techniques

14-5 Polygon-Rendering Methods

Constant-Intensity Shading

Gouraud Shading

Phong Shading

Fast Phong Shading

14-6 Ray-Tracing Methods

Basic Ray-Tracing Algorithm

Ray-Surface Intersection

Calculations

Reducing Object-Intersection

Calculations

Space-Subdivision Methods

Antialiased Ray Tracing

Distributed Ray Tracing

14-7 Radiosity Lighting Model

Basic Radiosity Model

Progressive Refinement

Radiosity Method

14-8 Environment Mapping

14-9 Adding Surface Detail

Modeling Surface Detail

with Polygons

Texture Mapping

Procedural Texturing

Methods

Bump Mapping

Frame Mapping

Summary

References

Exercises

15 Color Models and Color

Applications

15-1 Properties of Light

15-2 Standard Primaries and the

Chromaticity Diagram

XYZ Co]or Model

CIE Chromaticity Diagram

15-3 Intuitive Color Concepts

15-4 RGB Color Model

15-5 YIQ Color Model

15-6 CMY Color Model

15-7 HSV Color Model

15-8 Conversion Between HSV

and RGB Models

15-9 HLS Color Model

15-10 Color Selection

and Applications

Summary

References

Exercises

16 Computer

Animation

16-1 Design of Animation Sequences

16-2 General Computer-Animation

Functions

16-3 Raster Animations

16-4 Computer-Animation Languages

16-5 Key-Frame Systems

Morphing

Simulating Accelerations

16-6 Motion Specifications

Direct Motion Specification

Goal-Directed Systems

Kinematics and Dynamics

Summary

References

Exercises

A Mathematics for Computer

Graphics

A-1 Coordinate-Reference Frames

Two-Dimensional Cartesian

Reference Frames

Polar Coordinates in the xy Plane

Three-Dimensional Cartesian

Reference Frames

Three-Dimensional Curvilinear

Coordinate Systems

Solid Angle

A-2 Points and Vectors

Vector Addition and Scalar

Multiplication

Scalar Product of Two Vectors

Vector Product of Two Vectors

A-3 Basis Vectors and the Metric Tensor

Orthonormal Basis

Metric Tensor

A-4 Matrices

Scalar Multiplication and Matrix

Addition

Matrix Multiplication

Matrix Transpose

Determinant of a Matrix

Matrix Inverse

A-5 Complex Numbers

A-6 Quaternions

A-7 Nonparametric Representations

A-8 Parametric Representations

A-9 Numerical Methods

Solving Sets of Linear Equations

Finding Roots of Nonlinear

Equations

Evaluating Integrals

Fitting Curves to Data Sets

BIBLIOGRAPHY

INDEX