ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

コマ大戦のためのコマシミュレーション 1

2013年06月08日 22時24分44秒 | ソフト開発日記

これから再びちょこちょこと書き始めます。

 

開催が2週間後に迫った、信州大学で行われるコマ大戦

信大から出場する選手たちのコマのシミュレーションを任されることになったけれど、1から物理エンジンを書いてはいられない。

与えられた使命は、幾つかのコマ形状を作ったり、CADで作ったモデルを読み込んで、それを回転させた際の挙動や強さをシミュレートすること。

 

とりあえず、JavaやCでさくっと作るために、フリーの物理エンジンを漁ることに。使ってみた物理エンジンは以下の通り。

 

【Open Dynamics Engine】

C++で簡単に起動できました。

そして「demo_gyroscopic」と、始めからコマっぽいデモがありました。

これでいける!と、始めのうちは安心しきっていたら、落とし穴が。

用意されている物体形状がやたら少なく、Cone(円錐)も無かった。

円錐が無いと、こまっぽい形が作れない。CADで作ったモデルの読み込みも悪戦苦闘した結果、挫折。

気を取り直して次に行くことに。

 

【jMonkeyEngine】

次はJava。今後はゲームエンジンを試してみました。

物理計算の部分は、bulletのJava版、jbulletを使っているようです。(jbullet単体で使おうとするも、使い方わからなかった。)

こちらはデモでコマっぽいものはありませんでしたが、普段Javaで書いているおかげが、割とわかりやすく、

様々な形状を標準でサポートしていたので、円錐やカプセル、円筒を組み合わせて角速度を与えて回転させることに成功。

今度こそいける!と思ったら、ファイル入力の部分で問題が。

jMonkeyEngineでサポートしている3Dモデルのフォーマットは「Ogre Mesh XML」というもので(Blenderなんかで作れるらしい)、

学生が講義で使っているCADソフトでは出力不可能でした。

一応obj形式をサポートしているらしいけれども、直接読み込むことはできず、コンバータが必要とのこと。コンバータクラスが見つからず挫折。

かなり粘ったけど気分転換に違うものを漁ることに。

 

【bullet】

またC++。jbulletの本家。これも簡単に動きました。

そして「GyroscopicDemo」というコマっぽいデモが標準で搭載。

これは円錐もあるし、今度こそいけるか?と思うも、結局CADモデルを読み込む部分で苦闘。

 

他にも、【unity(PhysX)】を使いましたが、ファイル処理で挫折。

 

結局、ダメなのはファイル入出力部分であったので、次はCADモデルのデータ構造を勉強することにしました(初めからこうすればよかった)。

その結果、CADソフトで出力可能なSTL形式、これは単に三角メッシュの情報が羅列しているだけみたい。

このファイル形式を読み込んで、プログラム上で3Dモデルに変換するコードを自分で書く方針に決定。

楽をするために色々なエンジンを試して、便利なプラグインやライブラリを探しながら、ここに至るまで約2週間。急がば回れでした。


最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
imo forpc (imo for pc)
2017-11-29 17:40:20
imo for app is the latest emerging video calling and chatting app, which will be the best competitor to the social media giant Whatsapp, Facebook, Messenger, Hike, Wechat, etc.Friends the next question arise on all of our minds is How to install IMO for PC?. Yes, of course, it is true. There is a reason behind this to install IMO for Windowsimo for windows.
返信する
snaptube for pc (snaptube for pc)
2017-11-29 17:41:17
Snaptube is the best application that is not available in the play store to download videos from the youtube, facebook. snaptube for pc was initially launched in November 2014. Right now Snaptube App is available in popular app stores like Uptodown, 9apps etc. Snaptube is the only application which is available for all the platforms such as Snaptube Apk For Android, Snaptube For Mac, Snaptube PC Download. In this article, we will explain you the unique features and installation method of Snaptube For PC.Snaptube Application is also available for Snaptube For Windows, Snaptube For Mac, Snaptube For Linux, Snaptube Apk For Android.
返信する