Last updated: 2015 -2014. Kajiyama                [ 目次に戻る ]

プログラム言語Processingが準備している平面図形処理の関数


  1. 全てを使うことはないが,関数のリファレンスの全体像を理解する.

    1. いろいろな用途で使用するProcessingの関数が用意されている.観察すること.
    2. 最新版 2.x版の関数Reference
    3. 旧 1.5版の日本語の関数リファレンス


  2. 2次元図形に関する関数

    1. キャンバスと2次元座標系

      ・キャンバスの二次元の表示画面には,

       それぞれのピクセル(画素)の位置に座標(x, y)が与えられている.

      ・このX-Y座標系は,算数や数学で習ったものとは,

       +Y軸の向きが違うので,注意が必要である.

    2. 2次元の基本図形

      機能processingの関数単位はピクセル単位
      2次元キャンバスsize (w, h);画面の幅 (width)と高さ(height)  
      point (x1, y1);点の座標P(x1, y1)
      直線line (x1, y1, x2, y2);始点の座標P1(x1, y1)と終点の座標P2(x2, y2)
      三角形triangle (x1, y1, x2, y2, x3, y3);三角形の三点の座標P1(x1, y1), P2( x2, y2), P3(x3, y3)
      四角形quad (x1, y1, x2, y2, x3, y3, x4, y4);四角形の四点の座標P1(x1, y1), P2( x2, y2), P3(x3, y3), P4(x4, y4)
      長方形rect (x1, y1, w, h);位置座標(x1, y1)と長方形の幅 (width)と高さ(height)
      楕円・円ellipse (x1, y1, w, h);中心座標(x1, y1)と円の幅 (width)と高さ(height)
      楕円・円ellipseMode ( );ellipseMode()によって楕円の起点を変更
      円弧arc (x1, y1, w, h, start, step);中心座標(x1, y1)と円の幅 (width)と高さ(height),始点の角度(start)と終点の角度(step),ラジアン


    3. 2次元の曲線

      機能processingの関数単位はピクセル単位
      スプライン曲線curve ( );四点の座標(x, y)を決めスプライン曲線を描く
      ベジェ曲線bezier ( );四点の座標(x, y)を決めベジェ曲線を描く


    4. 2次元図形の座標変換

      機能processingの関数単位はピクセル単位
      平行移動translate (x, y);X軸方向の移動量 (x)とY軸方向の移動量 (y)  
      回転移動rotate (angle);原点を中心に指定した回転角度(angle)で座標を回転,
      単位はラジアン
      拡大・縮小scale (size);, scale (x, y);一括して倍率を変えるには(size),XとYの倍率を各々変えるには(x, y)
      座標系の保存pushMatrix ( );現在の座標系を保存する
      座標系の復元popMatrix ( );保存した座標系を復元する



  3. Processing ではPVector がベクトルで position(位置),velocitiy(速度),acceleration(加速度), 減速率(deceleration)を表す

    ・高校の復習 速さ(スカラー)と速度(ベクトル)
    ・高校の復習 等速直線運動  ・ 等加速度直線運動
    ・リファレンス ベクトルのクラス

    PVector クラスの機能ベクトルの計算メソッドを準備している
    ユークリッド幾何のベクトル
    ベクトルx成分:
    ベクトルy成分:
    PVector 変数名;
     変数名.x
     変数名.y
    x,y (あるいは x,y,z )要素をベクトルにセットset();
    2Dのランダムな向きを持った、新しい単位ベクトルrandom2D();
    指定した角度から 2Dの新しい単位ベクトルfromAngle();
    ベクトルのコピーget();
    ベクトル足し算add();
    ベクトル引き算sub();
    ベクトルをスカラー倍mult();
    ベクトルをスカラーで割るdiv();
    ベクトルの大きさ(マグニチュード)mag();
    ベクトルの大きさを2乗magSq());
    ベクトルの大きさを設定setMag();
    2点間の距離dist();
    2 つのベクトル間の角度angleBetween();
    2つのベクトルのドット積dot();
    ベクトルを長さ 1 に正規化normalize();
    ベクトルのマグニチュードを制限limit();
    ベクトルの回転角度heading();
    角度を指定してベクトルを回転(2D のみ)rotate();
    ベクトルと他のベクトルとの線形補間lerp();
    float 型の配列として、ベクトルを表すarray();

[ 目次に戻る ]