授業の目標と注意

目標

この授業の目標はMayaのようなCGツールを作成することです。
全ての機能を作成することは不可能なので、できるところまで作成することにします。
作成するプログラムの動作•内部の仕様などはMayaを基準にします。 ただし、あきらかに必要の無い機能は実装しません。

作成してゆく機能

  1. OBJデータ読み書き (rwobj.py)
  2. 行列演算 (matrix.py)
  3. ラバーバンド (rubberband.py)
  4. ポリゴン表示(ワイヤーフレーム) (wire.py)
  5. ポリゴン表示(フラットシェーディング) (flat.py)
  6. ポリゴン表示(陰影表示) (smooth.py)
  7. ポリゴン表示(テクスチャ) (texture.py)
  8. カメラの移動・回転
  9. オブジェクトの移動・回転•スケール
  10. 選択
    頂点やエッジ、フェースを選択できるようにします。
  11. 頂点、エッジ、フェース移動
  12. メニュー
    最初はOpenGLのメニューを使います。

作成の方針

大きくて複雑なプログラムの作り方

if文をなくす方法

if文の主な役割は以下の二つです。

  1. 分類
    データをいくつかの種類に分類します。
  2. 例外
    データの中にある例外を除くために使います。

参考


Prev | Next
Home | Contents
Mail