4次元を表示するスクリプト(主に複素関数)

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/3/30 7:46
Kojocho  新米   投稿数: 10
4次元空間内にメッシュデータを作成し(主に複素関数で)、編集、表示するスクリプトです
はじめまして:
投稿するのは初めてです。お遊びで作ったスクリプトがちょっともったいなかったのでアップロードいたしました。ので、コードの整理とかをしてないほとんど素なので、注意してください。

内容:
主に複素関数のグラフを四次元内に作成、3Dビューに2次元で表示します(z.Real,z.Imag,f(z).Real,f(z).Imag)。そのほか、一応、すごーく貧弱ですが、4次元内でモデリングができるようになってます(ただ保存はできませんが)。表示は、3Dビュー内のみで行われるので、レンダリングなんかはできません(3Dビューのスクリーンショットでガマン)。CG作りのサポートでなくて、これで独立した遊びです。
あと、おまけで、クラインの壷、ハイパーキューブが表示できます。


使用方法、詳しいことなんかは、一緒のフォルダにreadmeを入れておいたので、そちらを読んでください。

関係ないコメント:
スクリプトで何気にDraw.TIMER0イベント使ってるんですが、結局あれっていつ呼ばれるんでしょうか?(このスクリプトでは、無理やりTIMER0イベントの中でTIMER0呼んでるんですが)


:download:4ddisp.lzh

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/3/31 14:08
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4270
はじめまして。面白そうなスクリプトをありがとうございます。万人向けとは残念いえないですが、こういった活用も面白そうですね。

引用:
スクリプトで何気にDraw.TIMER0イベント使ってるんですが、結局あれっていつ呼ばれるんでしょうか?(このスクリプトでは、無理やりTIMER0イベントの中でTIMER0呼んでるんですが)
↓ググってML の記事を見つけたのですが、なんかスルーされてますね…予約なんでしょうか?
http://projects.blender.org/pipermail/bf-python/2005-August/003031.html

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/3/31 16:43
Kojocho  新米   投稿数: 10
返信ありがとうございます。

>万人向けでない
そうなんですよ、実際これアップしてもあんまり意味ないじゃないかなーと思ったんですが(readme書くほうが大変でしたし)。ということで、もちょっと整理して簡単にしたものを今書いてます。目指せgnuplotです、志は高くー

>こういった活用
私は、Blenderをこんな風に使うことが多いんです 。今までにもBlenderのスクリプトで数学系なもの書いたんですよ。C言語とかで作ろうとすると、前フリが大変で挫折が多いですし。Blenderは、プログラム面倒くさいところは直接編集できますから。

>スルー
探していただいてありがとうございます。私英語苦手なもんで・・・。やっぱり、ピラミッドな謎なんですね

Drawって微妙なのが多いですよね、Pythonのchr()で直接ユニコードから文字列に変換するとおかしくなりますし。それにDraw.Redraw()のいじめっ子っぷりが・・・Draw.Redraw()は、やっぱりスクリプトを実行してるウィンドウしか反応しないんでしょうか?スクリプトの中でTextオブジェクト操作してその後Redraw()呼んでも反応しないんですよ。しょうがないからBlenderのRedraw()呼んじゃうんですけど・・・
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/4/11 22:52
Kojocho  新米   投稿数: 10
n次元を表示するスクリプト
ということで4次元表示スクリプトをひっそりバージョンアップさせ、任意次元(3次以上)表示スクリプトをつくってみました。ただし、プレリリース、開発中くらいの完成度なので使用の際には注意を・・・

例によって、このスクリプトは3DCG制作に役に立たず、これで独立したお遊びです。

内容:
3次元以上の任意次元普通のユークリッド空間内に立体を作成、4DDisplayと同じ手法で2次元に表示します。

立体の作成方法は、関数に限ります。具体的には、第一の方法に、立体の頂点の座標を(y1,y2, ... ,yn) (n次元)とすると、y1,y2, ... ,ynをm個の媒介変数x1,x2, ... ,xmの関数として与えます(m任意)。第二の方法に、4次元に限って、複素関数のグラフを作成します。立体の保存はできません。関数の保存は可能です。

使い方:
gnuplotやコンソールのように、スクリプトとの対話形式で実行していきます。関数などの設定は、テキストオブジェクトに記しておいて読み込み、保存が可能です。

詳しくは、添付したreadmeはじめその他ファイルを参照してください。


