2012年02月16日

菱形十二面体の稜線長保存変形のプログラム(1)


合同な菱形面を同じ色で表示しつつ菱形十二面体を変形させることができるプログラムを掲載します

505_rhombicdodecahedron(dfm)_03.png





菱形十二面体の稜線の長さを不変に保ちながら変形させることができます

プログラムを実行すると表示されるスライダーバーのつまみの位置を調節して、変形をコントロールします

505_rhombicdodecahedron(dfm)_00.02.png



変化させることができるのは、下図の矢印にある角のうち、菱形1と菱形2の角です(それぞれθ1 とθ2。菱形0は菱形1と菱形2に合わせて自動的に変形します。詳しくは過去記事「空間充填菱形十二面体、色々(1)」の式[1]の通りです)

505_rhombicdodecahedron(dfm)_02.png



また、菱形の色が対角線の比(長い方の対角線の長さを短い方の対角線の長さで割ったもの)に応じて変化するので(したがって、合同な菱形は同じ色で表示されます)、もし12面すべてを同じ色にすることができたなら、等面菱形十二面体が完成したことになります



プログラムはこちらです→「菱形十二面体の稜線長保存変形

ちなみに、色のそろえ方はについては、全体が一色になるパターンが何通りか見つかると思います



ところで、スライダーバーなどのGUI(グラフィックユーザーインターフェイス)に関しては、ちょこちょこ模索はするものの結局やり方がよくよくわからず、自力ではお手上げ状態でした

しかし、サンプルプログラムのほぼ丸写しでなんとかなったので、ただ眺めるだけで終わってしまう動画とは違った楽しみ方ができるように、今後はスライダーバーのようなGUIが使えるプログラムも掲載していく予定です



なお、このカテゴリの記事は久しぶりでもあり、ついでにGUIなしのものですが、最も最近に掲載した動画のプログラムとその元になった格子点のプログラムも掲載しました

PCの性能次第ではかなりスローモーションになると思います(特にサイクロイドの方は点の数が多いのでそれが顕著です)

これらはCG動画を作成することを目的としたプログラム、ということになります



続く




posted by 流線 at 00:16| Comment(2) | TrackBack(0) | VCSSLによるCGプログラム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
お久しぶりです。RINEARNの松井です。

GUIを用いたプログラム、
なんだか色々な種類を集めたくなりますね。
バリエーションが楽しみです。

サイクロイドのプログラムは、相変わらず凄まじいレベルで、圧倒されてしまいました。
動きが芸術的で迫力もあって、本当に発想力が凄いです。

しかし、半透明に円ポリゴンで、さぞ重いのだろうなあと思っていましたが、やはり実際に動かしてみると重いですね(笑)

実は、こうやってブログ等でプログラムを書いたり動かしたりして盛り上がってもらえたらいいなあ、というのがVCSSLで指した事の一つだったのですが、こんなに早く、こんなに素晴らしい作品で使ってもらえるとは、正直思ってもみませんでした。
いつも本当にありがとうございます。
Posted by 松井 at 2012年02月19日 23:45
 
こんばんは、コメントありがとうございます

こちらこそ、お礼を述べたいです

VCSSLに出会わなかったらおそらくぼくはCGやってない(というかやってもすぐ挫折していた)と思うので・・・

本当にありがとうございます


プログラムの方は相変わらずの面がありますが、関数とかラッピングとか教わったので、今年に入ってからのプログラミングはますます楽しくなりました


GUIは付けるまで面倒でしたが、今後も活用していきたいです(スライダーの設定が0〜1以外にも0〜整数値のみとか−1〜+1とか使えるといいなと思います)
 
Posted by 流閃 at 2012年02月20日 00:16
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。