Save up to 30% on Elsevier print and eBooks with free shipping. No promo code needed.
Save up to 30% on print and eBooks.
Complete Maya Programming Volume II
An In-depth Guide to 3D Fundamentals, Geometry, and Modeling
1st Edition, Volume 2 - August 5, 2005
Author: David Gould
Language: English
Paperback ISBN:9780120884827
9 7 8 - 0 - 1 2 - 0 8 8 4 8 2 - 7
eBook ISBN:9780080529578
9 7 8 - 0 - 0 8 - 0 5 2 9 5 7 - 8
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 M…Read more
Purchase options
LIMITED OFFER
Save 50% on book bundles
Immediately download your ebook while waiting for your print delivery. No promo code is needed.
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.
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
Preface
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
5.1.6 C++ API
5.2 Transforming Points
5.2.1 MEL
5.2.2 C++ API
5.3 Transforming Vectors
5.3.1 MEL
5.3.2 C++ API
5.4 Transforming Normals
5.4.1 MEL
5.4.2 C++ API
6 Transform Nodes
6.1 Pivot Points
6.2 Transformation Matrices
6.2.1 Querying Transformation Matrices
6.2.2 Editing Transformation Matrices
6.3 Hierarchies of Transformations
6.3.1 Transformation Spaces
6.3.2 MEL
6.3.3 C++ API
7 Coordinate Frames
7.1 Up Axis
7.1.1 MEL
7.1.2 C++ API
7.2 Handedness
7.3 Custom Coordinate Frames
7.3.1 C++ API
8 Polygonal Meshes
8.1 Displaying Meshes
8.1.1 General
8.1.2 Components
8.1.3 Normals
8.1.4 Back-face Culling
8.1.5 UV Texture Coordinates
8.1.6 Vertex Colors
8.1.7 Nonplanar Faces
8.2 Querying Meshes
8.2.1 Vertices
8.2.2 Edges
8.2.3 Polygons
8.2.4 Face Vertices
8.2.5 Normals
8.2.6 UV Texture Coordinates
8.2.7 Blind Data
8.3 Creating Meshes
8.3.1 Problematic Meshes
8.3.2 Creation Checks
8.3.3 Molecule1 Plug-in
8.3.4 Molecule2 Plug-in
8.3.5 Molecule3 Plug-in
8.3.6 Molecule4 Plug-in
8.4 Editing Meshes
8.4.1 Construction History
8.4.2 Supporting Construction History
8.4.3 Supporting Tweaks
8.4.4 Mesh-editing Framework
8.4.5 Displace Mesh Plug-in
9 Nurbs
9.1 Concepts
9.1.1 Control Vertex (CV)
9.1.2 Hull
9.1.3 Span
9.1.4 Degree
9.1.5 Order
9.1.6 Edit Points
9.1.7 Curve Point
9.1.8 Parameterization
9.1.9 Knots
9.1.10 Form
9.1.11 Surface Point
9.1.12 Surface Isoparms
9.1.13 Surface Patches
9.1.14 Surface Curves
9.1.15 Trimmed Surfaces
9.2 NURBS Curves
9.2.1 Displaying Curves
9.2.2 Querying Curves
9.2.3 Creating Curves
9.2.4 Editing Curves
9.3 NURBS Surfaces
9.3.1 Displaying Surfaces
9.3.2 Querying Surfaces
9.3.3 Creating Surfaces
9.3.4 Editing Surfaces
10 Subdivision Surfaces
10.1 Concepts
10.1.1 Control Mesh
10.1.2 Subdivision
10.1.3 Limit Surface
10.1.4 Creases
10.1.5 Hierarchical Subdivisions
10.1.6 Ordinary and Extraordinary Points
10.1.7 Subdivision Scheme
10.2 Displaying Subdivision Surfaces
10.3 Querying Subdivision Surfaces
10.3.1 Components
10.3.2 Creases
10.3.3 UV Texture Coordinates
10.3.4 MEL
10.3.5 C++ API
10.4 Creating and Converting Subdivision Surfaces
10.4.1 Polygonal Mesh to Subdivision Surface
10.4.2 Subdivision Surface to Polygonal Mesh
10.4.3 NURBS Surface to Subdivision Surface
10.4.4 Subdivision Surface to NURBS Surface
10.5 Editing Subdivision Surfaces
10.5.1 MEL
11 Contexts (Tools)
11.1 SelectRingContext1 Plug-in
11.1.1 Usage
11.2 SelectRingContext2 Plug-in
11.2.1 Installation
11.2.2 Usage
11.3 SelectVolumeContext1 Plug-in
11.3.1 Installation
11.3.2 Usage
A Further Learning A.1 Online Resources A.1.1 Companion Web Site A.1.2 Additional Web Sites A.2 Maya Application A.2.1 Documentation A.2.2 Examples
B Further Reading B.1 Mathematics B.2 Programming B.2.1 General B.2.2 C++ Language B.3 Computer Graphics B.3.1 General B.3.2 Modeling B.3.3 Animation B.3.4 Image Synthesis
Glossary Index
No. of pages: 744
Language: English
Edition: 1
Volume: 2
Published: August 5, 2005
Imprint: Morgan Kaufmann
Paperback ISBN: 9780120884827
eBook ISBN: 9780080529578
DG
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
Read Complete Maya Programming Volume II on ScienceDirect