• ベストアンサー

花火のアルゴリズム

qwertfkの回答

  • qwertfk
  • ベストアンサー率67% (55/81)
回答No.3

面白そうなことをやっていますね。がんばってください。 花火のアルゴリズムなんか全く考えたことはないですが、火の粉の拡散のアルゴリズムは、重力、爆発時の斥力とかを考慮すれば大体うまくいくのではないでしょうか。あとは火の粉がさらに小さい火の粉に拡散したりするので、再帰的なアルゴリズムにしなければならないかもしれませんね。 それはさておきグラフィックのインタフェースは何を使用されるのでしょうか。3次から2次へ変換とか書かれていますし、VBを使うということなので、GDIを使って描画するということでしょうか?GDIは普通に四角形とかを描画するだけでも結構時間がかかるのでお勧めしません。 DirectXがいやなら、OpenGLでも使ってみてはいかがでしょうか。

Seigfried
質問者

お礼

 回答ありがとうございます。  やはり、GUIは標準のAPIだけでは難しいでしょうか?  そうしようと思っていたのですが…  3D→2D変換は、古くから知られている行列の掛算?でしたか、あれを使おうと思っています。内容は忘れているのでこれからなんですが、火の粉の拡散状況を3Dで計算→2Dに座標変換→GDIで描画といった手順で考えてます。  ずいぶん昔、まだWindows3.1だったころ、多重の円をVB2で描画したことがありますが、あの時のように画面がチラチラして使い物にならないでしょうか?  いづれにせよ、まだ頭の中で考えているだけなので、何か具体的な問題が勃発したらまた質問させて頂こうと思っています。  なので、その時はまたよろしくお願いします。  ありがとうございました。