コメント:
また、大衆向けでないものを作ってしまいました・・・。
とりあえず、アップしてみました。これからちょこまかとまたひっそりバージョンアップを図っていきます。
:download:nddisp.lzh

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/4/13 13:34
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4270
まだためしてないのですが、かなりユーザフレンドリになったようでいいですね。そういえば、昔PCがパソコンとかパーコンとか呼ばれていたころを思い出したりもしました。(遠い目)



投票数:1 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/4/15 1:46
Kojocho  新米   投稿数: 10
返信ありがとうございます。

>パーコン
ググってしまいました 。・・・80年代だと生まれたときくらいですね・・・。私はWindows3.1が最初でしたからあんまり対話型とは縁がなかったのですが、大学はLinuxが中心なんですよね、そうすると、対話型の魅力が分かってきたというか、単にちっさーなボタンにカーソルをあわせるのが面倒くさくなったというか・・・。そんな理由でこのスクリプトは対話型にしてみました。
対話型インターフェイスをしかもPythonで書くとなると初めてですからライブラリ調べてshlexとか怪しそうだとか思ったのですが、クラスの扱いに慣れてない(初接触)もんで、結局関数自分で定義しちゃいました。

・・・今見ると、shlexよりもCmdの方が必要のようですね、次回のこっそりバージョンアップでは装備してみます。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/5/1 3:19
Kojocho  新米   投稿数: 10
バージョンアップ:
GWなのでまたこっそりバージョンアップなのです。といってもほんの少しだけですが・・・

追加点:
・レンダリング可能
・おまけでアニメーション可能(ただし、スクリプト側で制御においてのみ、および回転のみ)
詳しくは、添付したverup.txtを参照してください。

・・・やっぱり3D作りの手伝いにはなれません。
サンプルとして、以下に作ってみた動画を載せます。


コメント:
小出しアップしてご迷惑をおかけします。

:download:nddisp.lzh

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/5/3 12:40
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4270
動画拝見しました。今度は現代美術っぽい趣が。

今の GameBlender のAPI で Mesh 作成できるかどうか判らないのですが、それができれば、インタフェイスを作りこめばエンタテイメント性の高い作品になるかもしれないですね。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007/5/5 1:22
Kojocho  新米   投稿数: 10
返信ありがとうございます。

>現代美術っぽい趣が
視聴ありがとうございます。現代美術ですか・・・・ぬぬぬ、うれしいのですが、素直にはそうもいられません、nDDisplayの"多次元の理解"の目的からすると 現代美術=よくわかんない は、だめじゃんってぐはぁ 友人からもわけわからんかったと言われましたよ・・・

というわけで、連日バージョンアップしてみました。

ver2.5変更/追加点:
・座標軸、座標番号の表示
・座標軸2つによる平面の表示の追加
・立体の回転を行う座標系の選択(グローバル/立体固有)
くわしくは、解凍フォルダ内のverup.txtを参照してください。
また、今回のver2.5でつくった動画(←これ)も参照してください。だいぶ教材ビデオっぽく理解しやすくなったはずです・・・はずです・・・

>GameBlenderのAPIで
GameBlenderは触ったことないのでなんとも言えません、できることが増えそうですが、頂点隠す処理とかn次元の回転とか課題が多そうですね・・。むしろ、いっそのことBlenderのソースをいじくってn次元仕様にするのもいいかなとか妄想してます(BlenderのソースいじくるのはBlenderを知ったころからの夢なんです・・・)。予定はないのですが・・・


:download:nddisp.lzh

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2007/5/5 13:06
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4270
こんにちは。動画拝見しました。軸の説明がでていて判りやすくなりましたね。

ちなみに現代美術は別に訳判らないという意味合いではありません。現代美術と呼ばれる物(少なくとも当方がそう思っている物)は例えば聴覚を別の方法で表現してみるとか、ある行為の意味の別解釈や、分解・再構築といった、新しい感覚や思考などを探ってみるというのが多いのです。特にテクノロジーの発達した昨今では、そのテクノロジーの助けを借りたり、そこから通して見える世界から新しい感覚や世界の解釈が…ああ、もういいですかそうですか。

とにかく、数学と Blender という道具を用いて、数学により表現できる世界や、そこから生まれる新しい何かを構築できそうなのではないか、いうことです。もちろん、単に数学の素晴らしさを伝えるだけでもそれは当然構わないとも思います。

投票数:0 平均点:0.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki