テンセグリティ

tensegrity
>> demo
(※要FlashPlayer10 マウス操作で回転を制御できます)

引き続きVector3D/Matrix3Dを使う練習。
今回はTensegrity – Wikipedia を作ってみます。
圧縮する力と引っ張る力がちょうど釣り合って安定した構造体を形成するそうです。
参考:テンセグリティの作り方 How to make a Tensegrity
   テンセグリティ(Tensegrity)
また、CiNiiでもテンセグリティに関する論文(主に日本建築学会)を何本も見つけることができます。
( CiNii 検索条件: フリーワード “テンセグリティ” すべてを含む )

一応、ストローと輪ゴムで作ることはできたんですが、見た目が貧相すぎたので後日改めて作り直します。。
とりあえずここではFlashでテンセグリティを工作。これなら不器用な僕でもキレイに作れます。

graphics.drawPath() では直接Z軸方向に線を引くことができないようなので、
透明なキャンバスを圧縮材2本1組に対して1枚用意し、正面からテンセグリティを見て二次元で線を引きます。
それを角度を変えて空間に差し込んでいき、後から引張材を引っかけていくイメージです。
これは圧縮材を2本平行に並べていくタイプなので、点より面で考えた方がコードも短く済みそうです。

Papervision3Dを使わなくてもテンセグリティくらいなら割と簡単に作れることがわかりました。
ただ、これをシミュレーションさせるには何か物理エンジンを使わないと大変かも。
参考:YouTube – PhysXでテンセグリティのシミュレーション

・ソースコード
(入り組んだ物体や面が交差するような場合にはZソートが使えないので重なりが変になっています;)

あわせて読む:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です