関連するQ&A

  • 保育所の現状と課題について

    非常に具体性のない質問で、申し訳ありません。 上司から、端的に調べるようにと言われたのですが、 自分に子供がいないので、どういったことが問題になっているのか、 具体的に挙げることができず、困っています。 検索する際のキーワードなど、教えていただけたら助かります。 また、参考になるサイトなど教えていただけると、尚助かります。 よろしくお願いいたします。

  • FDTDにおける遠方電磁場について

    私は、現在大学の研究において、散乱場の電磁界を調べるプログラムを開発しています。 そこで、遠方界の電磁場解析が必要なのですが、プログラムがうまくできません。宇野先生の「FDTD法による電磁界およびアンテナ解析」という本を参考にしてプログラムを組んでいるのですが以下のような疑問がでてきました。 二次元での解析プログラム(TE、TM)を構築しましたが、本に載っているのは三次元。私のプログラムはΔx、Δyは定義されてるがΔzは定義されてない。宇野先生の参考書では二次元は使えないのでしょうか?特に時間更正の部分が混乱しています。 説明がわかりにくくて申し訳ないのですが、どなたか回答よろしくお願いいたします。

  • VBでの二次元流体解析について

    Visual Basic 初心者です。流体解析をしようと考えています。本来であればC++を使った方が良いと聞きますが、訳あって、VBを使用しなくてはいけません。 VBで二次元流体解析をした際に出た時間変化する数値を、動画のように、流れている現象を可視化出来るようにしたいです。 自分でも調べてみましたが、どのキーワードで調べていいのかも全く分からないので、行き詰っています。 なにかヒントを頂ければありがたいです。 Visual Studio2010proを使用しています。 よろしくお願いいたします。 参考に: 下記URLに記載されているような動画を作成したいです。 http://ja.wikipedia.org/wiki/カルマン渦

  • 物理エンジンの自作はできるのでしょうか?

    物理エンジンの自作はできるのでしょうか? よくゲームとかに使用される物理エンジンですが、 ゲームに使うほど高レベルでなくて、ちょっとしたサンプルを作る程度なのですが、 それに使う物理エンジンを自作すると言うことはできるのでしょうか? 目標としては立方体や長方体をある程度積み上げてその崩れていく様子を3Dで再現擦る程度です。 必要ないかもしれませんが、一応使える言語はC,C++,VB.net(VC#)です。 とりあえずDirectXやOpenGLを3D描画に使用するつもりです。 できれば3Dですが、難しいなら2Dでもおkです。

  • 量子力学、熱力学の参考書について・・・

     量子力学または、熱力学の参考書でお勧めの物ありますか?大学院の受験の参考書として探しています。特に量子力学の参考書のお勧めを教えて頂ければ本当にありがたいです。それぞれ1冊程持っているのですが、以下に関する記述が少ない(特に量子力学)ので困ってます。  キーワードの羅列で申し訳ないのですが、    量子力学では、ハミルトン演算子、フェルミ準位、フェルミ分布関数、フェルミ気体、ハミルトニアン、ヘルムホルツ自由エネルギ、ボルツマン定数、1次元調和振動子、1次元井戸方ポテンシャルに関して...  熱力学では、サイクル系、ファンデルワールス状態式に関して... 問題集でも参考章でもいいのでよろしくお願いいたします。

  • 歯数42以上の平歯車

    はじめまして。 当方某大学の卒業制作で歯車の描画プログラムをVBで作っているのですが、標準歯車にて歯底円>基礎円となったときの歯形の描画の仕方が解らず困っています。 知り合いに聞いたところ、とりあえずそれらしく見せるだけならインボリュート曲線と歯底円の交点座標を算出して、そこからインボリュート曲線を描けばいいのでは?とのアドバイスをもらいました。 しかし、こちらのサイトを色々調べたところ、歯数42以上よりこの現象が起こることを知り、「この場合は無理に描画をしないほうがいいのでは?」などと考えるようになりました。 このような場合はどうしたらいいのでしょうか? 稚拙な文章で申し訳ありませんが、どうかご教授おねがいします。 新しく解らない点が出たので追加で質問します。 歯数42以上で歯底円>基礎円となるのは解りましたが、作成したプログラムに歯数41、モジュール5と入力すると歯形の描画がうまくいきませんでした。 具体的に説明すると、最初に描かれる歯と最後に描かれる歯がくっついてしまうのです。いくつか歯数を変えて試したのですが、今現在でその状況になると解っているのは歯数41の時だけです。これはどうしてこのようになってしまうのでしょうか? プログラム中の計算方法としては、 一対のインボリュート曲線を円の中心より(360/歯数)度回転させて描画しています。 つまらない質問とは思いますがよろしくお願いします。

  • 最小値探索アルゴリズム(修正POWELL法、準ニュートン法、修正ニュートン法)

    f(x)=100(x2-x1^2)^2+(1-x1)^2 のバナナ関数において、 初期点(-2 4)から ・修正POWELL法 ・準ニュートン法 ・修正ニュートン法 の収束の様子をプログラミングし考察しなければならなくなりました. ですが、全く検討が付きません.(^^;) まず、修正POWELL法を考えたのですが、 参考文献やサイトが見つからず、 唯一見つけた文献で、始めの 「1次独立なn個の長さ1の直交座標方向ベクトルd」 の意味が分からず止まっています. 修正POWELL法のそれ以降の意味はなんとなく理解してきました. どなたか、上記の3つの方法を解説をしていただけませんでしょうか? 申し訳ありません. また、もしソースを公開しているサイトがあれば、助かります 当方、C&C++、VBが理解できます.

  • X Window上でのOpenGLの使用

    お世話になっております. C++で書いたOpenGLを用いたプログラムをlinux上で演算させ, x WindowでWindowsのPC上に3次元描画をするために, 現在,試行錯誤をしております. (3次元描画と格好いい文言ですが,所詮,点列や辺の描画なんですが・・・) そのプログラムの実行過程で, 描画関数において,エラーが出ていて,それに関する質問です. 現在の状況として, プログラムのコンパイルは出来ております.一応,コンパイラはicpcを使ってます. で,実行エラーとして, freeglut (./a.out): OpenGL GLX extension not supported by display '***.***.***.***:0.0' と出ております. このエラーは,glCreatWindow()という関数でエラーが返されており, X Windowを用いて表示するためには,他のライブラリが必要であると考えました. そこで,調査したところ, XGLというライブラリの存在を知りました. 私の理解では, XGLとは,X WindowでOpenGLを使用するためのドライバー的なライブラリだと理解しております. そこで,使い方を調査しているのですが, ネット検索の段階で,全く掲載ページがない, (書籍の調査は明日以降かなと・・・) ということで,ここに質問させていただきました. 具体的なプログラミングの仕方,参考Webページ,書籍等 や, そもそも,XGLなんて間違っていて,他に使用すべきライブラリがある, とか... 出来れば,C++で書いた現在のプログラムに, 少しだけの変更で収められるようなモノが良いな...と欲張りなことも思っています... ご存じであれば,教えていただきたく,お願い申し上げます. ソースコードは... 数千行のプログラムなので,ちょっと勘弁願いたく...

  • 公益事業経営

    今日やったテストで考えても、まったくできなかったものです。よかったらあなたの考えを今後の勉強の参考にさせてください。→規制緩和が公益事業に及ぼす様々な影響にについてできる限り具体的な事例を挙げながら、価格規制 参入、退出規制、兼業規制、料金水準、サービス、多角化のキーワードを一回以上使用し、述べなさい。2000字以上というものです。 お願いします。

  • textboxの二次元配列で質問

    textboxの二次元配列で質問 Visual Web Developer 2008を使いWebアプリケーションの入力フォームを開発中です。言語はVBです。  複数行のtextboxに入力された文字を連結する方法が分かりません。ネットでいろいろ検索して二次元配列をすれば可能なようですが、分かりやすく書いてあるサイトが見つからず、苦戦しています。列数は10列。行数は50行ぐらいあります。 ↓(サンプル)  例えば、下のような入力フォームのtextboxにあ・い・う・え・お・か・き……と入力された文字列で、buttonをクリックしたら「あいうえおかきくけこ…」と文字列の連結した実行結果を出したい場合です。       列   あ|い|う|え|お| | |   か|き|く|け|こ| | | 行 さ|し|す|せ|そ| | |   た|ち|つ|て|と| | |   な|に|ぬ|ね|の| | |    | | | | | | |    | | | | | | |    textboxが多いので、二次元配列と繰り返し処理(文字がなくなるまで繰り返す)を使って、簡単にできないでしょうか? 初心者なので分かりづらい質問で申し訳ありません。 参考になるページやコードがあったら教えて下さい。 よろしくお願いします。