| |
| |
Introduction | |
| |
| |
| |
Working with Windows | |
| |
| |
| |
Visual Basics | |
| |
| |
Visual Basic Coordinate Systems | |
| |
| |
Custom Coordinates | |
| |
| |
Coordinate Overflow | |
| |
| |
Scale Conversions | |
| |
| |
Size and Positioning | |
| |
| |
Interior Sizing | |
| |
| |
The Move Method | |
| |
| |
Graphic Container Controls | |
| |
| |
Line Method | |
| |
| |
Circle Method | |
| |
| |
PaintPicture Method | |
| |
| |
PSet Method | |
| |
| |
Point Method | |
| |
| |
Print Method | |
| |
| |
Scrolled Windows | |
| |
| |
Scrolled Window Controls | |
| |
| |
When to Draw | |
| |
| |
AutoRedraw Property | |
| |
| |
Paint Events | |
| |
| |
Redrawing During Resize Events | |
| |
| |
Controlling Controls | |
| |
| |
Text Properties | |
| |
| |
Other Graphic Properties | |
| |
| |
Graphical Controls | |
| |
| |
Image Control | |
| |
| |
Label Control | |
| |
| |
Line Control | |
| |
| |
Shape Control | |
| |
| |
Color | |
| |
| |
RGB Colors | |
| |
| |
System Colors | |
| |
| |
Decomposing Colors | |
| |
| |
QBColor | |
| |
| |
Summary | |
| |
| |
| |
Using the API | |
| |
| |
The Genie | |
| |
| |
Using the API | |
| |
| |
Identifying the Routine | |
| |
| |
Defining Data Structures | |
| |
| |
Declaring the Routine | |
| |
| |
Calling the Routine | |
| |
| |
Useful API Functions | |
| |
| |
Drawing | |
| |
| |
Drawing Attributes | |
| |
| |
Metafiles | |
| |
| |
Summary | |
| |
| |
| |
Advanced Color | |
| |
| |
Color Models | |
| |
| |
Bitmaps | |
| |
| |
Device-Dependent Bitmaps | |
| |
| |
Device-Independent Bitmaps | |
| |
| |
Color Palettes | |
| |
| |
Static Colors | |
| |
| |
Inverting Static Colors | |
| |
| |
Colors in Visual Basic | |
| |
| |
Summary | |
| |
| |
| |
Advanced Text | |
| |
| |
Multiple Colors and Fonts | |
| |
| |
Text Metrics | |
| |
| |
CreateFont Function | |
| |
| |
Height | |
| |
| |
Width | |
| |
| |
Escapement | |
| |
| |
Orientation | |
| |
| |
Weight | |
| |
| |
Italic, Underline, StrikeOut | |
| |
| |
CharacterSet | |
| |
| |
OutputPrecision | |
| |
| |
ClipPrecision | |
| |
| |
Quality | |
| |
| |
PitchAndFamily | |
| |
| |
Face | |
| |
| |
Standard Fonts | |
| |
| |
Programming with CreateFont | |
| |
| |
Curved Text | |
| |
| |
Centering Rotated Text | |
| |
| |
Editable Text | |
| |
| |
Summary | |
| |
| |
| |
Printing | |
| |
| |
Printer Objects | |
| |
| |
Selecting a Printer | |
| |
| |
Printer Properties | |
| |
| |
Printer Control Methods | |
| |
| |
The PrintForm Method | |
| |
| |
High-Resolution Printing | |
| |
| |
Printing Text | |
| |
| |
Print Preview | |
| |
| |
Multipage Print Preview | |
| |
| |
Printer Scale Properties | |
| |
| |
Scaling Objects to Fit | |
| |
| |
High Resolution PrintForm | |
| |
| |
Summary | |
| |
| |
| |
Image Processing | |
| |
| |
| |
Point Processes | |
| |
| |
Obtaining Images | |
| |
| |
Programming Tools | |
| |
| |
LoadPicture | |
| |
| |
LoadImage | |
| |
| |
SavePicture Routine | |
| |
| |
Point and PSet Functions | |
| |
| |
Point Processes | |
| |
| |
Grayscale | |
| |
| |
Complement | |
| |
| |
Brightness | |
| |
| |
Color Balance | |
| |
| |
Contrast | |
| |
| |
Binary Contrast Enhancement | |
| |
| |
Multiple Image Processing | |
| |
| |
Image Subtraction | |
| |
| |
Image Averaging | |
| |
| |
Image Compositing | |
| |
| |
Summary | |
| |
| |
| |
Area Processes | |
| |
| |
Spatial Filtering | |
| |
| |
Initializing Kernels | |
| |
| |
Low-Pass Filters | |
| |
| |
Unsharp Masking | |
| |
| |
High-Pass Filters | |
| |
| |
Edge Detection | |
| |
| |
Embossing | |
| |
| |
Restricting an Operation Using a Mask | |
| |
| |
Summary of Spatial Filters | |
| |
| |
Rank Filters | |
| |
| |
Geometric Transformations | |
| |
| |
Bilinear Interpolation | |
| |
| |
A Transformation Framework | |
| |
| |
Enlargement | |
| |
| |
Reduction | |
| |
| |
Cheating with LoadImage | |
| |
| |
Rotation | |
| |
| |
Reflection | |
| |
| |
Complex Reflection | |
| |
| |
Shape-Distorting Transformation | |
| |
| |
Summary | |
| |
| |
| |
Animation | |
| |
| |
| |
Bitmap Animation | |
| |
| |
Animation Basics | |
| |
| |
Timing Is Everything | |
| |
| |
Timing in Visual Basic | |
| |
| |
Fast Display | |
| |
| |
Timer Controls | |
| |
| |
Clock Watching | |
| |
| |
Displaying Files Directly | |
| |
| |
Storing Image Bits | |
| |
| |
The Need for Speed | |
| |
| |
Drawing Animation | |
| |
| |
Clear and Redraw | |
| |
| |
Save and Restore | |
| |
| |
Using the API | |
| |
| |
Summary | |
| |
| |
| |
Advanced Animation | |
| |
| |
Controlling Animation | |
| |
| |
Simulation | |
| |
| |
Scripts | |
| |
| |
Sprites | |
| |
| |
Tweening and Morphing | |
| |
| |
Tweening | |
| |
| |
Morphing | |
| |
| |
Specialized Animation | |
| |
| |
Scene Transitions | |
| |
| |
Screen Savers | |
| |
| |
Animating Program Icons | |
| |
| |
Summary | |
| |
| |
| |
Two-Dimensional Graphics | |
| |
| |
| |
Fractals and Tilings | |
| |
| |
Fractals | |
| |
| |
Trees | |
| |
| |
Snowflakes | |
| |
| |
Space-Filling Curves | |
| |
| |
Gaskets | |
| |
| |
The Mandelbrot Set | |
| |
| |
Julia Sets | |
| |
| |
Strange Attractors | |
| |
| |
Tilings | |
| |
| |
Summary | |
| |
| |
| |
Drawing Curves | |
| |
| |
Lines and Circles | |
| |
| |
Parametric Curves | |
| |
| |
DrawCurve | |
| |
| |
Rotating Points | |
| |
| |
Curve Fitting | |
| |
| |
Polynomial Curve Fitting | |
| |
| |
Linear Least Squares | |
| |
| |
Quadratic Least Squares | |
| |
| |
Higher-Order Least Squares | |
| |
| |
Parametric Curve Fitting | |
| |
| |
Hermite Curves | |
| |
| |
Bezier Curves | |
| |
| |
Higher-Order Bezier Curves | |
| |
| |
B-Splines | |
| |
| |
Closed B-Splines | |
| |
| |
Summary | |
| |
| |
| |
Two-Dimensional Transformations | |
| |
| |
Modeling Two-Dimensional Objects | |
| |
| |
Windows and Viewports | |
| |
| |
Panning and Zooming | |
| |
| |
Aspect Ratios | |
| |
| |
Windows and Viewports in Visual Basic | |
| |
| |
Zooming and Panning in Visual Basic | |
| |
| |
Two-Dimensional Transformations | |
| |
| |
Simple Transformations | |
| |
| |
Combining Transformations | |
| |
| |
Transformation Matrices in Visual Basic | |
| |
| |
Vector and Matrix Operations in Visual Basic | |
| |
| |
Transforming Objects | |
| |
| |
Shape-Distorting Transformations | |
| |
| |
Treating Types of Transformation Differently | |
| |
| |
Display Data Structure | |
| |
| |
Quadtrees | |
| |
| |
Locating Objects | |
| |
| |
Quadtrees in Visual Basic | |
| |
| |
A Quadtree Implementation | |
| |
| |
Summary | |
| |
| |
| |
Three-Dimensional Graphics | |
| |
| |
| |
Three-Dimensional Transformations | |
| |
| |
Simple Transformations | |
| |
| |
Homogeneous Coordinates | |
| |
| |
Vector and Matrix Operations in Visual Basic | |
| |
| |
Translation | |
| |
| |
Scaling | |
| |
| |
Reflection | |
| |
| |
Right-Handed Coordinates | |
| |
| |
Rotation | |
| |
| |
Inverse Transformations | |
| |
| |
Projections | |
| |
| |
Parallel Projection | |
| |
| |
Perspective Projection | |
| |
| |
Summary of Projections | |
| |
| |
Perspective Viewing | |
| |
| |
Composing Transformations | |
| |
| |
Scaling without Translation | |
| |
| |
Reflection across an Arbitrary Plane | |
| |
| |
Rotation around an Arbitrary Line | |
| |
| |
Projection onto an Arbitrary Plane | |
| |
| |
The UP Vector | |
| |
| |
Using Subroutine m3Project | |
| |
| |
Spherical Coordinates | |
| |
| |
Three-Dimensional Objects | |
| |
| |
Summary | |
| |
| |
| |
Surfaces | |
| |
| |
Simple Surfaces | |
| |
| |
Grids | |
| |
| |
The Hi-Lo Algorithm | |
| |
| |
The Z-Order Algorithm | |
| |
| |
Fractal Surfaces | |
| |
| |
Parametric Surfaces | |
| |
| |
Bezier Surfaces | |
| |
| |
B-Splines | |
| |
| |
Surfaces of Transformation | |
| |
| |
Extruded Surfaces | |
| |
| |
Surfaces of Revolution | |
| |
| |
Other Surfaces of Transformation | |
| |
| |
Summary | |
| |
| |
| |
Hidden Surface Removal | |
| |
| |
Backface Removal | |
| |
| |
Finding Surface Normals | |
| |
| |
Testing Angles with Normals | |
| |
| |
Putting It All Together | |
| |
| |
Convex Solids | |
| |
| |
Backface Removal in Visual Basic | |
| |
| |
Depth-Sort | |
| |
| |
Nonconvex Solids | |
| |
| |
Surfaces Revisited | |
| |
| |
Summary | |
| |
| |
| |
Shading Models | |
| |
| |
The Physics of Lighting | |
| |
| |
Diffuse Reflection | |
| |
| |
Ambient Light | |
| |
| |
Distance | |
| |
| |
Specular Reflection | |
| |
| |
Smooth Shading | |
| |
| |
Gouraud Shading | |
| |
| |
Phong Shading | |
| |
| |
Summary | |
| |
| |
| |
Ray Tracing | |
| |
| |
A Brief Warning | |
| |
| |
Ray-Tracing Basics | |
| |
| |
Ray Tracing in Visual Basic | |
| |
| |
Calculating Hit Color | |
| |
| |
Tracing Rays | |
| |
| |
Performance | |
| |
| |
Bounding Volumes | |
| |
| |
Scanline Culling | |
| |
| |
Other Objects | |
| |
| |
Planes | |
| |
| |
Disks | |
| |
| |
Polygons | |
| |
| |
Checkerboards | |
| |
| |
Cylinders | |
| |
| |
Recursive Ray Tracing | |
| |
| |
Reflected Light | |
| |
| |
Transparent Surfaces | |
| |
| |
Assumptions | |
| |
| |
Adaptive Depth Control | |
| |
| |
Texture Mapping | |
| |
| |
Normal Perturbation | |
| |
| |
Environment Mapping | |
| |
| |
Special Environment Mapping | |
| |
| |
Summary | |
| |
| |
| |
Beyond Three Dimensions | |
| |
| |
| |
Higher-Dimensional Transformations | |
| |
| |
Temporal Projection | |
| |
| |
Spatial Projection | |
| |
| |
Four-Dimensional Transformations | |
| |
| |
Homogeneous Coordinates | |
| |
| |
Translation | |
| |
| |
Scaling | |
| |
| |
Reflection | |
| |
| |
Rotation | |
| |
| |
Inverse Transformations | |
| |
| |
Projections | |
| |
| |
Rotating a Hypercube | |
| |
| |
Folding a Hypercube | |
| |
| |
Summary | |
| |
| |
| |
Mathematical Tools | |
| |
| |
Vectors and Matrices | |
| |
| |
Vector Arithmetic | |
| |
| |
Vector Length | |
| |
| |
Dot Product | |
| |
| |
Projection of a Vector onto a Vector | |
| |
| |
Cross Product | |
| |
| |
Matrix-Vector Multiplication | |
| |
| |
Matrix-Matrix Multiplication | |
| |
| |
Transformation Matrices | |
| |
| |
Two-Dimensional Transformations | |
| |
| |
Three-Dimensional Transformations | |
| |
| |
Four-Dimensional Transformations | |
| |
| |
Spherical Coordinates | |
| |
| |
Distances | |
| |
| |
Point-to-Point | |
| |
| |
Point-to-Line | |
| |
| |
Point-to-Plane | |
| |
| |
Line-to-Line | |
| |
| |
Plane-to-Plane | |
| |
| |
Platonic Solids | |
| |
| |
Regular Solids | |
| |
| |
Duals | |
| |
| |
Tetrahedron | |
| |
| |
Cube | |
| |
| |
Octahedron | |
| |
| |
Dodecahedron | |
| |
| |
Icosahedron | |
| |
| |
Summary | |
| |
| |
Index | |