Classiclll's Blog

an old boy

木偶の世界 ver.0 - Deku00

イメージ 1




ガラクタ置き場に、Japanesque路線、木偶 ver.0 - Deku00がお目見え。

【絡繰り(Karakuri)】は階層的に自律的に運動する接ぎ(局所座標系)。

【接ぎ(局所座標系)】なんで、これに向かって
 ・点(ten)   P5のpoint()
 ・筋(suji)  P5のline()
 ・方(hou)   P5のrect()
 ・円(madoka) P5のellipse()
 ・函(hako)  P5のBox() (ちょっと違う)
 ・珠(tama)  P5のsphere()(ちょっと違う) 
 ・標(sirusi) P5のvertex()(テクスチャマッピングもOK)
 を描くことが出来る。

【自律的に運動】できるんで、何もしなければ止まっているけど、3軸ごとに
 ・位置 move(x,y,z)、敏さ hasikosa(vx,vy,vz)
 ・廻り motoori(位相角)、敏さ motoorinoHasikosa(角速度)
 ・張弛 tyousi(スケール振幅)、敏さ tyousinoHasikosa(角速度)
 ・往来 yukiki(移動振幅)、敏さ yukikinoHasikosa(角速度)
 を与えた上で,次の場(tuginoBa)に移させれば、動き始める。

【階層的】なんで、何もしなければP5の座標系に対する接ぎ(局所座標系)として働くけど,
 【親】のKarakuriに接いでやれば、【親】の接ぎ(局所座標系)に対する
 接ぎ(局所座標系)として働く。(これも入れ子構造)
やっと見せられるサンプルが動き出した状態なんで、スクリプトは見てほしくない。(というか、飾り部分は不完全かつ見直す可能性大)
まだ、DekunoYo(木偶の世)も空蝉(Utusemi)も出来ていない。円や箱や標もうまく動かない。

とりあえず、中間報告ということで。(使い方は完成してから解説予定)
#クリックすると色が変わる。

例題置き場にあるライブラリを二つに分けた上で、Locを最新のものに置換した。
【追加メソッド】
 shiftI(Loc)        :shift(Loc)の引き算版、要素ごとに引く
 scaleI(Loc)        :scale(Loc)の割り算版、要素ごとに割る
 mul(Loc)         :要素同士の掛け算、(新しいベクトル)
 div(Loc)         :要素同士の割り算、(新しいベクトル)
 projection(Loc,Loc,Loc):3組のベクトルにそれぞれ投影した新しいベクトル
           *現在は直交射影に限定(いつか一般化予定)
 turn(Loc,float)     :rotate(Loc,float) のLoc new版(新しいベクトル)
 turn(float,float,float):rotate(float,float,float)のLoc new版(同上)
 turnZ(float)       :rotateZ(float)のLoc new版(同上)
 turnY(float)       :rotateY(float)のLoc new版(同上)
 turnX(float)       :rotateX(float)のLoc new版(同上)

Karakuriの設計もさることながら、ジャパネスクを醸し出すための辞書引きも時間がかかる原因