Foreword
Preface
1 Introduction
1.1 Before and After Photorealism
1.2 Non-Photorealistic Rendering
1.2.1 Goals and Criteria for Success
1.2.2 A Point of View
1.3 Approaches to Algorithms for NPR
1.3.1 Image Artifacts
1.3.2 Model Artifacts
1.3.3 A Framework for Computing Image and Model Artifacts
1.4 Visions for NPR
1.4.1 Scientific and Medical Illustration
1.4.2 Technical Illustration
1.4.3 Archaeological Illustration
1.4.4 Story Telling
Exercises
Bibliographic Notes
2 Pixel Manipulation of Images
2.1 Halftoning Methods
2.1.1 Ordered Dithering
2.1.2 Error Diffusion
2.1.3 Applications to NPR
2.2 Screening
2.2.1 Basic Method
2.2.2 Tuning Image and Screen Intensities
2.2.3 Procedural Screening
2.2.4 Embedding Shapes in Dither Screens
2.3 Stippling
2.3.1 Automatic Methods
2.3.2 Interactive Methods
2.4 Image Mosaics
2.4.1 Choosing a Tiling Grid or Pattern
2.4.2 Arranging the Image Tiles
2.4.3 Choosing Tile Images
2.4.4 Color Correction
Exercises
Bibliographic Notes
3 Lines, Curves, and Strokes
3.1 Drawing ``Incorrect'' Lines
3.1.1 Observations of Human Drawings
3.1.2 Drawing Wiggly Lines With a Computer
3.2 Drawing ``Artistic'' Lines -- The Path and Style Metaphor
3.2.1 Deforming Images
3.2.2 Using Path Information -- Linestyles
3.2.3 Simulating Watercolor
3.3 A Generalization: Multi-Resolution Curves
3.3.1 Wavelet Representation of Curves
3.3.2 Editing Multi-Resolution Curves
3.4 Comparison of the Line Drawing Methods
Exercises
Bibliographic Notes
4 Simulating Natural Media and Artistic Techniques
4.1 Simulating Painting With Wet Paint
4.1.1 Simulating Watercolor Using Cellular Automata
4.1.2 Computer-Generated Watercolor Using Fluid Simulation
4.1.3 Rendering the Simulation Results
4.2 Simulating Pencils Drawing on Paper
4.2.1 The Microscopic Level
4.2.2 A Model
4.2.3 Results
4.3 Simulating Woodcuts and Engravings
4.3.1 A Raytracing Approach for Copperplates
4.3.2 An Image Processing Approach for Engravings
Exercises
Bibliographic Notes
5 Stroke-Based Illustrations
5.1 Strokes and Stroke Textures
5.1.1 Defining and Drawing Single Strokes
5.1.2 Building Stroke Textures
5.2 Detail and Orientation
5.2.1 Outlines and Shadows
5.2.2 Orientation
5.2.3 Abstraction of Detail
5.3 Rescaling Stroke-Based Images
5.3.1 Goals for a Rescaling Operation
5.3.2 Approximating the Input as a Continuous Function
5.3.3 Discontinuity Edges
5.3.4 Creating and Reconstructing Renditions
Exercises
Bibliographic Notes
6 Working with 2.5D Data Structures
6.1 G-Buffers
6.2 Operations on G-Buffers
6.3 Comprehensible Rendering
6.4 Interactive Painting
6.5 3D Parameters for 2D Dithering
Exercises
Bibliographic Notes
 
7 Geometric Models and Their Exploitation in NPR
7.1 Geometric Models as Data Types
7.1.1 Data
7.1.2 Operations on the Data
7.1.3 Implementation
7.2 Polygonal Models
7.2.1 Description of Polygonal Models
7.2.2 Operations for Polygonal Models
7.2.3 Edge Classification for NPR
7.2.4 Computing Intersections
7.2.5 Determining Global Shape
7.3 Free Form Surfaces
7.3.1 Description of Free Form Surface Models
7.3.2 Operations on Free Form Surface Models for Rendering
Exercises
Bibliographic Notes
8 Lighting Models for NPR
8.1 Conveying Shape Versus Illumination
8.2 A Basic Lighting Model
8.3 Colored Illustrations
8.4 A Component-Based Lighting Model
8.4.1 Standard Lighting and Shadows
8.4.2 Rim Shadow, Plateau and Back Lighting
8.4.3 Curvature Lighting
8.4.4 Transmission and Transparency
8.4.5 Overall Intensity
8.5 Implementation Issues
Exercises
Bibliographic Notes
9 Distorting Non-Realistic Renditions
9.1 Image Space Distortion
9.1.1 Fundamental Algorithm
9.1.2 Regions of Magnification
9.1.3 The Drop-Off Function
9.1.4 Off-Center Focus Points and Multiple Foci
9.2 Object Space Distortion
9.2.1 Interval Strucutures
9.2.2 The Resize Operation
9.2.3 An Example
9.2.4 Discussion of the Algorithm
9.2.5 An Application to Explosion Diagrams
9.3 Making Distortions Comprehensible
9.3.1 Recognition Axis
9.3.2 Dominance Axis
9.3.3 A Space of Viewing Cues
9.4 Distortions in an Animated Context
9.4.1 Distorted Transformations
9.4.2 Morphing the Model
Exercises
Bibliographic Notes
10 Applications for NPR
10.1 Non-Photorealistic Animation
10.1.1 Representing Motion in Still Images
10.1.2 Non-Photorealistic Animation Based on Particle Systems
10.2 Architectural Illustrations
10.2.1 An Empirical Study
10.2.2 Expressing Uncertainty in Designs
10.3 Rendering Plants
10.3.1 Rendering the Trunk, Branches and Twigs
10.3.2 Rendering the Foliage
10.4 Illustrating Medical and Technical Texts
10.4.1 Generating Illustrations from Texts
10.4.2 Generating Labels
10.4.3 Generating Figure Captions
10.5 Tactile Rendering for Blind People
10.5.1 Hardware
10.5.2 Haptic Perception
10.5.3 Converting Visualizations Into Tactile Presentations
10.5.4 Tactile Maps
Exercises
Bibliographic Notes
11 A Conceptual Framework for NPR
11.1 Methodological Disclaimer
11.2 Mathematical Preliminaries: Equivalence Relations, Equivalence Classes and Quotients
11.2.1 Sets and Elements
11.2.2 Cartesian Products and Relations
11.2.3 Equivalence Relations and Variants
11.2.4 Equivalence classes and invariants
11.2.5 Quotients, (Iso)morphism, and Abstraction
11.2.6 Summary of Mathematical Preliminaries
11.3 Physical preliminaries: Communication via Light Rays
11.3.1 Physical context
11.3.2 Detecting Light -- Basic Principles of Viewing
11.3.3 Summary of Viewing-Related (p-)Equivalence Relations
11.4 Neurobiological Context: Look Ahead Sets and Look Around Sets
11.4.1 Perceptual Context
11.5 A Model for Visual Communication
11.5.1 Layers and semantic transformations in visual communication
11.6 Summary and Practical Connection With NPR