LRN
Table of Contents
Focus on Curves and Surfaces
Introduction
How Should This Book Be Read?
What's Included
Who Am I?
Part One: Focus on Basics
Chapter 1: Polynomial Curves
What Is a Curve?
What Is a Polynomial?
Lines and Slopes
Higher-Degree Polynomials
Joining Curves and Continuity
Introducing the Curve Application
In Conclusion
Chapter 2: Trigonometric Functions
Defining Sine, Cosine, and Tangent
Properties of Waves
Some Simple Uses for Trigonometric Functions
Computing Trigonometric Functions with Taylor Series Approximations
Aliasing
In Conclusion
Part Two: Focus on Curves
Chapter 3: Parametric Equations and Bezier Curves
What Is a Parametric Equation?
Derivatives of Parametric Equations
Bezier Curves Defined in Parametric Terms
Joining Bezier Curves
Finding Derivatives of Bezier Curves
Putting It All Together
In Conclusion
Chapter 4: B-Splines
The Building Blocks of a B-Spline
Knot Vectors
Controlling the B-Spline
Generating Closed Shapes with B-Splines
Finding Derivatives of B-Spline Curves
Implementing B-Spline Code
In Conclusion
Chapter 5: NURBS
NURBS: Rational Splines
The Effects of Weighting Factors
Conic Sections and NURBS Curves
Finding the Derivative of NURBS Curves
Implementing NURBS in Code
In Conclusion
Chapter 6: Subdivision of Curves
Simple Adaptive Subdivision
The Source Code
Performance Considerations
In Conclusion
Part Three: Focus on Surfaces
Chapter 7: Basic Surface Concepts and Bezier Surfaces
Extending Curves to Patch Surfaces
Finding Surface Normal Vectors
Lighting a Surface
Extending the Basic Application to 3D
Setting Up Buffers for a Generic Surface
In Conclusion
Chapter 8: B-Spline Surfaces
Advantages of B-Spline Surfaces over Bezier Surfaces
From B-Spline Curves to Surfaces
Implementing B-Spline Surfaces
In Conclusion
Chapter 9: NURBS Surfaces
Advantages of NURBS Surfaces over B-Spline Surfaces
From NURBS Curves to Surfaces
Implementing NURBS Surfaces
Moving Beyond Fluttering Sheets
Advantages of NURBS Surfaces
In Conclusion
Chapter 10: More NURBS Surfaces
Ruled Surfaces
Surfaces of Revolution
Swept Surfaces
Skinned Surfaces
Generalizing Swept and Skinned Shapes
In Conclusion
Chapter 11: Higher-Order Surfaces in DirectX
DirectX versus Doing It Yourself
Higher-Order Surfaces in DirectX
Drawing a Bezier Patch with DirectX
In Conclusion
Part Four: Appendixes
Appendix A: Derivative Calculus
What Is Differential Calculus?
What Is a Derivative?
Derivatives of Polynomial Functions
The Quotient Rule
Derivatives of Trigonometric Functions
Partial Derivatives of Multivariable Functions
Caveats and Conclusions
Appendix B: A Quick Look at Vectors
What Is a Vector?
Normalizing Vectors
Vector Cross Product
In Conclusion
Appendix C: Bibliography
Web Sites
Appendix D: What's on the CD
Rhino 2.0 (Evaluation Version)
Xfrog (Evaluation Version)