Focus On Curves and Surfaces (Focus on Game Development) - page 2

  text only

focus on curves and surfaces
Focus on Curves and Surfaces
by Kelly Dempski   ISBN:159200007x
Premier Press © 2003 (255 pages)

This guide provides clear, practical explanations of curves and surfaces with the minimum of esoteric mathematical notation, making it far more accessible to work along with the material for a better understanding of the concepts.

has cd content

Table of Contents
Focus on Curves and Surfaces
Part One - Focus on Basics
Chapter 1 - Polynomial Curves
Chapter 2 - Trigonometric Functions
Part Two - Focus on Curves
Chapter 3 - Parametric Equations and Bezier Curves
Chapter 4 - B-Splines
Chapter 5 - NURBS
Chapter 6 - Subdivision of Curves
Part Three - Focus on Surfaces
Chapter 7 - Basic Surface Concepts and Bezier Surfaces
Chapter 8 - B-Spline Surfaces
Chapter 9 - NURBS Surfaces
Chapter 10 - More NURBS Surfaces
Chapter 11 - Higher-Order Surfaces in DirectX
Part Four - Appendixes
Appendix A - Derivative Calculus
Appendix B - A Quick Look at Vectors
Appendix C - Bibliography
Appendix D - What's on the CD
List of Figures
List of Tables
List of Definitions
cd content CD Content
text only
progress indicator progress indicator progress indicator progress indicator

Focus on Curves and Surfaces

Kelly Dempski

Copyright 2003 by Premier Press, a division of Course Technology.

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system without written permission from Premier Press, except for the inclusion of brief quotations in a review.

The Premier Press logo and related trade dress are trademarks of Premier Press and may not be used without written permission.

Publisher: Stacy L. Hiquet

Marketing Manager: Heather Hurley

Acquisitions Editor: Mitzi Foster Koontz

Series Editor: Andr LaMothe

Project Editor/Copy Editor: Jenny Davidson

Technical Reviewer: Wolfgang Engel/Andr LaMothe

Interior Layout: Danielle Foster

Cover Designer: Mike Tanamachi

Indexer: Katherine Stimson

Proofreader: Sandi Wilson

Xfrog is a registered trademark of greenworks organic-software.

Rhino is a registered trademark of Robert McNeel & Associates.

DirectX is a registered trademark of Microsoft Corporation in the United States and/ or other countries .

Adobe, the Adobe logo, Acrobat, the Acrobat logo, and Acrobat Reader are registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.

All other trademarks are the property of their respective owners .


Premier Press cannot provide software support. Please contact the appropriate software manufacturer's technical support line or Web site for assistance.

Premier Press and the author have attempted throughout this book to distinguish proprietary trademarks from descriptive terms by following the capitalization style used by the manufacturer.

Information contained in this book has been obtained by Premier Press from sources believed to be reliable. However, because of the possibility of human or mechanical error by our sources, Premier Press, or others, the Publisher does not guarantee the accuracy, adequacy, or completeness of any information and is not responsible for any errors or omissions or the results obtained from use of such information. Readers should be particularly aware of the fact that the Internet is an ever-changing entity. Some facts may have changed since this book went to press.

ISBN: 1-59200-007-X

Library of Congress Catalog Card Number: 2002111225

Printed in the United States of America

03 04 05 06 07 BH 10 9 8 7 6 5 4 3 2 1

Premier Press, a division of Course Technology
2645 Erie Avenue, Suite 41
Cincinnati, Ohio 45208

To my Mother and Father


Thanks to my wife, Rachel. She has endured months of incredibly stimulating conversation about knot vectors and basis functions. I have a great appreciation for her patience, and this book would not have been possible without her support.

Thanks to my family for reasons too numerous to mention.

As always, many thanks again to my friends and colleagues Scott Kurth and Mitu Singh for their time spent proofreading, offering suggestions, and providing general moral support. For that, I consider myself extremely fortunate.

Thanks to everyone at Accenture Technology Labs for their support and encouragement. I have the pleasure to work with a group of extremely intelligent and thoughtful people.

Also, I'd like to thank all of the other people who worked on this book. I really appreciate the help of Mitzi Foster, Jenny Davidson, and many others. They are extremely supportive and tolerant of strange , longwinded e- mails . Many thanks go to Wolfgang Engel for his thoughtful and thorough technical editing.

I'd also like to thank the numerous people who have contributed to this field. Without their inventions , contributions, and insight, this book would quite literally have not been possible. It would be impossible to list all of the people who have explicitly or implicitly contributed to this field, but I have included a short bibliography in Appendix C that should serve to introduce you to their work.

Finally, I'd like to thank Ben, Tom, and Will at Bagel Art (highly recommended if you are ever in Evanston, IL), and Shaun, Mire, Ian, and all the people at Starbucks (highly recommended if you are ever on Earth).

All of the people mentioned above contributed in some way to the better aspects of this book. I deeply appreciate their contributions.

About the Author

KELLY DEMPSKI has been a researcher at Accenture Technology Labs for the past eight years . His research work has been in the areas of multimedia, Virtual Reality, Augmented Reality, and Interactive TV. He has authored several papers in these areas and is also the author of Real-Time Rendering Tricks and Techniques in DirectX by Premier Press.


Ever since the world saw the undulating organic geometry in id Software's Quake III , everyone has been trying to add this powerful technique to their games . Both OpenGL and DirectX support higher-order surfaces, but it can be difficult to use them effectively. The real root of the problem is that this technology is mathematical in nature. It's not rocket science, but it's hard to use a "rational basis spline" when you don't know what those words mean.

With that in mind, my vision for this book was something that you can pick up and walk away with knowing exactly how to create 2D/3D curves and surfaces. The problem with this book is that you need someone who is a Jedi to write it; this material is complex, and only someone with years of experience in game programming, and years of experience in this area could pull it off-luckily for us, Kelly Dempski showed up with a proposal for this book that was exactly what I was looking for.

I am constantly saying how good all these Premier Game Development books are, and I am going to once again. This is the world's best book on the subject, hands down. There is simply nothing that is going to give you the information in an informal, but strict, fun, but serious way that balances what you need to know with the constraints of needing to know it within your lifetime <BG>.

I just finished reviewing the final text and demo of the book, and I have to say I am amazed The book starts off with an introduction about curves and surfaces, so you know what to expect, then Kelly (very wisely) creates a simple application framework to render curves and surfaces in a uniform manner (believe me when you start writing 50-100 demos for something, you want to be able to do it quickly). Once you have the tools to get started, then "it's on". Bezier curves are first up (being that I am French, I appreciate this of course), then B-splines (their close neighbors), and on to NURBS and subdivision curves. After all these topics have been covered, then it's round two with the 3D version of everything, and surfaces are also covered. So the transition is smooth and consistent with just enough math to get the job done, and there's a really nice calculus and vector review in the appendixes if you're a little rusty.

Finally, the book ends with some more advanced topics and delves into using DirectX 8.1+ to do all the math for us (for the most part), but like Kelly, I believe that you should know how to do this stuff-one day you might have to derive it all yourself!

In conclusion, this book rocks, and you have to have it. All the Internet articles in the world aren't going to give you what you will read in this book and immediately be able to leverage in your own work.


Andr LaMothe
Premier Game Development Series Editor

progress indicator progress indicator progress indicator progress indicator