Classiclll's Blog

an old boy

木偶#10ー風車 by Processing(Proce55ing)

イメージ 1



木偶#10ー風車 by Processing(Proce55ing)

ガラクタ置き場に、Japanesque路線、木偶#10ー風車がお目見え。

前作の木偶「ナルAの絡繰りカメ」で思い立った風車の3Dモデルが前記事の折り紙のモデル(まだ途中)でやっと出来たので、早速【固定】して木偶の世にデビュー。

#クリックすると【シナリオ】が進み、アクターが増え、色が変わる。

#折り紙のモデルに【3Dモデル固定】機能を追加した。(前記事のスケッチを更新している)
 ・好きなタイミングで"f"キーを押すと、テキストエリアに絡繰りの描画スクリプトを出力。
  (ここで、テキストエリアの表示を本記事のスクリプトのあるところにコピペする)
 ・つつけて"r"キーを押すと、裏側を描画するスクリプトをテキストエリアに出力。
  (さらに、本記事のスクリプトのあるところにコピペする)
 ・これで、3Dモデルが【固定】され、新しい絡繰りとしてデビュー!
次の木偶には短冊、風鈴がデビューするかも(いつかはわからないが、折り鶴も)。


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

【接ぎ(局所座標系)】なんで、これに向かって
 ・接ぎ(tugi) 接ぎ(原点と親原点とを結んだ線)を表示
 ・点(ten)   P5のpoint()
 ・筋(suji)  P5のline()
 ・方(hou)   P5のrect()(ちょっと違う)
 ・円(madoka) P5のellipse()(ちょっと違う)
 ・函(hako)  P5のBox() (ちょっと違う)
 ・珠(tama)  P5のsphere()(ちょっと違う)
 ・包(tutumi) MappedCapsule() http://blogs.yahoo.co.jp/classiclll_jp/33372193.html 「広告塔のカメ最終版」参照
 ・棍(kon)   MappedTube() (同上)
 ・錐(sui)   MappedCone() (同上)
 ・姿の始まり(sugatanohajimari) P5のbeginShape()
 ・姿(sugata)          P5のtexture()(テクスチャの指定)
 ・標(sirusi)           P5のvertex()(テクスチャマッピングもOK)
 ・姿の終わり(sugatanoowari)   P5のendShape()
 を描くことが出来る。

【自律的に運動】できるんで、何もしなければ止まっているけど、3軸ごとに
 ・立ち位置 tatiiti(位置)
 ・伸び竦み nobisukumi(倍率)
 ・行来 yukiki(幅)、 敏さ hasikosa(角速度)
 ・廻り motoori(位相角)、敏さ motoorinoHasikosa(角速度)
 ・張弛 tyousi(倍率振幅)、敏さ tyousinoHasikosa(角速度)
 ・往来 yukiki(移動振幅)、敏さ yukikinoHasikosa(角速度)
 を与えた上で,次の場(tuginoBa)に移させれば、動き始める。

【階層的】なんで、何もしなければP5の座標系に対する接ぎ(局所座標系)として働くけど,【親】のKarakuriに接いでやれば、【親】の接ぎ(局所座標系)に対する接ぎ(局所座標系)として働く。(これも入れ子構造)
 ・接ぐ(tugu)     言われた接ぎ先に替える。
 ・親(oya)       現在の親を教える
 ・親知らず(oyasirazu) 現在の親を忘れる

空蝉の振る舞い(再掲)
【空蝉(utusemi)】は「現し身」から転じて「この世にある仮の姿」の意味に使われる。
 が、いつの間にか「写し身」に転じてしまってRPGで【分身の術】になってしまった(らしい)。
【振る舞い】
 ・絡繰りの一種だが複数の親座標系を持つ
 ・子から描画を依頼されると「複数」の座標系に対して各々描画する。
 ・結果として、親の数だけ子が描画される。(万華鏡のもと)
【操作】
 絡繰りの一種なんで、絡繰りとほぼ(ってとこが問題)同じ操作が出来る。加えて
 ・接ぐ(tugu)     絡繰りと違い、言われた接ぎ先は全て覚える。
 ・引く(hiku)     言われた接ぎ先(親座標)を忘れる。
 ・親(oya)      特定の順序にある親を教える
 ・親知らず(oyasirazu) 空蝉は全ての親を忘れる
 ・影(kage)      現在の親(たち)に対して対称位置に複数の影(絡繰り)を挿入する
【限界】
 説明するのがちょっとややこしい。簡単に参照ループが出来ちゃったり、その他いろいろ。



Processing については、
日本語サポートサイトからたどれるP5インフォメーション→言語が参考になる。
(解説してあるのは一昔前の版だから注意が必要だけど、loop()→draw()の読み替えだけで大抵OK)
・山本徹(thoru)さんがFunProce55ingで解説してくれている。(【簡潔】で【わかり易く】、【楽しい】解説)
例題集は習作集と区別するためにこちらに置いている。
・P5のスケッチからアプレットを作り、【ジオシティーズ】にアップする手順をまとめたので、参考に。