サイトトップ

Director Flash 書籍 業務内容 プロフィール

ActionScript 3.0による三次元表現ガイドブック
野中 文雄 著

ActionScript 3.0 Professional Guide
>> amazon.co.jpへ

価格: 3,129円(税込)
発売: 2010年6月8日
出版: 株式会社毎日コミュニケーションズ
ISBN: 978-4-8399-3277-0
サポートページ(出版社)

blogでの書評 New!

>> もくじ
*40ページ以上の「PDFプレビュー」あり!New!
>> はしがき

補足および正誤表

【はじめにお読みください − Read Me!】
本書は、ActionScript 3.0の基礎を学んだ方を対象として、Flash Player 10/Flash CS4 Professionalから備わった3次元空間の扱いについて解説します。ActionScript 3.0の基礎というのは、イベントリスナーが使えるくらいの知識を想定しています。変数の宣言やデータ型指定、関数の定義も含まれます。

スクリプトの学び方は、人により異なるでしょう。そして、その学び方によって、書籍に求める内容も変わってくるはずです。執筆する側からいえば、どのような読者を対象として解説するかということにつながります。本書は、つぎのようにターゲティングしています。

本書が期待に添えない読者 本書が対象とする読者
他人のスクリプトをコピー&ペーストして済むならその方が楽だ。 自分の意図した動作を自分のスクリプトとして書きたい。
スクリプトは結果として動けばそれでいい。 スクリプトはどのように組立てればよいのか、どうすればより効率的な処理になるのかを知りたい。
見栄えのするサンプルがたくさんほしい。 ステートメントひとつひとつの意味を理解して、自分で応用できるようになりたい。

本編は、試しやすく初心者にもできるだけ理解できるように、クラスを用いずフレームアクションで説明しています。また数学編は、3次元空間を扱うときに知っておくとよい高校レベルの数学について解説しました。さらに、サンプル編として、本編でつくったおもなサンプルスクリプトを、クラス定義に書替えています。数学編とサンプル編は、知識と興味に応じてお読みください。

また、本文を補うためのコラムや、以下のような囲み記事を加えました。

  • Tips   本文の補足や知っておくと便利な知識などを紹介しています。踏込んだ解説は、初心者は受け流して構いません。
  • Word   用語説明です。若干抽象的な解説も加えています。初心者は、その部分は流し読みして結構です。
  • Maniac!   中級者に対する踏込んだ情報や[ヘルプ]の誤り、Flash以外の数学など他分野についての説明を加えました。読み飛ばしても、本文の理解には影響はありません。

さらに、AYAさんによるキュートなイラストが、小難しく映りがちな解説を要所要所でユーモラスにまとめてくれました。

3次元空間を扱おうとすると、初めは馴染みのない用語や考え方に戸惑うかもしれません。けれど、基本が理解できれば、自分でスクリプトを組立てることは決して難しくはありません。3次元空間のスクリプティングについての基礎固めとして本書をご利用ください。

 

Chapter01 ウォーミングアップ − 座標と三角関数と、時々、ベクトル >> PDFプレビュー(全18ページ)[*]
  01-01 イベントリスナーと条件判定
  01-02 Chapter01のお題 − マウスポインタにインスタンスを追随させる
  01-03 三角関数で距離と角度から座標を捉える − 極座標
  01-04 Pointクラスで座標を位置ベクトルとして扱う

  Column 01 ガベージコレクションと弱い参照

Chapter02 遠近法の投影 − PerspectiveProjectionクラス >> PDFプレビュー(全26ページ)[*]New!
  02-01 [ブロパティ]インスペクタを使った3次元の操作
  02-02 [ヘルプ]の遠近投影法のサンプル
  02-03 消失点の操作 − PerspectiveProjection.projectionCenterプロパティ
  02-04 視野角の操作 − PerspectiveProjection.fieldOfViewプロパティ
  02-05 焦点距離の操作 − PerspectiveProjection.focalLengthプロパティ
  02-06 消失点再び − インスタンスごとの消失点設定

  Column 02 焦点距離と視野角

Chapter03 2次元平面の座標を変換する行列 − Matrixクラス
  03-01 Matrixクラスのメソッドを使った座標変換
  03-02 変換行列の成分を操作する
  03-03 傾斜を加える

  Column 03 Transformクラスのオブジェクトへのアクセス

Chapter04 3次元座標空間でDisplayObjectインスタンスを扱う − Matrix3Dクラス
  04-01 DisplayObjectクラスのプロパティを使った3次元座標空間の操作
  04-02 Matrix3Dクラスの先に加える座標変換
  04-03 Matrix3Dクラスの後から加える座標変換
  04-04 Matrix3Dクラスのその他のメソッド

  Column 04 3次元座標空間における回転について

