Complete Maya Programming, Vol. II: An In-Depth Guide to 3D Fundamentals, Geometry, and Modeling
暫譯: 完整的Maya程式設計,第II卷:3D基礎、幾何學與建模深入指南

David Gould

  • 出版商: Morgan Kaufmann
  • 出版日期: 2005-08-05
  • 售價: $3,240
  • 貴賓價: 9.5$3,078
  • 語言: 英文
  • 頁數: 744
  • 裝訂: Paperback
  • ISBN: 0120884828
  • ISBN-13: 9780120884827
  • 相關分類: 3D建模 3D-modeling
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

相關主題

商品描述

Description:

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. A solid understanding of these concepts is critical to solving a wide variety of problems. 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.

 

Table of Contents:

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 DisplaceMesh 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

商品描述(中文翻譯)

**描述:**
David Gould 的首部備受讚譽的著作《Complete Maya Programming: An Extensive Guide to MEL and the C++ API》為藝術家和程式設計師提供了對 Maya 工作原理的深入理解,以及如何通過程式設計來增強和自定義它。在他的新書中,David 提供了一個溫和且直觀的計算機圖形學核心概念介紹。對這些概念的扎實理解對於解決各種問題至關重要。每個概念都逐步解釋,並在 MEL 和 C++ 中完全實現,以便藝術家或程式設計師可以直接在自己的程式中使用源代碼。幾何和建模的內容詳細介紹,並通過逐漸複雜的範例展示 Maya 所有可能的程式設計功能。David Gould 的第一卷被廣泛認為是 Maya 程式設計的最權威參考書。《第二卷》延續了這一傳統,為面對複雜任務的藝術家和程式設計師提供了無與倫比的指南。

**目錄:**
前言
1 介紹
1.1 範例檔案
1.1.1 編譯範例插件
1.1.2 載入範例 MEL 腳本
1.2 在腳本編輯器中執行 MEL 代碼

2 點
2.1 尺寸
2.2 笛卡爾坐標
2.3 齊次坐標
2.4 極坐標和球坐標
2.5 轉換
2.5.1 笛卡爾到齊次
2.5.2 齊次到笛卡爾
2.5.3 笛卡爾到極坐標
2.5.4 極坐標到笛卡爾
2.5.5 笛卡爾到球坐標
2.5.6 球坐標到笛卡爾
2.6 MEL
2.7 C++ API
2.8 定位器

3 向量
3.1 MEL
3.2 C++ API
3.3 加法
3.4 減法
3.5 縮放
3.6 長度
3.6.1 MEL
3.6.2 C++ API
3.7 點之間的距離
3.7.1 MEL
3.7.2 C++ API
3.8 向量歸一化
3.8.1 MEL
3.8.2 C++ API
3.9 點積
3.9.1 夾角
3.9.2 平方長度
3.9.3 垂直投影
3.10 叉積
3.10.1 垂直向量
3.10.2 三角形面積
3.11 點與向量的區別

4 旋轉
4.1 角度
4.1.1 MEL
4.1.2 C++ API
4.2 旋轉
4.3 方向表示
4.3.1 歐拉角
4.3.2 四元數

5 變換
5.1 矩陣
5.1.1 矩陣乘法
5.1.2 矩陣轉置
5.1.3 單位矩陣
5.1.4 逆矩陣
5.1.5 MEL
5.1.6 C++ API
5.2 變換點
5.2.1 MEL
5.2.2 C++ API
5.3 變換向量
5.3.1 MEL
5.3.2 C++ API
5.4 變換法線
5.4.1 MEL
5.4.2 C++ API

6 變換節點
6.1 樞軸點
6.2 變換矩陣
6.2.1 查詢變換矩陣
6.2.2 編輯變換矩陣
6.3 變換的層次結構
6.3.1 變換空間
6.3.2 MEL
6.3.3 C++ API

7 坐標系
7.1 上軸
7.1.1 MEL
7.1.2 C++ API
7.2 方向性
7.3 自定義坐標系
7.3.1 C++ API

8 多邊形網格
8.1 顯示網格
8.1.1 一般
8.1.2 組件
8.1.3 法線
8.1.4 背面剔除
8.1.5 UV 紋理坐標
8.1.6 頂點顏色
8.1.7 非平面面
8.2 查詢網格
8.2.1 頂點
8.2.2 邊
8.2.3 多邊形
8.2.4 面頂點
8.2.5 法線
8.2.6 UV 紋理坐標
8.2.7 隱藏數據
8.3 創建網格
8.3.1 問題網格
8.3.2 創建檢查
8.3.3 Molecule1 插件
8.3.4 Molecule2 插件
8.3.5 Molecule3 插件
8.3.6 Molecule4 插件
8.4 編輯網格
8.4.1 建構歷史
8.4.2 支持建構歷史
8.4.3 支持調整
8.4.4 網格編輯框架
8.4.5 DisplaceMesh 插件

9 NURBS
9.1 概念
9.1.1 控制頂點 (CV)
9.1.2 外殼
9.1.3 跨度
9.1.4 次數
9.1.5 順序
9.1.6 編輯點
9.1.7 曲線點
9.1.8 參數化
9.1.9 節點
9.1.10 形狀
9.1.11 表面點
9.1.12 表面等參數
9.1.13 表面片段
9.1.14 表面曲線
9.1.15 修剪表面
9.2 NURBS 曲線
9.2.1 顯示曲線
9.2.2 查詢曲線
9.2.3 創建曲線
9.2.4 編輯曲線
9.3 NURBS 表面
9.3.1 顯示表面
9.3.2 查詢表面
9.3.3 創建表面
9.3.4 編輯表面

10 子細分表面
10.1 概念
10.1.1 控制網格
10.1.2 子細分
10.1.3 限制表面
10.1.4 折線
10.1.5 層次子細分
10.1.6 普通和特殊點
10.1.7 子細分方案
10.2 顯示子細分表面
10.3 查詢子細分表面
10.3.1 組件
10.3.2 折線
10.3.3 UV 紋理坐標
10.3.4 MEL
10.3.5 C++ API
10.4 創建和轉換子細分表面
10.4.1 多邊形網格到子細分表面
10.4.2 子細分表面到多邊形網格
10.4.3 NURBS 表面到子細分表面
10.4.4 子細分表面到 NURBS 表面
10.5 編輯子細分表面
10.5.1 MEL

11 上下文 (工具)
11.1 SelectRingContext1 插件
11.1.1 使用方法
11.2 SelectRingContext2 插件
11.2.1 安裝
11.2.2 使用方法
11.3 SelectVolumeContext1 插件
11.3.1 安裝
11.3.2 使用方法

A 進一步學習
A.1 在線資源
A.1.1 陪伴網站
A.1.2 其他網站
A.2 Maya 應用
A.2.1 文檔
A.2.2 範例

B 進一步閱讀
B.1 數學
B.2 程式設計
B.2.1 一般
B.2.2 C++ 語言
B.3 計算機圖形學
B.3.1 一般
B.3.2 建模
B.3.3 動畫
B.3.4 圖像合成

術語表
索引