David Gould's acclaimed first book, Complete Maya Programming: An Extensive Guide to MEL and the C++ API, provides artists and programmers with a deep understanding of the way Maya works and how it can be enhanced and customized through programming. In his new book David offers a gentle, intuitive introduction to the core ideas of computer graphics. Each concept is explained progressively and is fully implemented in both MEL and C++ so that an artist or programmer can use the source code directly in their own programs. Geometry and modeling are covered in detail with progressively more complex examples demonstrating all of Maya's possible programming features.
David Gould's first volume is widely regarded as the most authoritative reference on Maya programming. Volume II continues this tradition and provides an unmatched guide for the artist and programmer tackling complex tasks.

Key Features

* Covers a spectrum of topics in computer graphics including points and vectors, rotations, transformations, curves and surfaces (polygonal, NURBS, subdivision), and modeling.
* Offers insights to Maya's inner workings so that an artist or programmer can design and develop customized tools and solutions.
* Discusses problem solving with MEL (Maya's scripting language) and the more powerful and versatile C++ API, with plenty of code examples for each.


Intermediate to advanced Maya developers, technically savvy artists, technical directors, and students; in the film, television, and game industries

Table of Contents

1 Introduction 1.1 Example Files 1.1.1 Compiling Example Plug-ins 1.1.2 Sourcing Example MEL Scripts 1.2 Executing MEL Code in the Script Editor
2 Points 2.1 Dimensions 2.2 Cartesian Coordinates 2.3 Homogeneous Coordinates 2.4 Polar and Spherical Coordinates 2.5 Conversions 2.5.1 Cartesian to Homogeneous 2.5.2 Homogeneous to Cartesian 2.5.3 Cartesian to Polar 2.5.4 Polar to Cartesian 2.5.5 Cartesian to Spherical 2.5.6 Spherical to Cartesian 2.6 MEL 2.7 C++ API 2.8 Locators
3 Vectors 3.1 MEL 3.2 C++ API 3.3 Adding 3.4 Subtracting 3.5 Scaling 3.6 Length 3.6.1 MEL 3.6.2 C++ API 3.7 Distance Between Points 3.7.1 MEL 3.7.2 C++ API 3.8 Normalizing Vectors 3.8.1 MEL 3.8.2 C++ API 3.9 Dot Product 3.9.1 Angle Between 3.9.2 Length Squared 3.9.3 Perpendicular Projection 3.10 Cross Product 3.10.1 Perpendicular Vector 3.10.2 Area of Triangle 3.11 Points Versus Vectors
4 Rotations 4.1 Angles 4.1.1 MEL 4.1.2 C++ API 4.2 Rotations 4.3 Orientation Representations 4.3.1 Euler Angles 4.3.2 Quaternions
5 Transformations 5.1 Matrices 5.1.1 Matrix Multiplication 5.1.2 Matrix Transpose 5.1.3 Identity Matrix 5.1.4 Inverse Matrix 5.1.5 MEL<


No. of pages:
© 2005
Morgan Kaufmann
Print ISBN:
Electronic ISBN:

About the editor

David Gould

David A. D. Gould is an award-winning computer graphics artist and programmer with over a decade of distinguished accomplishments that span the globe. Among his diverse credits are technology development for Walt Disney Feature Animation, development of the Entropy renderer at Exluna, and 3D graphics chip design at Nvidia. He also developed Illustrate!, the leading toon and technical illustration renderer. David's filmography includes such films as The Lord of the Rings and King Kong.

Affiliations and Expertise

Weta Digital, New Zealand


"A great follow-up to Volume I! Volume II is an in-depth guide to the mathematical and geometric concepts indispensable to advanced Maya programmers."
—Larry Gritz, Exluna/NVIDIA