Chapter05 配列に型指定を加えた厳格なクラス − Vectorクラス
  05-01 Vectorクラスと配列(Arrayクラス)
  05-02 Vectorインスタンスの生成とデータ型指定
  05-03 Vectorエレメントの操作

  Column 05 Vectorインスタンスの型変換

Chapter06 3次元空間の座標を扱う − Vector3Dクラス
  06-01 Vector3Dインスタンスの座標変換とワイヤーフレームの描画
  06-02 遠近法が投影されたワイヤーフレームの立方体を回す
  06-03 面が表向きか裏向きかを調べる − ベクトルの外積と内積

  Column 06 数学における3次元べクトルの計算とVector3Dクラスのプロパティおよびメソッド

Chapter07 三角形分割によるテクスチャマッピング − Graphics.drawTriangles()メソッド
  07-01 Graphicsオブジェクトをビットマップで塗る
  07-02 Graphics.drawTriangles()メソッド
  07-03 遠近法(透視)投影 − Utils3D.projectVectors()メソッド
  07-04 Graphics.drawTriangles()メソッドの第4引数 − カリング

  Column 07 Utils3D.projectVectors()メソッドの内部計算とt値

数学編
Math01 三角関数
  Math01-01 角度を座標にする三角関数sinとcos
  Math01-02 ラジアン
  Math01-03 三角関数tanと逆三角関数tan-1
  Math01-04 円と楕円の方程式
  Math01-05 三角関数の性質

Math02 ベクトル
  Math02-01 ベクトルとは
  Math02-02 ベクトルの絶対値
  Math02-03 ベクトルの和と差
  Math02-04 ベクトルのスカラー倍と単位ベクトル
  Math02-05 ベクトルの内積
  Math02-06 ベクトルの外積
  Math02-07 ベクトルの内積や外積の使い途

Math03 行列と座標変換
  Math03-01 行列とは
  Math03-02 行列のスカラー倍および和と差
  Math03-03 行列の積および単位行列と逆行列
  Math03-04 伸縮と回転の座標変換を行う行列
  Math03-05 線形変換とアフィン変換

  Column Math01 Vector3D.wプロパティ
  Column Math02 四元数(クォータニオン)

サンプル編
サンプルをクラスで定義する
  SPL-01 矩形のインスタンスを任意の平行四辺形に変換する
  SPL-02 立方体のインスタンスをマウスポインタの位置に応じて回す
  SPL-03 立方体のワイヤーフレームをマウスポインタの位置に応じて回す
  SPL-04 マウスポインタの位置により立方体の頂点座標を回してテクスチャマッピング


[*] 2色刷りのDTPデータから出力したPDFファイルのため、赤系特色で印刷されるべきカラーがシアンとして表示されます。

 

はしがき

Flash Player 10/Flash CS4 Professionalから3次元空間の扱いができるようになりました。本書は、ActionScript 3.0の基礎を学んだ方に、その基本となる考え方を解説します。おもなクラスとしては、Vector3DやMatrix3Dが挙げられます。この"Vector"とか"Matrix"というのは、数学の「ベクトル」と「行列」を意味します。

数学というと、苦手意識をもつ人が少なくありません。よく聞くのは、「公式が覚えきれない」という嘆きです。けれど筆者は、少なくとも地理や歴史、あるいは英語と比べれば、暗記すべきことははるかに少ないと思います。さらにいえば、暗記で済ませようとすることに無理があります。そういう人たちは問題の解き方がわからないと、すぐに「この問題にはどの公式を当てはめるのですか」と質問します。

確かに、その問題を解くだけなら、公式さえ覚えれば手っとり早いかもしれません。ただそれでは、出題が少し変わっただけで、また新たな公式が必要になります。つまり、応用力が身につかないのです。数学の公式集に掲げられている式のうち、おそらく3割の求め方を「理解」すれば、残り7割はそこから導けます。少し時間はかかっても、基本となる考え方を学ぶことにより、さまざまな問題を解く力が高まるのです。

これは、スクリプトを学ぶ場合にもいえます。スクリプトの書き方がわからないとき、すぐに「サンプルはありませんか」と尋ねて、コピー&ペーストで済ませようとする人がいます。でも、つくりたいものがそのままサンプルとして見つかることは、決して多くありません。それに、考え方を理解しなければ、応用どころか修正もおぼつかないでしょう。

本書には、あまり見栄えのするサンプルはありません。その代わり、ステートメントひとつひとつに、それが何をするのかという説明を加えています。また、同じようなサンプルを違うスクリプトでつくったりもします。そして、高校レベルの数学について解説を別に設けました。いずれも、基本となる考え方を理解していただくためです。

本書はその意味では、サンプル解説書ではなく、リファレンスでもありません。3次元空間のスクリプティングを主題とした、いわばスクリプト構成法の手引きです。


Copyright © 2001-2010 Fumio Nonaka.  All rights reserved.