1 :
名前は開発中のものです。:
ゲームに必要な物理(力学)を語るスレッド。
例えば、坂道を転がる球の加速度だったら。
その球の密度が一様ならば、慣性モーメントは(2/5)MR^2なので
dV/dt = 5*g*sinθ/7;
と表せるよとか。
他にも剛体運動、力積とか語ってください。
シェアを持つ物が勝者
3
4 :
NAME OVER:02/04/08 18:26 ID:F80pG56Y
等速直線運動
x=vt
でも重量加速度は適当な数字にしないとなぁ。
結構悩む。漏れはピクセル単位で動かすとして2ぐらい。
>>5 重力加速度は9.8にして、微分すればいいんじゃない?
static double G = 9.8;
static double dt = 1000/30;
double vec;
int y;
while(1)
{
vec += G*dt;
y = (int)vec;
}
>>6 ごめんなさい、微妙に間違えてた。
static double G = 9.8;
static double dt = 30/1000;
double vec;
int y;
while(1)
{
vec += G*dt;
y += (int)vec;
}
でした。
いや、9.8じゃ速すぎるでしょう、大抵のゲームでは。
萌 = Loli * Sakuratan
11 :
名前は開発中のものです。:02/04/08 21:16 ID:ooxcCJOI
9.8なんて数字はSI単位系での数値だから
そのままゲームに使おうなんてしたらだめよ
>11
(゚Д゚)ハァ?
剛体力学ならbaraff氏の&それをわかり易く解説した人のとこ見れば
足りると思うし、流体とかもそれなりに資料は集まると思う(タダで)
ネタとしては、それをどうゲームに使うかって事のほうが良くない?
負荷を考えたら、やっぱインチキが必要になるでしょ
物理定数の具体的な数値がいくつかなんて単位系によるってことをいってるだけなんだけど。
まぁ変換すればいいだけなんだけどさ。
インチキを入れたほうが面白いことも多々あるから
結局その辺は調整しないといけないでしょ
>>11 論理座標とスクリーン座標を一致させずに分けて考えればよいかと。
つまんねースレだな
19 :
13:02/04/08 22:27 ID:???
>>18 すごいよね
作者も”力学的な処理をまじめにはしてない”って書いてたと思うけど、
まじめな処理した物より面白くなりそう
それ以前に、現状で人間の動きをまじめにシミュレートできるんだろーか
>>18 >>19 すごいなぁ。
やっぱり物理計算したゲームは創造主の想像を超える動きをしてくれる
ところが醍醐味だね。
>>18 すげぇな。
なんか股ひろげておねだりしてたよ。(藁
>>1 スッとそれが出てくる貴方が正直羨ましい。
とりあえず積ん読状態のファインマン物理学読むべ……。
重力加速度が9.8だと、あっというまに画面外にでちゃうよ。
23の脳内では
1dot=1m
になっちゃってると思う人手を上げて。
>>18 せめてG=9.8ならもう少しおもしろいかも
中身はしらんが発散あぼーんかな
>1dot=1m
これじゃなかなか外にでんな
人間を演算だけで表現するのはかなりきつい
二足歩行のロボットを作るのが難しいのが良い例
「物理シミュレーション」じゃなく「ゲームの為の物理」なんだから
力学とかの概念だけ取り入れて、定数や変位値は、ゲームに合わせるということで
処理が重くなるっていうのが欠点だね
ゲームはそれっぽく見せればいいんじゃない?
30 :
名前は開発中のものです。:02/04/09 10:55 ID:6SoStWaA
ところで連立方程式の解法には何を使いますか?
消去法,ヤコビ,SOR,ADI,CGなどなど
でICCG(不完全コレスキ―分解付き共役勾配法)の参考図書,HPきぼん
ひさびさ、良スレのよかんぬ
>>23 重力加速度9.8だからといってって1フレームに9.8足してない?
あれは1秒間に9.8すすむんであって、秒間30フレームなら微分しなきゃだめだよ。
>>7 簡単な説明ということで無限ループにしました。
>>30 連立方程式は行列で解けたと記憶していてます。
それが高速かどうかは知りませんが・・・
相変わらずレベルの低いスレだな
34 :
名前は開発中のものです。:02/04/09 14:40 ID:LKMiCXFg
最初に出た斜面の質問です。
質量M、半径R、斜面θを距離Lを転がり落ち、のちに水平の面を転がりました。
その球は水平面をどのくらいの距離を転がるかって処理なんですけど、どのように実装
すればよいかわかりません。
ちなみに球の密度は一様と考えて慣性モーメントはI=(2/5)MR^2で、球は滑ることはなく必ず転がります。
空気抵抗とか摩擦熱とか
転がり摩擦もあるよ
38 :
ラジャ・ライオン:02/04/09 16:36 ID:qN7gQbnA
>>35 >>36 空気抵抗がないと止まらないんですか?
空気抵抗はなしと考えていたんですが・・・
>>37 ころがり摩擦はあるものとします。
書き忘れました、ラジャライオン=34です、会社からだったんでクッキーの設定が・・・
エネルギー保存則を守れば、位置エネルギーから変換された運動エネルギーをまた何らかの形で他のエネルギーに変換しなくてはならないんでは
だから、空気抵抗と摩擦によって熱エネルギーに変換されるんだってば
38に言ってるんだYO...
会社で調べた事を書きます。
I=(2/5)MR^2 ・・・球の慣性モーメント
dV/dt = 5*g*sinθ/7・・・球の加速度(1さん参考)
V = Rω ・・・角運動量(滑りがないので)
で、斜面での転がり摩擦が
F = I/(MR^2+I) Mg sinθ
慣性モーメントがI=(2/5)MR^2なんで、整理して
F = (2/7) Mg sinθ
となる。
で、平面の転がり摩擦が
F2 = μR*G*M*V
とあるんですが、慣性モーメントが関係してないような・・・
>>38 球と接着してる面との摩擦抵抗、それに空気抵抗がないと永遠に転がり続けるよ
>>43 最初に変数の説明を入れると内容が整理されて式の意味を理解できると思うよ
8 != 11 です。
格闘ゲームやジャンプアクションなどではちゃんと微分して
単位系を合わせた状態でも9.8では大きすぎることが多い、って
ことが言いたかっただけです。
車ゲーでも小さくしてるのが多いし、スト2に至ってはキャラ毎に
重力定数が変わる始末。
47 :
名前は開発中のものです。:02/04/09 21:21 ID:3EOUhYdw
8!=40320
45は書けば書くほど更なるDQNをさらけ出している
正直、どちらがよりDQNかは判断が難しい
>>49 禿同。
キャラクタの身長を実寸大(1.8m程度)にして実時間で計算すると、
重力定数が9.8では確かに大きすぎて、ゲームにならない。
よって、DQNは46と48に決定。
50は49の真意を勘違いしているに400ワット
52 :
名前は開発中のものです。:02/04/09 22:02 ID:t.HmzG4A
ヴァカ45が自作自演してるのか?
なぜDQNとかアホとか書かれるかわかってるか?
>>47 8! = 8*7*6*5*4*3*2*1 = 11じゃなくて
8 ≠ 11じゃないの?
54 :
51:02/04/09 22:05 ID:???
>>52 そーゆー脊髄反応的な態度自体はDQNだと思うに400ジーメンス
どうでもいいけど、論理座標の単位って普通 [m] で取るもんなの?
格ゲーとかが重力定数が9.8だと速すぎとかいう意見は、物理スレではスレ違い
なのでどちらでもいいと思う。
格ゲーとかのジャンプとかは物理じゃなくて移動手段。
だから物理の話をしようよ。
純粋に物理学的に考えても、フィクションなゲーム世界全てで重力定数がある一つの値である必要も無いだろうけどねぇ.....
個人的な趣味で言えば、十分に実世界に近い、身近さ、リアリティを感じられる仮想世界を基本として、その上で非現実を擬似体験した気分になれるゲームで遊んでみたいななな。
重力加速度が9.8じゃ大きすぎるとこのスレで書いているのは本当の馬鹿だと思われ。
さらになんの脈絡も無しに格ゲーに完全限定したことを論点にしているところもその馬鹿さの所以。
/ ̄ ̄ ̄ ̄ ̄\
| おまえらも |
∩_∩ | |
(´ー`) < 暇な奴ら |
( ) | |
| | | | だなぁ |
(___)__) \_____/
61 :
13:02/04/09 23:32 ID:???
>>59 単位も含めて考えるといいと思うよ
数字だけでやると勘違いする場合が多い
>62
(゚Д゚)ハァ?
約一名中学生@62が混ざりこんでるようで
どっちがどっちなんだか
66 :
58:02/04/10 00:08 ID:???
>>61 まぁ、おもしろさどうのこうのよりも発想ね。
あれは重力加速度なんてバラバラなんだし。(w
[RigidBody]
なかなか。リアルなぶん重くなる罠。
リアルなビリヤードゲームでないかぎり
あういう細かいのは切り捨てないと。
このスレは各個人の味付けで決定できる単位をこれでは大きすぎると言うスレですか?
というか、高校物理レベルの話をさもスゴイことのように話すスレですか?
>>67 さぁ?一部の厨房がお互いに煽ってるだけなんじゃない?
まぁ、無視しとこうや。
高校レベルということもないのだがそれはさておき
今読みなおしてみたけど8と11が主張していることは相当ドキュソだな・・・。
つーか68は8か11のどちらかのような文の書き方だな・・・。
71 :
68:02/04/10 00:42 ID:???
いや、正直どっちでもないよ。
もう9.8系の煽りは止めろ。正直、分からない、しかも気づかない奴は放置。
加速とかさせたい時とか、数学チックな処理をしたいときは大体○○の何乗とかだけ合わせて、定数は適当に調整するようにしてる。
それっぽく動いて、ゲームとして良い感じなら別に何でもいいかな、と。
シミュレーションしてるわけじゃあるまいし。
手から波動を出す事が許されて、重力が半分の大きさになるのが許容されないなんて言わないよな?
73 :
11:02/04/10 00:43 ID:???
11は自分だけど、いいたかったのは
・9.8という数字はあくまでSI単位系での数値9.8m/s^2のことである
・さらにいえば地球の地上付近での値なので、例えば月面での値は9.8m/s^2ではない
・そもそもゲームではちゃんと現実をシミュレートする必要がない場合が多い。というかほとんど。
ってことを言いたいだけなんだけど。
>>11は違うこといってるじゃんっていうのだったらそれは表現がまずかったと謝る。
こんなこと正直どうでもいいと自分でも思うけど、まぁ一応。
76 :
13:02/04/10 01:31 ID:???
>76
何を試すんだ?
うごきゃオッケってこと?
78 :
77:02/04/10 01:48 ID:???
動かし方サパーリ理解できんかったが動くには動いたよ。
AthlonXP1800+,GeForce3Ti500,Win2K,DirectX8.1で動作。
79 :
13:02/04/10 01:54 ID:???
>>77 ありがと
自分が、AthlonXP1700,GeForce3Ti200なんで 完全上位互換な環境ですね
できたら、GF2とかATIとかの人にも…
操作のしやすさまで、気がまわりませんでした(汗
80 :
77:02/04/10 02:13 ID:???
81 :
13:02/04/10 02:21 ID:???
>>77 そこは、完成度何%って書くのが義務みたいなので躊躇してたり…
ESCで終了が一般的ですね、立ち上げてすぐ終了ってケースが多く
遠いキー使うのが嫌いなのでENTERにしてました
ESCでも終わるようにしとこ(w
82 :
77:02/04/10 02:25 ID:???
>81
>ESCでも終わるようにしとこ(w
是非w
ゲームのための物理・・・かぁ。
でも、人間が心地よいと思う動きは神様が創ったルールに即したものでは
ないと思うのだ
RigidBodyを見てなお心が揺れない想像力貧弱な自分は、転職でも考えようかな。
地球とは違う秩序ある法則に基づいた仮想ブツリ空間を作ったとして、
一体、そこで何をしよっかな。
こんな箱があったらいいなぁ、ではなく、これを入れたいからこんな箱を
作りたいなーくらいの気持ちがないと駄目かなぁ
次世代ハードとおんなじだね
実際、手にしても持て余しそう。
ま、持て余すおいらみたいな人間は、3Dオヤジで終わるか。
50歩100歩。2D爺3D爺。
負け組みは終了と
84 :
名前は開発中のものです。:02/04/10 09:18 ID:lDfZ/TIk
>>83 2行目以降読んでいないので何が言いたいのかわかりません。
1行で書いてください。
>>84 要するに何を見てももう何も感動しなくなってしまった。
もうゲーム作るのはやめるか。ってことじゃない?
オヤジの愚痴でしょう。とりあえず放っておくと。
個人的意見として、重力加速度は9.8じゃなくてGという変数でいいと思う。
そして「格ゲーとか重力加速度を調整する」という意見も正しい。
しかし、ここは物理スレであって、そういう意見は意味がない。
どうでもいいけど、慣性モーメントは高校物理じゃなくて大学でやるものだよ。
88 :
ななし:02/04/10 16:45 ID:FEP6Ot26
立方体(さいころ)を斜面に置くと、3つの状態がありますよね。
1.摩擦により動かない。
2.斜面を転がらずにすべる。
3.斜面を転がりおちる。
この3つの境界線ってどうやって求めますか?
また、加速度はどうやってもとめますか?
まず摩擦係数と垂直抗力から最大摩擦力をだす。
サイコロの重さから斜面に水平な力をだして最大摩擦力と比べる。
角度が45゚以下の時は最大摩擦力の方が小さければすべる。
そうでなければ動かない。
角度が45゚以上の時は最大摩擦力の方が小さければ転がる。
そうでなければすべる。
こんなところかな。あまり自信ないけど。
でもスゴロクのサイコロなら適当なサイコロの転がる
アニメーションを作って最後にどれだすか乱数で決めれば良いと思われ。
間違えた。
角度が45゚以上の時は最大摩擦力の方が小さければすべる。
そうでなければ転がる。
に訂正。
>>89 でも、加速度と摩擦の関係で速度が速ければサイコロは45度以下でも
転がるような・・・
-273.15度
Gは9.5m/s^2では大きすぎます
G=9.5m/s^2を使う人はまったくわかっていない厨房、死んだほうがましです。
9.78…
やや、こんなとこにもゆとり教育の影響が!!
重力加速度は10です。
Gは9.2m/s^2では大きすぎます
G=9.2m/s^2を使う人はまったくわかっていない厨房、死んだほうがましです。
あのさー、簡単な物体だったら慣性モーメントが一意に求まるのは
分かるんだけどさ、そうでない物体はどうやって求めるのさ?
例えばさ、車だとか。
全て質点が一様に詰まっていて、しかもプリミティブな形状だけが
慣性モーメントの式が与えらてるだけじゃさ、なにかと不自由だと
思うわけね。だってそんな物体、日常生活じゃ稀じゃん?
車にしてもね、中、スカスカだしーぜんぜん質点が詰まってないから
重心がどうとかって次元が別の話なのか?ってね
思うんだけどさ、良くHPや教科書なんかで紹介されている剛体力学じゃ
車を転がすことはできねーんじゃねーの?と邪推してみたけど、どうよ?
>>99 その教科書は小学生用なのでちゃんとしたものを手に入れたほうが良いですよ。
>>99 点を詰める?んじゃなくて物体を点に置き換えるのでは?
現在ゲームで超リアル!といわれているものが納得いかないなら
有限要素法を使うことをお勧めします。ゲームになりませんが。
I= I_0 + m * d^2
105 :
名前は開発中のものです。:02/04/11 14:54 ID:Ao5ZUcTM
慣性モーメントはI=Σmrだよ。
だから、どんな形のものも慣性モーメントを求めることは可能。
106 :
103:02/04/11 15:13 ID:???
>>105 いや、実は104が正しいっす。つか上のはその式です。
平行軸の定理だな
>>99 あのさー、慣性モーメントうんぬんは大した問題でもないし
リアルに再現することは比較的簡単だ
1dもある車体に数〜数十`程度の足回りを剛性が馬鹿でかいバネで繋いだり
タイヤと路面の複雑な摩擦状態をシミュレートしたり・・・
思うんだけどさ、良くこのスレや物凄い勢いスレなんかで罵倒されている厨房じゃ
車を転がすことはできねーんじゃねーの?と邪推してみたけど、どうよ?
109 :
名前は開発中のものです。:02/04/11 22:34 ID:FH0jENaI
誰かこいつをバ韓国で養ってやってくれよ(藁
↓
http://yasai.2ch.net/test/read.cgi/doujin/1016348976/187 おまえら、昨日はおおもり先生の絵に血文字書き込んでうれしそーにいろんな伝言板に晒したりしてたな。
うれしそーに。
しかも、1日たっても「そのくらいなんてこたねーよ」というような雰囲気。
非難する奴も誰ひとりとしていないとはな。
おい、こんな事が許されることだと思うなよ。
その後のおおもり先生の鬱はいった発言をコピペしてまた叩いてたが
おまえらな、自分が苦心してやっと描き上げた絵をアップした直後にあんなことされたらどう思うよ?
相当ショックだぞ?
ショックこらえて書き込んだ発言も、散々揚げ足取ってコピペして晒しまくりかよ。
しかもお前等ほとんどなにがしかの物創る仕事してるらしいな…。
テメェらの血の色は何色だ!?ふざけるな!いい加減にしろ!!
いますぐNHKみれ!
少なくともおおもり先生を語る資格はない。
…とんでもない。最低の奴らだ。
同人板、コミケ、オタク業界…いやもう日本から出て行け!
お前等みたいなクズ共と同じ世界にいると思うだけで反吐が出る。
韓国でもコミケのような大規模な即売会やってるらしいからそっちいけ。
おおもり先生もこんなクズ共に延々と張り付かれて…かわいそすぎ。
これで気が狂わない方がおかしい。
重力加速度って9.8だと速すぎるよね?
>>110 速すぎます。
9.7999999にしないとダメです。
112 :
名前は開発中のものです。:02/04/12 02:16 ID:arFX6iCs
>>110 空気抵抗を完全にシミュレートしてないからだよ、チミ。
113 :
名前は開発中のものです。:02/04/12 04:46 ID:gIjeslsM
>>6 >vec += G*dt;
>y += (int)vec;
重力加速度は加速度であって、1秒間に9.8m落ちるんじゃない。
落下位置はy = G * t * t /2で求めるんだよ。
(´-`).。oO(なんでこのスレはリアル厨房が多いんだろう?)
このスレは3D系なのか?
>>110 単位も含めて考えないと間違いますよ
日本語で言えば9.8メートル毎秒毎秒です
>>113 >落下位置はy = G * t * t /2で求めるんだよ。
それじゃ、その公式でGを9.8として1秒単位で0〜5秒までの落下位置を求めてください。
0, 4.9, 19.6, 44.1, 78.4, 122.5
となります、この数列を移動ベクトルとして考えます(v = t - (t-1))
4.9 14.7 24.5 34.3 44.1
これで初項4.9、公差9.8の等差数列になりました。
不毛なスレだ。
重力加速度でいつもフィーバーになるのはなぜ?
終端速度をいれずに9.8が速いと言う罠
ビルから飛び降りるとかじゃない限り、
空気抵抗による終端速度はほとんど関係ないだろ。
アクションゲーム程度だったら結構影響するんじゃない?
ビルくらいの高さから落ちるだろう。
落ちる距離がなければその分軽いものが多いだろうし。
何落としてるかは知らないけど。
>慣性モーメントはI=Σmrだよ。
>だから、どんな形のものも慣性モーメントを求めることは可能。
んなことは、分かーてるよ。
けど、それをどうやってスキャンすんの?って話でわ?
直接に力学の問題でなくて申し訳ないんですが、例えば三角形と球の接触判定を
行うときに、交点が三角形の中にあるかどうかだけ判断したのではエッジ近辺で
めり込みが起こってしまう。
めり込みを防ぐために球とエッジ+頂点の当たりを取ると、今度は三角形を
二つ合わせた平面の継ぎ目近辺でエッジに変な判定が発生してしまう。
大した問題ではなかったので今までは無視していたのですが、なにか良い
解決方法はないでしょうか?
そもそもゲーム向け力学計算といっても、面倒なのは力学そのものよりも
むしろ接触判定にあるような気が。
128 :
名前は開発中のものです。:02/04/14 15:40 ID:J0CwLCts
>>126 あげ。
慣性モーメントは質力×半径(質点)だから、物体を細かく分けて考えればよい。
中心点から質点の距離(半径)は三平方の定理で求められるよね。
129 :
名前は開発中のものです。:02/04/14 15:52 ID:J0CwLCts
>>127 3角形と円の当たり判定は、3角形の3頂点と円の当たり判定(3平方の定理)
を判定して、当たってなかったら線分と円の当たり判定をすればよいと思う。
ちなみに線分と円の当たり判定は、円の中点Pにもっとも近い直線上の点H
を求めて、その2点を3平方の定理にぶち込めばOK。
もっと簡単な方法があるかもしれないから幾何に詳しい人補足プリーズ。
130 :
129:02/04/14 15:58 ID:J0CwLCts
あ、ごめん。よく読んだらその方法でダメなのか・・・
じゃあ、法線ベクトルを求めて、3角形と点の内外判定をすれば?
もちろん、3角形は円の半径分大きくしてね。
全部四角形で当たり判定するとか・・・
132 :
名前は開発中のものです。:02/04/14 17:51 ID:YJV4FsYY
一流のゲーム会社での新卒に必要な技能とは、1に数学、2に物理、3に英語だそうです。
一流企業の就職筆記試験にでるのは、この3つだからね。
>>127 線と点の距離、面と点の距離で判定をするんじゃだめなの?
高校二年の教科書に載ってるよ。
>>127 if(面と球の中心の距離<=球の半径){
if(垂線の足が三角形に含まれる) return true;
}
for(i=0;i<3;i++){
if(辺と球の中心の距離<=球の半径){
if(垂線の足が線分に含まれる) return true;
}
}
for(i=0;i<3;i++){
if(頂点と球の中心の距離<=球の半径) return true;
}
return false;
その条件で、接触判定する(真偽を得る)だけならこれで良さげ
"変な判定"が何なのか謎
うへ、インデント消えてる
2ch初心者なの丸出しじゃん!
137 :
127:02/04/14 20:05 ID:???
>>135 ソースまで出してもらって感謝です。
こちらの実装も、処理の流れは
>>135とほぼ同じです。
接触判定の真偽値自体には問題はないです。
問題なのは、その後の計算のために法線を取り出すのですが、辺と頂点に
当たったときには接触点から球の中心に向かうベクトルを法線としています。
三角形1枚ならそれで問題ないのですが、2枚以上並べたときの継ぎ目で
球がわずかでも面にめり込んでいるときには、もう1枚の三角形の辺に
斜めから当たったとみなされる場合があります。
三角形の継ぎ目を低速で転がって通過しようとしたときに稀に発生します。
計算の都合で面へのめり込みを許容しているので、このような場合の良い
回避方法が思いつかないです。
言葉足らずで失礼しました。
>>137 角と円と法線のことをもう一度よく考えてから発言してみてください。
つーかアホか?
139 :
135:02/04/14 21:06 ID:???
面へのめり込みを許容してどうする?って気もしますが
135のやり方は、球・三角形ともに停止していて、
その後の補正を考えない場合にしか使えません
球が移動しているなら、移動前の球→移動後の球をカバーするような
カプセルで考えないと破綻するはず
>>137 とりあえずなんでもいいから適当な図でも描いてくれれば
コメントしやすいと思うが。AAでもいいし、画像なら
その辺のあぷろだに うpしてリンク貼るとかさ。
補正しないのもドキュソだが法線を取れないのもドキュソだな。
線分と円の中心の距離が円の半径よりも小さくなったらそれは接触しているということだろ?
その法線は線分に直角な円の中心点を通る線だろ?
これ二次元ならば中学生の数学。
142 :
127:02/04/14 21:57 ID:???
アホな質問ですみません。
>>139 単純に、めり込んだ量に比例して押しかえすやり方で跳ねかえりを計算してるので
そのような処理になっています。
>>138から判断すると、
球が辺に接触していると判断されたときにどの方向に跳ね返せば良いのか、
を間違っているか、そもそもめり込みを許容していること自体が問題である、
という事でしょうか?
複数のポリゴンに同時に当たった時に、逐次、見つかった順に計算しているのも
問題かもしれないですが。
剛体の計算自体は本を見ればいくらでも資料がありますが、接触判定のアルゴリズムに
なるといい資料が少なく、試行錯誤中です。
143 :
127:02/04/14 22:09 ID:???
>>141 >線分と円の中心の距離が円の半径よりも小さくなったらそれは接触しているということだろ?
>その法線は線分に直角な円の中心点を通る線だろ?
137の「接触点」という言い方がまずかったのかもしれませんが、
「接触点から球の中心に向かうベクトル」が線分と直行しているので
その点については間違っていないかと。
とりあえず、三角形1枚との当たりに関しては、問題なく動いています。
2枚が隣接していても、実用上問題ないレベルで、大抵の場合は上手く動いています。
ただ、もっと良いやり方があるなら知りたい、と。
>めり込んだ量に比例して押しかえすやり方で跳ねかえりを計算してる
物理の授業で一番最初にやるはねかえり使ってやった方が簡単だし確実。
>>143 どんな処理するために3角形使ってるかわからないんだけどさ。
3角形を隣接させるってどういうこと?
本当に3角形でいいの?本当は凸角形の当たり判定でいいんでなくて?
147 :
135:02/04/14 23:31 ID:???
私も数年前、かなり悩みました
平行移動・回転する任意形状の剛体が多数ぶつかり合うケースまで考えると、
すごく重いので、いまだに試行錯誤中って事になります(w
辺との判定をoffにしたら、その坂のポリゴンの継ぎ目で、
・すり抜けることがある→「交点が三角形に含まれるか否か」で判定ミス
・問題無い→誤差のせい
と予想
148 :
135:02/04/14 23:42 ID:???
移動後の状態だけで考えるなら、交点じゃなくて最短(近?)点ですね
補正してから面を優先にして判定してやるだけじゃん。
なんでそれを思いつかないんだろうか?
150 :
名前は開発中のものです。:02/04/14 23:56 ID:YJV4FsYY
>物理の授業で一番最初にやるはねかえり使ってやった方が簡単だし確実。
127は剛体とか言ってるので跳ね返りでやるといろいろ問題多いよ
単純にペナルティ法使ったほうが楽なこともある
151 :
150:02/04/15 00:06 ID:???
>>137 あと根本的な解決じゃないかもしれませんが,
面ごとに辺との当たりをとらずに,
当たり判定用に辺データを持っていれば済むような・・・
>>151 サイコロを転がすならいいが
棒とか面につきさすような感じでぶつかって来たらどうする?
153 :
127:02/04/15 00:09 ID:???
当たり前といえば当たり前のことなんですが、論文などを参考にして
厳密にやろうとすればするほど重くなって実用的でなくなるので、
どこでバランスを取るかを考慮中です。
とりあえずめり込みを前提にするのが間違っている、というのと
凸多角形で判定すればいい、とのアドバイス感謝です。
>>めり込んだ量に比例して押しかえすやり方で跳ねかえりを計算してる
>物理の授業で一番最初にやるはねかえり使ってやった方が簡単だし確実。
最初は物理の本に載っているような跳ねかえりの式を使っていたんですが、
重力などで物体がじわじわめり込んでしまうのを補正するのと、多数の
移動する剛体同士の当たりをとる過程でペナルティ法の方が簡潔に処理
できるようだったので、今はそちらを使っています。
めり込みの大きさと方向だけわかれば後はそれぞれの物体に力を加えるだけで
計算できるので、あまり厳密でなくとも良いゲーム向けには便利ではないかと
判断しました。
跳ねかえり定数を自由に決め難いのが難点ですが。
>>152 「辺だけ」ではなくて,「辺の当たり判定用にデータを」という意味です
「同じ辺で2度当たってどうのこうの」って問題に見えましたので・・・
155 :
150:02/04/15 00:15 ID:???
>>153 ペナルティ法って実際どのように実装してますか?
単純に
F = 深さ * k - 相対速度 * e
こうするとバネと同じで発散しやすくないですか?
ちょっと教えて下され
156 :
153:02/04/15 21:53 ID:???
>>155 素直にその式で実装しています。発散しやすいです。
とりあえずはeを大きめの値にして誤魔化しています。
現実でも跳ね返り係数が大きいものはあまりないので
まぁいいか、と。
そのへんはかなり適当です。ダメだなぁ・・・
こういうのを簡単に上手く処理する方法ってないものですかね?
物体数が多いといろいろ面倒。
157 :
150:02/04/16 01:19 ID:???
>>156 レスどうもです
最低数回は埋まり状態にないと保存しませんから
ルンゲクッタで精度あげたり・・・(やったことありませんが)
基本は跳ね返りで,埋まりにだけペナルティ法とか
だんだん重くなって行く〜
えっと、埋まった分を戻す時、他の物体も戻してる?
ほら、現実世界では埋まらないでしょ?
だから、埋まる前の衝突瞬間を求めて、世界時間をそこまで
逆戻ししなければならないんじゃないかなぁーなんて思うわけ。
159 :
150:02/04/18 17:56 ID:???
>>158 私はそこまでしてません
接触状態では時間が進まないですね
となると場合分け(接触状態かどうか)が必要になるかな?
160 :
153:02/04/18 20:06 ID:???
こちらでもゲーム向けなのでそこまでの厳密さはいらないと判断してます。
必要以上にめり込まない、壁を突き抜けない、運動が発散しない、の3つが
成り立ってそれっぽく動けば、後はどれだけ処理を軽くできるかが勝負かと。
ところでペナルティ法ではない跳ねかえりの式で、多物体の積み重ねってどの
ような処理で行っていますか?
めり込んだ距離や移動量、質量などに応じて押し返したり速度を減衰したりなど試しては
みたのですが、じわじわとめり込んでいくのを上手く回避できませんでした。
なにか良い方法はないものでしょうか?
161 :
名前は開発中のものです。:02/04/22 15:32 ID:qrK3TQcc
>30
>ところで連立方程式の解法には何を使いますか?
>消去法,ヤコビ,SOR,ADI,CGなどなど
それぞれの手法について説明お願いできます?
>>153さんのやり方は埋まったら埋まった量に応じて反発させるってことですか?
もしそうなら、高速で移動しすぎて突き抜けちゃうこともある?
163 :
135:02/04/22 23:43 ID:???
ペナルティ法の定義は良く知らないけど、自分がそれっぽい方法使ってた時は
めり込みの深さは速度に影響を与えず、フレーム内で100%押し戻してました
前のフレームで衝突寸前な場合に激しく跳ね返るっていう、見た目の不自然さを
解消できそうになかったし、めり込みを後のフレームに持ち越してると
最終的に埋まっちゃったり、すり抜けたりする危険があるので
>>163 たぶん、127がやってる方法でその問題は発生していないんじゃないかな。
速すぎるとツキぬけるかもしれないけど。
ちなみに、自分は衝突判定ベースの当たり判定を試みたことがあったんだけど、
floatだと精度的にキツいものがあった。原点付近と原点と離れたところでは
有効桁の違いで計算結果に影響が出て、完璧に保証するのは難しいと
感じた。ちなみに、前提条件として、衝突する物体は判定を行う対象と
重なっていないこと、というのがあったからなんだけどね。
(固定小数点で判定するばイケそうな気もした)
ラインなんかに対して限りなく平行に近い状態で衝突しようとした時は、
かなり悲惨だったような。
安定した動作を期待するなら、127が良いと思うよ。
もしくは状況によって使い分けることが必要だろうね。
オマエのコーディングがへぼいんじゃ?という人が居たらご教授ください。
165 :
名前は開発中のものです。:02/04/23 04:15 ID:3ABxQxw2
>>30 連立方程式ならガウス法で充分でしょ。
32が言うように行列にしてLU分解してピボット処理すればいいし。
>165
LU分解とガウス法は全く違う手法ですが。
168 :
167:02/04/23 09:43 ID:???
ちなみにCGは対称行列のみ
有限回数の反復で厳密解に達するらしいです
169 :
名前は開発中のものです。:02/04/23 14:37 ID:3ABxQxw2
>>166 名著「C言語による最新アルゴリズム事典」奥村晴彦著を読みましょう。
係数が0に近づくと、ガウス法では解けないので、LU分解してピボット処理を
行うのです。
>169
それが何か?
>>165-166 >>169-171 ___
/ \ ________
/ ∧ ∧ \ /
| ・ ・ | < おめーらレベル低すぎ
| )●( | \________
\ ー ノ
\____/
Gaussの消去法とLU分解は実質的にまったく同等だっつーの
枢軸選択はGaussの消去法でも使えるっつーの
ふむ、そうなると、なんでアルゴリズム名が違うのかが謎ですな。
「実質的に同じ」って何が言いたいんだかわからん。
必要な計算量が全然違うだろうが。
LU分解はGauss法の冗長な処理を削って洗練させただけ。
「全然」というほどは計算量は違わないぞ。
そうだな。計算量は3倍しか違わないですな。
対称行列なら6倍しか違わないですな。
177 :
名前は開発中のものです。:02/04/23 18:57 ID:qP26dnQc
小行列に分解する方法はなんて呼ばれてるの?
大きな行列をどんどん小さくしていって解くやつ。
余因子
180 :
名前は開発中のものです。:02/04/23 23:12 ID:jfgo05Hk
>177
そうそう。
機械的かつ簡単なんで、自分はこれでやっちゃってるけど、さすがに重そう。
これよりもちょっと効率が良くて、かつ、さほど難しくないのってどれかなぁ。
181 :
名前は開発中のものです。:02/04/24 18:36 ID:K0E1j0mI
厨房ですいません、ペナルティ法ってなんですか?
ネットで検索かけたんですけど、どのようにゲームに適用するのかわかりません。
どこか詳しく解説しているHPとかあったら教えてください。
182 :
名前は開発中のものです。:02/04/24 22:02 ID:xCbWm4T.
>181
物体がほかの物体にめり込んだときに
めり込んだ量に比例して反力を発生させてめり込みを防止する
って方法じゃなかったっけ?
撃力の計算とはまた別次元で、あくまでめり込み防止策だと思ってたんだけど
どうなんでしょうかね・・・?
KanoたんのRigidBodyはペナルティ法だね
184 :
名前は開発中のものです。:02/04/25 16:25 ID:QMcCq9m6
ペナルティ法は、kanoさんのBBSで解説されています。
物体を固いバネとして、フックの法則で処理してるらしい。
検索エンジンで「kano」「ペナルティ法」で検索してみて。
185 :
名前は開発中のものです。:02/04/25 18:57 ID:OIDKWVBY
ペナルティ法=めり込んだらバネで跳ね飛ばす法
対称行列の対角化ってどうするの?
もちろん計算機にやらせる方法なんだけど。
>>186 計算機がやるのと人がやるのを区別している時点でダメかも
188 :
186:02/04/28 23:28 ID:???
>>187 私の言葉が悪かったですね。
逆行列を求めるときのクラーメルの公式のように、
一定の処理で答えを得る方法があれば知りたかったのです。
手順を不定数繰り返すような方法ではなくて。
そんな方法はない、ととってよいでしょうか?
189 :
名前は開発中のものです。:02/04/30 02:51 ID:usumw5wg
ムーア・ペンローズの一般化逆行列ってどう?
190 :
:02/05/01 22:02 ID:hP64kl/k
フェルマーの最終定理の証明もできないやつがゲーム業界くるなよ。
このまえなんかテーラー展開すら知らないドキュソが来た。
テイラー展開ぐらいで天狗になるなドキュソ。
あたしって、旅慣れてるから、旅慣れテーラー?
フェルマーの最終定理の証明できるくらいで威張ってるならばゲーム業界くるなよ。
このまえなんかテーラー展開で威張ってるドキュソが来た。
やっぱりゴールドバッハ予想くらい証明できないとね
お前ら寒いよ。
バナナで釘が打てるくらい寒い。
197 :
名前は開発中のものです。:02/05/03 11:58 ID:IYsMvn.w
最近は、円周率を3で教えるとか
いいっちゃ良いよね。
計算の内容さえ理解できれば。> π
最近はマラソンも42kmでよいそうだ。
世界一不正確な円周率 = 4 だって。ギネスに載ってたよ。
3じゃないって事さえ教えれば良いと思うがどうだろ。
でもπ=3だと正六角形の一辺の辺と円の半径が同じならば
どちらも周囲の長さは同じ罠。
あと円周率は3って決めつける厨房教師もでてきそう。
ほら、反比例のグラフを定規で書かすやつみたいに。
202 :
名前は開発中のものです。:02/05/04 00:29 ID:4m79E84c
玉が転がるときの
転がり摩擦と滑り摩擦はどう違うの?
203 :
名前は開発中のものです。:02/05/04 03:26 ID:SDeID7JM
静摩擦と動摩擦
204 :
名前は開発中のものです。:02/05/04 09:34 ID:gi.FYHWY
205 :
名前は開発中のものです。:02/05/08 00:46 ID:wjoxu7eY
正直、流体力学はゲームに使えるの?
あと、渦なしの水面が
>>(∂/∂t)^2 z = k Δz (ただし、Δ = (∂/∂x)^2 + (∂/∂y)^2)
になるのはなぜか教えてちょ。
ひとよひとよってなんのことかおしえてちょ
スーパーマリオで慣性の法則が何たるかが分かった奴もこの世には居るはずだ。
>>205 解が波動関数になってそれっぽいから.
渦無しって粘性ゼロという意味だっけ.
量子力学でそんな話があったような無かったような
正直使えないのでは?
毎フレームFEM解くのは量子コンピュータ待ちか
某掲示板からのコピペですが、
----------------------------------------------------------
剛体に同じ力を加えても、重心の加速度は同じで、
角加速度が違ってくるのは、同じ力積なのにエネルギーが
変わるから変な気がするんですが、誰か教えてもらえませんか?
それとも自分の考えが間違っていますか?
-----------------------------------------------------------
ってどうなんでしょう?
力積とエネルギー(仕事)は根本的に単位が違うよ。
「力積が同じでエネルギー変化が異なる」という例は、
ほかにもいくらでも考えられるよ。
211 :
名前は開発中のものです。:02/05/13 23:48 ID:WAy/mj8A
>209
そもそもどうやって力積を求めているのか、
そこをちゃんと理解してないのでは?
213 :
名前は開発中のものです。:02/05/14 21:49 ID:.e.pT2og
214 :
名前は開発中のものです。:02/05/17 11:28 ID:WVs5nPNA
剛体間のヒンジ拘束はどういった拘束条件になるのでしょうか?
点拘束(ボールジョイント)二つ付けると過拘束になって
数値的に不安定になりそうです.
ボールジョイント+スライダジョイントでしょうか.
215 :
名前は開発中のものです。:02/05/17 18:35 ID:GL4pTvyU
ヒンジ拘束ってどういう拘束?
二つの剛体が完全に一体化されている状態?
ヒジとかヒザみたいな1自由度の拘束だよ
ヒンジなんてハイカラな用語使うなよ。
日本人なら蝶番(ちょうつがい)と言え。
>蝶番拘束
構造力学で静定,不静定ってのを習いましたがそんな感じです
ボールジョイント2つだとたしかに不静定になるけど、数値計算的に
不安定ってことはないと思うよ。ただ、解が一意に決まらなくなるので、
拘束力ベクトルの長さを最小にする、みたいな条件を適当に付加すれば
解を決めることができるようになる。
220 :
名前は開発中のものです。:02/05/18 14:20 ID:r7tHRVkg
拘束の運動方程式ってみんなどんな方法で解いているんですかね?
連立微分方程式?連立代数方程式?
ニュートン力学で解いている方も居ますよね?
221 :
214:02/05/18 21:35 ID:???
>>219 なるほど勉強になります
>>220のどれで解いているのか解りませんが,
拘束力を加速度(もしくは速度と撃力)の関係を連立方程式で解いて,積分すると拘束される.
という感じです.力だからニュートン力学かな?
{拘束点間の相対速度}={拘束撃力}{質量とか慣性モーメントとかの行列}
これをそのままニ点間(6行6列)で組み立てても,一意に求まらない?
で,なにか条件つけて未知数5個にするわけですかね?
んー数学もっと勉強しておくんだった...
222 :
220:02/05/18 21:43 ID:ur3STz7o
214さんはまだ拘束運動はうまく行ってないんですか?
219さんは詳しいですね。
やっぱり連立代数方程式を反復法とかで解いたんでしょうか?
KanoたんのRigidBodyは拘束運動はやってないよ
225 :
214:02/05/18 22:31 ID:???
ボールジョイント(点で拘束)なら上手く動いています.
どっかのスレにある触手みたいな感じ.
60FPSとかだと誤差の蓄積でずれて多少の補正は必要で,
内力でコントロールとかは出来ていませんが.
全然理解していませんが,
解析力学+ロボット工学にでてくる方法(ラグランジュ方式?)のがいいのですかね.
ロボット工学の成績は20点くらいだったなぁ・・
226 :
220:02/05/18 22:48 ID:ur3STz7o
>225
目で見てわかるほどの誤差が出ますか…。
私の場合、微分方程式+重心に働く力、とかなら誤差も無くうまく行くんですけど
外部から撃力が働くと難しいんですよね。
ロボット工学とかはかなり知識を積み上げないと難しいですね。
未定乗数ってなんなんでしょ?
227 :
214:02/05/18 23:32 ID:???
>微分方程式+重心に働く力
ちょちょっと無学なものでよく解りませんが誤差が無いのはいいことですえ.
一応いろんな人が見ていると思うので簡単に私の方法を書いておきます
今は無き「こってり屋」さんに書いてあったのそのままですが,
2剛体間の一点拘束に限って,撃力を用いて書くと,
拘束撃力Pをうけて拘束点の速度VpはVp’に
Vp’ = Vp + P/mass + ((p×P)[I]^-1)×p
(mass:質量,[I]^-1慣性テンソルの逆,左手系のDirectX型表記です)
拘束条件:2剛体の拘束点間の相対速度はゼロ
Vp1’ - Vp2’= 0
これを組み合わせてPを前に出して緩和法で連立方程式を解いています.
dV/dt=0ですが,外力等を別にかけますのでVp1≠Vp2です.
目に見える誤差は,回転と瞬間速度(ω×pの部分)の関係によるもので,半径方向に離れて行きます.
また位置ずれも考慮して,X1=X2として解くとneko氏のAB法みたいになる?
228 :
220:02/05/19 00:14 ID:rC1StVSg
結局求められるのは拘束力の大きさ&向きですか?
それから2物体にその力を加えてΔt経過後の剛体の状態を求める、と。
拘束力の向きってどうやって決められるんでしょうかね?
緩和法って非線形計画法とかの一種でしょうか?
無知でごめんなさい。
229 :
220:02/05/19 09:38 ID:vEaFH5.k
ぼけてたかも。
連立方程式を解けばおのずと拘束力のベクトルが得られるんでしょうね…。
v1' = v2' という拘束条件で解けば大丈夫そうですね。
拘束力が増えたら連立させる式を増やせば対応できるとか…?
230 :
214:02/05/19 09:49 ID:???
yes,thats right
んー、ゲームと関係あるのかな?このスレ・・・
ぶっちゃけ、個人で作るレベルのゲームでここまでするモノは、ない。
技術でもとかならご存じの通りやっている人間も多くいるが。
>>232の日本語はよくわからないけど、「個人で作るレベルのゲーム」ってなんだろう・・・
こういうのを理解して動かせるものを持ってきてくれる新人さんがいると嬉しいねぇ。
話はそれるけどPSのパネキットって、あれだけの関節数分を全て連立方程式を
立てて解いてるとは思いにくい。
空気抵抗が極端に大きな世界にすれば、もっと擬似的な方法でも上手く動いて
いるように見せられるのかな?
とりあえず点拘束とスライダー拘束(一方向だけ移動可能)
を用いて蝶番上手く行きました.
対称行列になるように工夫して
SOR法を共役勾配法に変えたら数回で収束するようになりました.
>>231 一応ゲームでのキャラクタの動きに使えないかなと思っております
>>228緩和法ってなんでしょうか・・・反復法のまちがいでした
激しくsage
>>234 >関節数分を全て連立方程式を立てて解いてるとは思いにくい
解析解という意味でなら「ご明察」。普通は解かない。
これからは物理学の時代
239 :
234:02/05/20 22:41 ID:???
>>237 解析解を直接は求めないという意味で、反復計算で解を求めるペナルティ法と
似たような感じの計算になるんでしょうか?
お互い力を与え合った後に位置のみ拘束、とか・・・
そのままではあまり上手く行きそうな気はしないですが。
240 :
名前は開発中のものです。:02/06/12 19:31 ID:tp.yTmZ.
お勧め力学書籍あれば教えてー。
特に揚力についてそれらしい方法が知りたいのです。
>>240 英語OK!多少冗長でも良い、というなら O'REILLY の Physics for Game Developers
の7章あたりで。
242 :
名前は開発中のものです。:02/06/13 07:49 ID:ie16BrZQ
>241
その本って日本の本屋で売ってるとこありますかね?
やっぱり注文?
O'REILLYは良書が多いよね(´ー`)y-~~
CやC++のお薦め書で、よく独習シリーズとか
挙げられるけど、私はO'REILLY本を強く推したい所。
サルベージキタ━━━━━━(゚∀゚)━━━━━━━!!
>>242 俺は田舎者なんでBARNES&NOBLE(元fatbrain)で注文しましたが、東京とか
だと売ってる店もあるんでは?
なんでAmazonを使わないのかにゃん?
クーポンあったから。
鉛直に立っている質量m、高さhの棒が倒れるときの時間tを出したいのだが、
これで合ってますか?
1/2*I*ω^2=m*g*h^2/2
1/2*(1/3*m*h^2)*(θ/t)^2=m*g*h^2/2
t=sqrt((h^2*π^2)/(12*g))
全然違う気が。
位置エネルギーが、どうやって出せばいいの分からない。
適当に積分してみたのだが。
というか、力学的エネルギーの保存を使って出せるかどうかも分からない。
鉛直に勃ってたら倒れないだろ
俺なんて勃ちやしない
252 :
名前は開発中のものです。:02/06/23 09:48 ID:ej4bQm5w
Physics for Game Developers
って拘束運動についての解説はある?
>249
棒の太さは限りなく細くて、立てると必ず倒れてしまうってこと?
地面に接してる部分が地面に固定されてるかどうかにもよるねえ・・・
254 :
名前は開発中のものです。:02/06/23 10:45 ID:ApU4TZAU
>249の式はワケワカラン
等角速度なの?・・で倒れる?
倒れるって事は角速度が増えて行くでしょ。
あと、条件少なすぎます。滑る、滑らないとか。
で250の言うとおり。
おまえらあたまよすぎ・・・
オレなんか忠一の問題久々にやったらまったくできてなかった。
拘束運動の話題が好きな人がいるようだな。
257 :
249:02/06/23 16:10 ID:???
すまん。皆の言う通り条件が足りなかった。
確かに鉛直の棒が倒れるわけがないよな。
では、振り子運動のように棒の端を固定し、もう一方の棒の端を持って地面と
水平にして手を離した時の運動は、力学的エネルギーの保存は成り立つのか。
その時の位置エネルギーはどうやって出すのか、聞きたいんですよ。
文章力が無くてスマソ。
258 :
249:02/06/23 16:13 ID:???
摩擦は考慮しないで、
259 :
名前は開発中のものです。:02/06/23 17:35 ID:IirCBvFI
僕も聞きたい。
誰か教えて。
>>力学的エネルギーの保存は成り立つのか。
成り立つよ。
話を簡単にするために、棒を針金とし、針金は点の集まりだとする。
地面からの高さhの点の位置エネルギーを 0 から 針金の長さHまで積分
すると、その垂直にたっている針金の位置エネルギーが求まる。
手で、横から押して倒す。教科書的に書けば、「十分にゆっくり押した」
とすれば、手による位置エネルギー増加はゼロ。
地面に倒れきる瞬間、各点は全て地面に対して垂直の速度ベクトル。
と同時に、全点の位置エネルギーがゼロなんで、当初の位置エネルギーは
全て、運動エネルギーに変換されている。
実際、実験してみると分かる。
質量 m はかき消され、空気抵抗を無視すれば、高校生でも鉛筆倒して
概算で求まる。
>257
水平だと既に倒れているような。
垂直な状態からほんの少しの初速或いは
角度を持たせて倒れさせるってことか?
回答もうでたな、スマソ。
263 :
名前は開発中のものです。:02/06/23 23:03 ID:Ufe3tzVY
>260
質点で考えると位置エネルギーは質点の位置で簡単に求まると思うんだけど、
剛体の場合はどう考えるの?
重心においてのみ考えればいいの?(違うかな)
>263
ファイナルアンサー
実際シミュレーションする場合ってΔt刻みで数値積分するんじゃないの
重心が普通に自由落下するんで良いんじゃねーの。
>冲刻みで
位置エネルギを?265だけ別の話を始める気がするが。
269 :
名前は開発中のものです。:02/06/24 18:04 ID:pOM.vn2.
>257
位置エネルギだけが知りたいのなら重心位置でmghだ。
すると水平状態から垂直状態まで振った時点で
棒の長さLとすると、位置エネルギが0.5*mgL減ったことに成る。
エネルギ損失が無いと考えると、
棒の回転エネルギ+重心の運動エネルギ=0.5*mgLになる。
あげちゃった
271 :
名前は開発中のものです。:02/07/21 22:51 ID:9NNV2fVE
age
272 :
名前は開発中のものです。:02/07/22 00:21 ID:yfTR8dqc
鎖のシミュレーションは?
サルベージキタ━━━━━━(゚∀゚)━━━━━━━!!
でネタは?
274 :
名前は開発中のものです。:02/07/22 17:18 ID:0dwZh47I
やっぱ時代は拘束運動だよね。
拘束運動の実装法について話し合いましょうよ。
やっぱ時代は高速運動だよね。
冲に対して速度が速すぎる場合について話し合いましょうよ。
すみません 猿ぐつわの拘束具合と快感度の関係が上手く表現できません
快感度 K [1/s] = τ * 猿ぐつわの拘束応力 s [N/m^2]
この快感係数τ[kg/ms]は標準的な20代女性ではいくらくらいなのでしょう?
理科年表にも乗っていませんでした お願いします
つまらん
流体やろう、流体。
∂v/∂t + (v・∇)v = -1/ρ ∇P + ν∇^2 v + F
どだ!
>278
移流項カワイイ
(v・∇)v <萌えキャラ誕生の予感
ν(^∇^2 v <粘着キャラ
(ρ ∇P) < ヒロイン
283 :
名前は開発中のものです。:02/08/12 16:32 ID:fDEX4cep
age
sage
285 :
名前は開発中のものです。:02/08/12 18:33 ID:Tqg5mEZ5
2Dで数十セルの等間隔格子の差分式なら余裕で解けそう(経験無し)
対岸まで渡りきるカヌーゲームとかどうよ?
ランダムに岩を配置して(境界条件与える)
障害物流したりしてタイムを競うみたいな。
286 :
285:02/08/16 19:17 ID:???
PIII 750MHzで54fps、正常に動作しました
>287
ありがとうです
PIII 750MHzで54fpsですか
自分の環境を最低条件としてやってみます。
あんまり数値計算する必要ないかもしれないけど
一応やってみます。
こんなsageスレにresありがと〜(T_T)
289 :
285:02/08/17 15:54 ID:???
流速(Re数)を小さくしたらゲーム部分を含めて30FPS固定でいけそう
要は圧力のポアソン方程式を陰的に解く部分が重いから
できるだけ流れを乱さなければかなり収束が速い
しかし乱れが無いと面白くない。微妙
288はベロベロに酔ってたからキャラが違うな。。。
それをどのようにゲームに応用するのかと問い詰めてみたい。
もうちょっとセルを細かくとれたら面白そうなんだけどね
まぁミニゲームくらいのものでも。
292 :
名前は開発中のものです。:02/08/19 21:48 ID:1IcqCZsS
拘束力を求める式を立ててみたんだけど解が収束しません。
2Dでいいので、解けた方解説お願いします。
まじめな話。
収束しないってのはどういう状況?
まじめな話。
294 :
292:02/08/20 18:06 ID:fWzQDuSg
連立方程式を立ててヤコビアンを使って解を求めようとしたんですけど、いつまでも計算が終わらないんです。
立ててる式が悪いのか、そもそも解がないのか、解き方が間違っているのか、いずれか分からないのですが。
293さんは解けました?
296 :
292:02/08/21 23:41 ID:2nP1/gqr
上の論文、よく読んでないんで間違ってるかもしれませんが。
この論文だと解析力学を使っているみたい、ですよね。
ラグランジュとか言ってますから。
この論文にあるような、わりとシンプルな構造の機構(クレーンなど)
なんかなら私も微分方程式なんかを使って決め打ちで式を立てられるんですが、
そうではなくて、拘束力を個別に求める方法で解を出したいんです。
そこでちょっと本を調べてみたんですが、
連立非線形方程式を解くときにはニュートン法で解けるみたいなんですが、
連立超越方程式(sin,cosなどの超越関数を含む式)を解くときも同じ方法で解けるんでしょうかね?
このあたりのこと詳しい方居ません?
297 :
名前は開発中のものです。:02/08/22 01:20 ID:oIgwPyBv
ニュートン法は初期値の選択が肝だな
298 :
292:02/08/22 14:07 ID:yc43jVHE
>287
初期値の選択は肝ですが、決める指針はなかなか立ちませんよね。
グラフを書いて当たりをつけるとかしか。
ほかに方法あります?
299 :
名前は開発中のものです。:02/08/22 21:47 ID:ekrbD3Oq
>>296 式の中のsinとかcosって、拘束力の値を実際に計算する場合には
具体的な値に置き換えらるんじゃないの?
(v・∇)v <300
302 :
名前は開発中のものです。:02/08/23 08:41 ID:khQPQIP+
>299
具体的な数値に置き換えられる、のはたしかかもしれませんが、
SINやCOSの値は拘束力の関数になっている訳で、拘束力がどんな値になるかによって変わるわけです。
だからヤコビアンを使っているわけで。
>299が言ってるのは
角度や角速度が拘束点における瞬間速度に置きかえられるってことでは?
そのうち勉強しようと思っていた分野なのでよければ
>302が参考にしている文献を教えてください。
304 :
302:02/08/24 10:36 ID:34G5Gsg/
特に参考文献と呼べるようなものはないです。あえて言えば「こってり屋」さんとか。
一般的な物理の本を読んで自分で式を立てているだけなので。
解きかたそのものが書いてある本があれば苦労しないけど、、、
ところで質問なんですが、ヤコビアンを解く連立方程式の解法に行列式を使っているんですが解が収束しません。
こんなときにガウスの消去法にやり方を変えたら解が収束する、なんてことは有り得るんでしょうか?
305 :
名前は開発中のものです。:02/08/24 11:54 ID:cPVrDqU/
>>304 こってり屋って 無くなったんじゃないっけ?
移転先知ってたら教えてホスィ>こってり屋
307 :
夏房:02/08/24 14:19 ID:cPVrDqU/
いや 畳んじゃったはずだよ。
本人そう言ってたし。
そうなんだ…かなりお世話になってたのに。なんで止めちゃったんだろ。
保存しときゃよかった。
309 :
名前は開発中のものです。:02/08/24 15:32 ID:+WLC+zV6
311 :
夏房:02/08/24 22:07 ID:???
本当に何でだろうね。
まあ、本人がやる気をなくしたらしいですけど。
愕然としました。
PS.
力学プログラミングで参考になりそうなページに if さんって人が居ます。
そこを見ると幸せになれるかもしれません。
(参考になるプログラムは一つだけだった気がしたりしますが。
>>310 thanks!
>>311 if氏のページはDirectXやるのに凄い参考にしてるよ。
でも剛体はBraffの論文があれば十分な気がする。
313 :
名前は開発中のものです。:02/08/25 11:44 ID:EgPxjNxV
> SINやCOSの値は拘束力の関数になっている訳で
加速度 * 質量 = sin(力) + cos(力) + 力
みたいな数式になるってこと? そんなことがあるのかなぁ…
力の大きさが位相(角度)として影響する系はちょっとすぐには思いつかないぞ
314 :
292:02/08/25 12:43 ID:y6w4otuX
>313
うーん、そうですか…
そういわれると自信ないんですが。
実はまだBaraffの論文をよく読んでいなかったので
とりあえずそれを読んでからまた改めて考えます。
どこのwebの記事読んでも最終的にbraff氏の論文にいくつくという罠。
braffの論文で拘束扱っているのってどれですか?
rigid基本的なやつは読みましたが。
317 :
名前は開発中のものです。:02/08/26 22:14 ID:8w9MWox4
○ Baraff
× braff
318 :
名前は開発中のものです。:02/08/26 22:59 ID:T0ntUad/
baraffのやつちょっと読んだんだけど、
質点系の拘束運動にしか詳しく触れてないような気がした。
気のせい?
あと、せっかく読むんなら翻訳したやつをwebに載せたいんだけど、
いけないのかな?
>>318 いいんじゃないかな。
望まれてますよ。
320 :
名前は開発中のものです。:02/08/26 23:09 ID:Nt1TWPiG
まず著作権法における「引用」の定義について調べるにょ。
研究室の勉強会とかで内輪で見せ合うくらいなら問題ないだろうが、
それをweb上で不特定多数に公開している奴等はホント氏んでほしい。
しかも、そうゆうのに限って間違いが多いから全く手に負えない。
著作権者の権利を多重の意味ではなはだしく侵害している。
例えば、自分のステータスともいえる自慢の学会論文が、承諾なしに
勝手に中途半端な韓国語に訳されて公開されているとしたらどう思うにょ?
325 :
名前は開発中のものです。:02/08/27 18:50 ID:bJvbEV13
>324
Baraff キタ━━━━━━(゚∀゚)━━━━━━!!!!!
Baraffって「〜にょ」とか使うんだ…ちょっと幻滅…
327 :
名前は開発中のものです。:02/08/28 13:13 ID:uLBDUwHG
;゚д゚) < Pixar の次回作は「でじこ対ターミネーター」らしいよ…
Σ(゚Д゚;エーッ!
/|\ /|\
/ | ⊂l⊃⌒⊂l⊃ | ヽ ∧∧∧∧∧∧∧∧∧∧∧∧
( | __/ヘ/ヘー-、_ | | <
__ _√ /__N \ / ⌒ヽ_ < ばらふにょ!
/ c ) / \N ヽ 、/l || ( っ ヽ <
ヽ ( ( N > < ノノl ノヽ/ ノ ∨∨∨∨∨∨∨∨∨∨∨∨
\/ヽN( | ̄ ̄| ノノ /\ /
\/ \ ヽ_ノ ノ /\/
\( ̄/⌒ ヽ ' ̄) /
( | t | ー )/
) ヽ_ |__/ (
329 :
名前は開発中のものです。:02/09/02 09:44 ID:fXGzXqA1
僕ならたとえ中途半端でも翻訳されて紹介されたらうれしいけどなぁ。
まあBARAFFみたいな論文は書けないけど。
しかしまあ彼も役立てて欲しい気持ちもあって公開を続けてるわけでしょ?
訳の質という面もあるけどそれは少しずつ改善していけばいいし。
Baraffの方法はゲームには向かんよ。
正確な解が出るかわりに計算コストが高い。これ
デジコってただの萌えキャラじゃないよ。
332 :
名前は開発中のものです。:02/09/06 21:35 ID:RRahPgHk
ここ!
高校一年生には、難しすぎるなーー!
なんか参考書のてはいを。
高校生から数値計算やってたらろくな人間にならんぞ
限界まで紙と鉛筆で悩みとおせ
ロケット打ち上げプログラムでもやってみろ。
335 :
名前は開発中のものです。:02/09/07 10:14 ID:TvDIRL1D
>>334 出来るか!
と自分の知能の低さを曝け出す挑戦
336 :
w:02/09/07 10:28 ID:orWb70jG
337 :
名前は開発中のものです。:02/09/07 21:24 ID:AAS+pgEK
自動車力学やれよお前ら!
338 :
オレー ◆Kvyv1OZU :02/09/07 21:34 ID:Z5rod7pC
そうだ。やれよ!
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´Д` ) < 自動車力学やれよお前ら!
/, / \_______
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \ ((( ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ /~\ \ ( ´Д` ) < そうだ。やれよ!
/ / > ) (ぃ9 ) \_______
/ ノ / / / ∧つ
/ / . / ./ / \ (゚д゚) # ジドウシャー
/ ./ ( ヽ、 / /⌒> ) ゚( )−
( _) \__つ (_) \_つ / > (・∀・)シャー
(・∀・)シャー
341 :
名前は開発中のものです。:02/09/08 20:36 ID:x88tCxp2
(・∀・)シャー
342 :
名前は開発中のものです。:02/09/26 20:01 ID:HFmpQiOc
円板が複数出てくるエアホッケーを作る場合に
円板同士が衝突した後の方向を計算しなきゃいけないんだけど
どうやって計算すればいいんですか?スピードとか角度とか
343 :
名前は開発中のものです。:02/09/26 21:48 ID:inAxyGZe
運動量保存の法則って高校の物理で教えないのかな?
>343 サンクス(^^)
346 :
名前は開発中のものです。:02/10/16 01:23 ID:1dA9BQzM
age
高校で物理をやってた人は教わりますが、物理をやっていない人もいました。
俺は理系だけど生物と化学を選択したから物理習ってない。
ということで高校の参考書を購入して物理を勉強する大学生がいましたとさ……
独学いいよー
「自分で勉強してるんだ!」っていうのが大きな動力
Baraffの文献を読め。そんでそれから他の文献を孫引きしろ。
googleで検索するよろし。いろんな所で参考文献がFreeでD/Lできるよ
354 :
名前は開発中のものです。:02/12/03 19:41 ID:Ax6iT+XW
age
あぼーん
356 :
名前は開発中のものです。:02/12/03 20:40 ID:Ax6iT+XW
もっと荒らせよ
そんでアク禁くらってさっさとうせろ
あぼーん
358 :
名前は開発中のものです。:02/12/03 20:57 ID:Ax6iT+XW
ほれほれ
あぼーん
(・∀・)
あぼーん
┐(´ー`)┌
あぼーん
364 :
名前は開発中のものです。:02/12/03 21:45 ID:Ax6iT+XW
( ' ,_ゝ`)
あぼーん
( ´,_ゝ`)
あぼーん
368 :
名前は開発中のものです。:02/12/03 21:49 ID:Ax6iT+XW
(゚听)
あぼーん
(・ 3・),
また一匹の下級住人が粘着へと変質したか…
これで何匹目だろう…
あぼーん
02/12/03 21:54 ID:bfypou4h
串でないとしたら荒らしは最低2人以上居るってことか
あぼーん
375 :
名前は開発中のものです。:02/12/03 22:01 ID:Ax6iT+XW
(・∀・)
あぼーん
( ' ,_ゝ`)
あぼーん
( ´,_ゝ`)
02/12/03 21:56 ID:bfypou4h = 02/12/03 22:05 ID:o+b7WjTX = ID:iWSDjhGn
やっぱり一人だな
あぼーん
382 :
名前は開発中のものです。:02/12/03 22:19 ID:Ax6iT+XW
もっと負担をかけろ 折れもろともアクセス制限にしてくれる
あぼーん
┐(´ー`)┌
>>382 串の一本や二本アク禁になったところで痛くもなんともないと思うが…
自爆テロってやつか?
それに荒らしに反応してるうちはアク禁にはならんよ。
反応しすぎってことでつっかえされた。
まぁ、真っ当な削除人が常駐してくれればいいかな。
運営側の意見は放置しろと
55 名前:飛べない削除屋 ★[sage] 投稿日:02/11/21 02:54 ID:???
無理に対抗しようとせず、放置&削除依頼でお願いします。
また、このように頻繁にコピペされるようなときには、
レスアンカー( >>n ) の使用を控えて頂けると、透明削除し易くなります。
59 名前:削除桃 ★[sage] 投稿日:02/11/23 11:28 ID:???
荒らしと、荒らしを煽る人、は放置でお願いします。
荒らしに反応するのが悪いと言われればそれまでだが、
2ch側に負担が掛かれば話は別だろう。
と思ったがそうでもないのか…
簡易削除人でも目指してメール出してみようかな…
02/12/03 21:56 ID:bfypou4h = 02/12/03 22:05 ID:o+b7WjTX = 02/12/03 22:28 ID:HhC49mti ≠ ID:iWSDjhGn
かも
あぼーん
>388
> 2ch側に負担が掛かれば話は別だろう。
こんな過疎板、負荷の面では誤差の範疇。実況スレとかに比べたらねぇ…
>>388 ほぼ同じことを考えて少し前に実行してみたが、
そこまで自分の時間を削るほどの効果も価値もないことを知ってやめた。
試しに1週間ほどこの板にこないでみたら、自分にとって全く困らないことが解った。
技術はム版、ネタはマ版でいいし、製作プロジェクトにおいては別板のほうがうまく働いているようだ。
みんな、荒らしを置いてさっさとこの板から出たほうがいいかもね。
それではさようなら。
そのときの「ゲ制版インデックス」は停止してもらいました。
お騒がせしてごめんなさい。
それでは本当にさようなら。
┳━┯━━┳ _____________
╋━(t)━━╋ /
U┃ § ┃U| もう誰も書き込みませんように。
ハ|_ハ § ハ__ハ┃ | ハ__ハ ____________
( ・v・) §(´v` ) (゚д゚ )
(っ__っミ_ §(っ_c)__ c っ
///I ''' ///| | |
∠∠∠∠∠∠∠/ | UU~
| 終 了 | |
力学系は自由落下以外使ったことない。
/|/| ( )
/ _、_| ( )
/ゝ,_ノ`|y━・ 糸冬
396 :
名前は開発中のものです。:02/12/26 00:10 ID:wbqToG0E
拘束運動の計算の式が立てられない…
どなたか分かる方居たら教えてくれませんか?
居ることを願う…おねがいします。
>396
その拘束条件を具体的に書かんと、何とも言えないと思うが。
拘束条件によってはニュートンの運動方程式を使うと記述に苦労するが、
オイラー・ラグランジュ形式を使うとアッサリ書けることもある。
398 :
名前は開発中のものです。:02/12/29 23:02 ID:gCu2WT18
>>397 解析力学で解くということは、微分方程式を使うということですよね?
できれば普通の代数方程式で解きたいんです。
2Dで剛体内の任意の点を絶対拘束したときの拘束力をニュートン力学で求めたいんですが。
あぼーん
>>398 もっと具体的に書いてもらわんと状況がわからん
401 :
名前は開発中のものです。:02/12/31 00:16 ID:ToUB6UV0
>>400 分かっていただけませんか?
つまり実体振り子ができるわけです。
そのときに振り子の付け根が剛体に対して働きかける力を求めたいわけです。
ラグランジュの未定乗数法?
あぼーん
404 :
名前は開発中のものです。:02/12/31 23:51 ID:ToUB6UV0
>>402 そうですね。ラグランジュの未定乗数法です。
できればちょっと解説してもらえます?
405 :
名前は開発中のものです。:02/12/31 23:54 ID:q7EoDt6N
あぼーん
あぼーん
408 :
名前は開発中のものです。:03/01/06 21:07 ID:ZZIruChe
>398
> できれば普通の代数方程式で解きたいんです。
ニュートン方程式も微分方程式だが…。オイラー・ラグランジュが偏微分方程式なのに
対して、ニュートン方程式が常微分方程式って違いはあるけど。
剛体内の一点を固定するなら、未定常数法を使うまでもなく、その固定点を基準
として剛体に張り付いたデカルト座標 (x', y', z') を使うと、そいつが自動的に束縛
条件を満たす一般化座標になる。
あとはオイラー・ラグランジュ方程式を使って (x', y', z') を求めてやって、そこから
束縛力を逆算したら?
409 :
名前は開発中のものです。:03/01/09 21:39 ID:mrNTcZV2
>>408 丁寧な説明どうもでした。
すでに本を調べ始めてますんでなんとかやってます。
よろしければその方法も試してみてください。(興味があればですが)
410 :
名前は開発中のものです。:03/01/09 23:55 ID:+61JHgsR
知能障害の文系が荒らしてるな
411 :
名前は開発中のものです。:03/01/10 06:25 ID:tQKT16cB
ブヒ
413 :
名前は開発中のものです。:03/02/04 16:14 ID:f0jCBgUm
手の上に棒を立てるみたいなシミュレーションはどうやるんですか?
速度を引き戻すのかそれとも位置を引き戻すのか・・
教えてください。
>>413 マジレスするので、今の状況をもう少し丁寧に書いてほしい。
とりあえず、現段階で何をどの程度まで作ったのか。
まず、棒の条件は、断面積はあるのか、両端の形状は。
棒のみの運動は再現できたか。
次に、手の形状は何かに近似したのか。
棒と手の力学的な関係はどう設定したのか。
例えば、固定された支点なのか。その場合、相対位置の自由度は、相対角度の自由度は。
あるいは棒と手の摩擦で扱ってるのか。
棒と手の運動は再現できたか。
棒を立てるための目標値に何のパラメータを使ったのか。
棒のどこの部分か。その位置か、速度か、姿勢か、・・・etc。
「速度を引き戻す」、「位置を引き戻す」、というのは何処の速度、位置か。
あぼーん
416 :
名前は開発中のものです。:03/02/06 05:34 ID:PgElm0MX
>>414 413の挑戦しようって心意気だけ認めてあげようよ。
まあ、たしかにやる気は感じられないけどさ。
>>413 まあ、あんまり力学知らないけど、簡単な方針としては
簡単にはじめは2次元空間考えて、断面積なしの線みたいな棒を考える。
両方の端と重心に条件を設けて(例えば端と端との間隔が一定とか)、それが
重力(一定の加速度)に従って自由落下するようなシュミレーションを作る。
んで、次は手と棒の衝突判定だけど、こういうのを考えるのは面倒なので
まず、地面に一端が固定された棒を考える。もちろん固定された点から
自由に回転できるようにしておき(もち、最初は二次元)、
これが重力にしたがって倒れるような(初期条件で傾けておく)ものを作る。
ここまで出来たら、今度は、床(地面)に速度(加速度)がある場合を考えよう。
拘束(束縛)条件があるので棒は少し違った挙動を示すはず。
あとは、条件をうまく設定したら、手の上でバランスをとってる様にとりあえずは
見えるわな。
あとは三次元に拡張して・・、それでも満足できないのなら、ちゃんとした剛体
シュミレータを作るんですな。
まあ、変形なしとかなら、当たり判定とか摩擦とかそういうのさえ気をつければ
やることは上に書いたこととほとんど一緒。
417 :
416:03/02/06 06:31 ID:N7JFqc4T
はあ、てきとーに打ったら間違えた(鬱
シュミレーション→シミュレーション
あぼーん
419 :
414:03/02/06 08:00 ID:e/R6sboR
>>416 >413の挑戦しようって心意気だけ認めてあげようよ。
逆だ逆。なぜそうやって情緒的に文章を解釈する。
>まあ、たしかにやる気は感じられないけどさ。
そうか。俺はその感想を共有できなかった。
とりあえず、413の「速度を引き戻す」、「位置を引き戻す」という部分から
制御でいう微分動作や比例動作の話をしてるものと予想。ある程度
ものを作っている人物かもしれないので、念のため413の現状を見極める
必要があったわけだ。
連続投稿規制を考慮に入れて、マジレスに必要な補助情報を多めに
リストアップした。それだけの話なんだよ。オーケー?
420 :
416:03/02/07 05:32 ID:cvQesKPy
>>414 素人相手に煽りかと思った・・善意だったのですね。
早とちりしてスマソ。
いや、「速度を引き戻す」とか「位置を引き戻す」っていうところで
あんまり自分がどんな方針で作ってるか詳しく言わなかったんで、
413は何にも作ってないのかと勝手に思ったのです。
あと、「教えてください」でなんだか投げやりな感じがしたんで
>>やる気が感じられない
と、このぐらいの事は本で調べりゃすぐだし。
まあ、言い訳ですが。
(ずいぶん前の話題だけど、重力加速が9.8じゃ異常に
早く感じるのは空気抵抗を考えてないからじゃないの??)
422 :
名前は開発中のものです。:03/03/28 00:13 ID:KvQlhI/i
>>421 いや、加速度はそれでいいはず。
終端速度ってのがあって速度に比例して空気抵抗が大きくなる。
その空気抵抗と重力がつりあったとき速度は一定となる。それが終端速度。
これを考慮してない香具師は多そうだね。
あぼーん
フカーツ
| | |
| | |_____
| | | ̄ ̄ ̄ /|
| | | / /|
| /\ | /|/|/|
| / / |// / /|
| / / |_|/|/|/|/|
| / / |文|/ // / ∧∧
|/ /. _.| ̄|/|/|/ /⌒ヽ) スデニオワッテタヨ・・・
/|\/ / / |/ / [ 終 _] ∧∧
/| / / /ヽ 三____|∪ /⌒ヽ) クソスレダッタネ・・・
| | ̄| | |ヽ/l (/~ ∪ [ 了 _]
| | |/| |__|/ 三三 三___|∪
| |/| |/ 三三 (/~∪
| | |/ 三三 三三
| |/ 三三
| / 三三
|/ 三三
/
426 :
名前は開発中のものです。:03/06/29 02:15 ID:Xh/R6Zec
428 :
名前は開発中のものです。:03/07/01 20:49 ID:ezl27UeV
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
無修正DVDなら 新宿歌舞伎町直送
店頭販売の売れ筋のみ厳選してみました 安心の後払い
http://www.dvd01.hamstar.jp/ 白石ひとみ 小森詩 山田まり
@@ 及川奈央 レジェンド @@ 堤さやか 東京バーチャル 大好評
http://www.dvd01.hamstar.jp/ サンプル画像充実 見る価値あり 最高画質
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
429 :
名前は開発中のものです。:03/07/01 21:12 ID:dTXmmTGm
(空気抵抗って、意外と大きいよね)
431 :
名前は開発中のものです。:03/07/23 02:01 ID:JOT1ejxo
このスレはまだやれる!
がんばるんだぁぁぁぁ!!!!!!!!!!!!!!!!!
>>11 俺は最近の新カリキュラムで
int g=10;と習ったぞ
空気抵抗は再現が難しい。
>>432 ネタだろ。と思いたいけど、円周率を「およそ3」なんて言っちゃう
アホ教育の時代だからなぁ (((( ;゚Д゚)))ガクガクブルブル
「ゲーム開発のための物理シミュレーション入門」
4,200円
このスレッドにぴったりの本なので、とりあえず紹介しときます。
>>435 レビューよろ
使用言語とか必要基礎知識とか
この本を紹介した者ですが、実は難しくて読まずにほっぽり投げている状態です。
そんな私のレビューですから悪しからず。
主要目次は下記のページから観覧可能。
ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06526-X 以下の文は「はじめに」のページ内の抜粋です。
必要基礎知識の参考にしてください。
”物理学や工学以外の専攻の大学初年程度の古典物理は理解しているものとします。”
”三角関数、ベクトル、行列はマスターしているものとします。ただし、参考資料を付録としました。”
”陽関数の微積分などの大学レベルの基本的な算法も理解しているものとします。”
使用言語はVisual C++です。
本の中で紹介されているサンプルのソースと実行ファイルは、下記のページからダウンロード可能なので、お試しあれ。
ttp://www.ohmsha.co.jp/data/link/4-274-06526-X/ この本は物理現象を説明するために、数式がいっぱい書かれているので、基礎知識がない方はまず無理だと思います。
物理については、著者がその手のプロフェッショナルなので、安易なものではなく、大マジに書かれているような感じがする(ほとんど読んでいないので)。
ただし、サンプルプログラムを実行してみたところ、大マジ過ぎてゲームとしてそのまま使えるとは思えなかった。
だれか頭のいい人の追加レビューきぼん。
僕も買って読んだけど、確かに「入門」って感じじゃないね。
実際、英語タイトルには入門なんて書いてないしw
でもちゃんとしがみついて読めば何とかなると思うよ。
「入門」だと思って読むときついと思う。
入門レベルが欲しいなら、今月号のCGWORLD誌が物理シミュを特集している。
特集と言ってもほんの数ページだから、立ち読みで読みきれる。
>>429 1回通してさらっと読んだくらいですけど、物理シムの本としては確かに入門レベルの
内容だと思います。ゲーム向けにアレンジしてあるし。
未経験者でも、本気なら十分読めるでしょう。
今まで独学でやってきたような人にとっては、少し物足りないかもしれないけど、
入門者だったら一度立ち読みして内容をチェックしてみてはどうでしょうか。
本田さんレベルだと、やっぱり物足りないらしい。
まあ本田さんだから仕方ないか。
剛体の拘束運動の式って剛体の数が増えたら
新たに式を立て直すほかないの?
プログラムの中で柔軟に式を立て直す技法を解説した本なんて
見当たらないし・・・
WorkingModelだっけ?
あれだと、自由自在に拘束関係を変えてるからね。(変えられないかな?)
当然プログラム内で式を立て直す機能を備えてるわけでしょ?
それってすごいなーって思ったんですけど。
そんなことはないよ。いくらでも柔軟に対応できてるよ、って人は居ます?
443 :
名前は開発中のものです。:03/08/13 01:23 ID:YlS1OWsR
これからの時代
こういうスレこそ活性化してほしいと思うのでageてみる
>>442 > 剛体の拘束運動の式って剛体の数が増えたら
> 新たに式を立て直すほかないの?
力学的拘束をどのアルゴリズムで解こうとしているかによると思う
445 :
442:03/08/14 19:38 ID:K1uwXK7o
>>444 レスがあるとは思わなかったです。
ここ見てる人まだ結構いるんでしょうか・・・
と、いいますとやっぱりアルゴリズムによってはさほど式の立て直しに
手間のかからない方法もあるということでしょうか・・・?
444さんはどのようにして解いているんでしょうか。
とりあえず一言でいいですので。
446 :
山崎 渉:03/08/15 07:59 ID:37Ji/DzU
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
448 :
442:03/08/18 12:25 ID:Sjb27Dqr
>>447 これは知ってます。
ただ、アルゴリズムとか非公開なのでなんともいえません。
一瞬「Tomak」がどうかしたのかと思った・・・
日本語でレビューしてるサイトとかない? > Tokamak
非商用の利用は無料ということだけは分かったけど…
452 :
(^^)/:03/08/20 02:32 ID:EzlsoEzr
安っぽい宣伝だな
455 :
名前は開発中のものです。:03/08/27 16:27 ID:aS5PJ6rP
ん〜、わかんなくなってきた。
ザラザラした床の上で物体を動かすと、
垂直抗力に比例した摩擦による抵抗が働いて、
物体は停止するんだよね。この抵抗力って速度には関係ないの?
456 :
名前は開発中のものです。:03/08/27 16:44 ID:xNxGwOP7
>>451 Tokamak for Commercial and Non-commercial purposes FREE!
商用もフリーと書いてあるが。
458 :
名前は開発中のものです。:03/08/27 23:49 ID:baJHGgkB
>>455 速度は関係ない。
ただ、止まった状態と滑っている状態では摩擦係数が違ったり
するので違いが出る。
459 :
名前は開発中のものです。:03/08/27 23:53 ID:lyXH21n6
460 :
名前は開発中のものです。:03/08/28 00:42 ID:hCcb/WIL
制服、網タイツ、手袋となんともフェチ心をくすぐる
エレベーターガールの沙里奈ちゃんです。
スレンダーな身体で感じまくる姿がエロイ!
結構マジでオナニーしているところも淫乱度満点です。
今日はデパートにでも行ってみようかな?
無料で見れる動画です。
http://66.40.59.73/index.html
>>458 ですよねぇ。
というのも、物体が動いているときに速度と逆向きの
摩擦力が掛かって物体が徐々に減速するように処理してると、
速度がほぼ0になった時にも同じように摩擦力がかかって、
逆方向に動きだしちゃうのが変だなぁと。
ちょいとここまで読んでみて思ったのだが
実際にゲームプログラミングしたことあるやつってこの中でどれ位いるの?
数値計算の手法ばかりで
実装段階の話が全然出てこないからちょっと不思議に思った。
上の方の重力加速度の話で二分してたのも
そこらへんの意識の違いから来てるんじゃないかとも思ったんだが。
>>462 みんなそのことを疑問に思って
ある事に気づいてあっというまに過疎板になっちまったのサ
おおう、なんか知らんがこのスレの内容が理解できるようになってる。
もう1年以上経つもんな。
465 :
名前は開発中のものです。:03/08/28 23:06 ID:pGDe5Bpe
>>461 静止時は最大摩擦力以下の範囲で摩擦力が変化する。
例えば静止している物体に横方向の力がかかっているとき、
力が最大摩擦力以下だと、力と逆向きで同じ力の摩擦力が
発生し、力が最大摩擦力以上になると摩擦力に打ち勝って滑り出す。
466 :
名前は開発中のものです。:03/08/28 23:42 ID:gyVmZ0+N
>>465 静止状態だとそうですよね。
動いている状態から静止状態に向かう時、特に止まる直前でも
速度vに関係なく摩擦力μNがかかるのであれば、
v > μNtになった時、今までの進行方向とは
逆向きに動いてしまいませんか?
と、これって摩擦に限らず0に収束させる難しさの
問題であるような気がしますが。
467 :
名前は開発中のものです。:03/08/29 00:07 ID:hShitT3S
>>466 いえいえ、最大摩擦力という言葉のとおり、
その力を最大にするというだけで、それ以下でも良いんですよ。
私が読んだ本にはそういうふうに書いてあったような気が。
469 :
名前は開発中のものです。:03/08/29 09:30 ID:5ZTmiGoq
>>466 現実世界は時間を無限に細分化できるからそうはならない。
コンピュータで離散的に処理しようとするからそのような問題が出る。
>>469 のミス
v > μNt ではなくて、v < μNt になった時、でした。
やっぱり条件分けて処理しないとダメなのかな。
すべり方向による場合分けは必要でしょう。
また、vとμNは向きが異なるベクトルなわけで
それらをいきなり不等号で比較するのはおかしい
はげ同。ゴルフゲームの芝目、という特殊な場合もあるから必要だな。
473 :
名前は開発中のものです。:03/09/07 06:54 ID:ya18lJHa
動摩擦と静止摩擦の存在も知らんのか、このスレの住人は。
高校で習うだろ。高校物理からやり直せ。
>>473 そんな低いレベルの話は誰もしていないのに……。
>474
しっ!相手にしちゃだめ!
477 :
名前は開発中のものです。:03/09/11 17:10 ID:N+AjkSxg
>>470 なんか場合分けが変だね。場合分けは静止,動摩擦を区別するために
速度vでしないと。1次元ベクトルで考えたときv,fの正方向は同じ向きとすると
F:クーロン摩擦
u0:静止摩擦
u1:動摩擦
N:垂直抗力の大きさ
v:速度
f:系にかかる外力
ってした場合にはクーロン摩擦は
F=-v/|v|*u1*N (at v!=0)
-f/|f|*min(|f|, u0*N) (at v=0)
になるはず。-v/|v|は動いてる方向と逆向きってことね。
で、-f/|f|は外力の向きと逆ってことね。
現実には数値計算してるとv=0にならねーから|v|<=εと|v|>εで場わけしないと
だめだけど。多次元の場合は成分ごとに同様に考えればオケ。
>>476 AB法だろうから角度制約するだけだと思われ
479 :
名前は開発中のものです。:03/09/14 11:55 ID:b1qyk8E2
>>478 う〜ん…それってどうやんの?
計算が2Dの場合、関節が制約を受ける角度以上になったら、
その関節の両サイドの制御点を、移動させるってことで
角度制約できると思うけど、
このやり方を3Dに拡張すっと、軸周りの回転は制御不能で
首とかグルグル回っちゃいそう。
480 :
名前は開発中のものです。:03/09/18 01:33 ID:5XKeL+Hu
ちと物理と関係ないんですけど、マトリクスをTRS成分に分解したいのですが、いろいろ資料を漁って
みてもどうにも解りません。これはマトリクスの性質上不可能なんでしょうか?
要はマトリクスで記録されたモーションの補完がしたいんですけど。
Gemsにもあるマトリクス→クォータニオン変換がキーのような気がするんだけども…。ん〜。
481 :
名前は開発中のものです。:03/09/18 02:01 ID:QQmJDwfD
スケールが入ってたら無理。
やっぱスケールあったら無理だよね…。でもさすがにスケール無しは前提にできんなぁ。
いい方法ないかのぉ
スレ違い
484 :
481:03/09/18 22:56 ID:wPGb9Ur4
あー、いや。出来るかな?(以下思考過程)
ベクトルp=(0, 0, 0), x=(1, 0, 0), y=(0, 1, 0), z=(0, 0, 1)としたとき、
それぞれをマトリクスmでp'=p*m, x'=(x*m)-p', y'=(y*m)-p', z'=(z*m)-p'
とする。まずp'がmの平行移動量になり、次にx', y', z'それぞれの長さが
各軸のスケール値になる。そして'x, 'y, 'zの向きがそのまま座標系の
姿勢を表すから回転が求まる。ただ、スケールが0になる場合は不定に
なりマイナスの場合はベクトルの向きが不正になる場合があるので辻褄
を合わせないといけない。それと姿勢が求まってもキーフレーム間で
半回転以上動く場合はまともに補完できない。
んー、スレ違いか。スマヌ。
>>484 だめだめ。x,y,zにマトリクスをかけた結果は移動量も含んでるやん。拡大成分じゃないべ。
486 :
名前は開発中のものです。:03/09/19 00:24 ID:39nrDM9y
>>485 だからx'=(x*m)-p'と移動量p'を引いてるやん。
487 :
藤谷さかな店(自家用):03/09/21 18:36 ID:Mg2aVfjE
質問その1
さて、ちょいと疑問に思うことがあるので皆様にご質問させていただきます。
ある細長い棒のような質量mの物体の端に力Fを加えたとします。
で、この物体はどのような運動をするのでしょうか?
重心は速度vで運動し、物体自体は角速度ωで回転するかと
思いますが、その算出方法はどうなるのでしょうか?
いろいろな本などで一応しらべて見たのですが、
いまいち納得いきません。
--------------------
| |
--------------------
↑
F
自分が調べた結果では、
v = F/m
ω = F×r/I
(r=重心から力Fが加わったところへのベクトル, I:慣性テンソル,×は外積)
で動くようなのですがいまいち納得いきません。
結局質問としては、209の方と同じになってしまうのですが、
物体に加えた力Fはその一部(rと垂直なF成分)が回転運動に
使われ、残りのF成分ではなくFの「すべて」が並進運動に使われるようなのです。
これでは運動量保存の法則がなりたたないのでは?と思い質問してみました。
このようになる理由がわかる方がいましたらご教授お願いします。
488 :
名前は開発中のものです。:03/09/21 20:37 ID:euPHxNVc
>>487 物体の内部で何か力が働いているとしても、それが外界に対して
何かエネルギー的な影響を及ぼさないのであれば、その力は無い
に等しい。回転はこのような力の一種で、静止している物体と
回転している物体のもつエネルギーは等しいとみなす。
たとえば回転している棒があるとして、その棒のの端に垂直なエネルギー
f1を加えて回転を止めた後、棒の重心にエネルギーf2を加えて移動停止
させた場合、f1とb2は同じ大きさで逆方向のベクトルなのでf1+f2=0となり、
外界から与えたエネルギーベクトルの総和はゼロになる。よって計算上は
何も力を与えていないのと同じことになる。ようするに回転は外界との
力のやりとりには何の影響も及ぼさないので運動量保存側は保たれる。
489 :
藤谷さかな店(自家用):03/09/22 00:36 ID:fWWIkhLM
>>488 なるほどー!!
わかりやすい説明ありがうございました。
(1日中これでなやんでてプログラムが進まなかったのが
バカみたいに思えてきました・・・)
もやもやしてたものがやっとすっきり、気分爽快です。
感謝いたしますー。
490 :
名前は開発中のものです。:03/09/25 15:33 ID:ZSsF6BCB
Working Model2DとMATLABの接続したいのですが、どうもうまくいきません。
倒立振子の安定化制御をやっています(本:倒立振子 MODEL M-1を使ってます)
何かアドバイスください。
困りまくってます。
式は間違いは無く完璧です。
計算が完璧だったらシミュレータが悪いんでないの。
>式は間違いは無く完璧です。
物事に取り組む姿勢を補正したほうがいいんでないの。
出来が悪く向上心のない学生というのは
まず質問のしかたが下手。
更に490=493だとしたら、この「バカの壁」は相当厚い。
490の指導教官も大変だな
てぃむぽが硬くなる計算おせえて
496 :
名前は開発中のものです。:03/10/03 02:03 ID:TQihsXRB
>>487 実はわたくしもこの事例について以前からずっと納得できないのです…。
>>488 この説明の範囲内では、確かに納得できます…が
>残りのF成分ではなくFの「すべて」が並進運動に使われる
という前提条件があるからこそ成り立つのではないのでしょうか?
ここで逆に、力が重心移動と回転に分散されたと仮定しても、
先ほどの回転する棒の例で、合っているかのように説明が出来ます。
例えば、棒に加えた力 f1 に対して f1' しか重心の移動に加えられ
ていないと考えた場合。
残り(f1-f1')は回転を止めるのに使われたと考えられます。
次に棒の移動を止める為に必要な力 f2 は f1' 相当となり、
f1 != f2 となります。
どうでしょう?
あたま固くてすんませんが、どうしてもイメージできないんですわ。
497 :
オレー ◆bJKvyv1OZU :03/10/03 05:04 ID:kECaIIBT
>>496 >>残りのF成分ではなくFの「すべて」が並進運動に使われる
>という前提条件があるからこそ成り立つのではないのでしょうか?
剛体の定義がそうなんだからいいだろ。
でも剛体は実在しないから、イメージわかなくてもしかたねえ
498 :
名前は開発中のものです。:03/10/03 08:06 ID:RGA429eG
そのあたりの話は、剛体力学の教科書の最初の方で説明しているよ。
499 :
名前は開発中のものです。:03/10/03 10:54 ID:Kk4Pevyr
>>496 回転力というのは「釣り合った力」だから計算上ゼロになるんだよ。
例えば変形しない物体にバネを取り付けて力を加えた場合、物体の
内部に力が作用しているけどその力は何の作用も及ぼさない、つまり
バネ力とそれに対する抗力が釣り合っているからプラスマイナスゼロ
で全く無視できる存在になる。回転もこれと同じで、内部的に釣り合
っているから計算上無視できる。
500 :
アンケートにご協力を:03/10/03 21:04 ID:3lHDYtcW
プログラム言語の学習ができるタイピングソフトを作ろうと思って
います。
ねらいはタイピングができない&プログラム初心者を的にしています。
内容的にどのようなものかといいますと,プログラムのサンプルプログラム
を打ったり、穴空きにしたプログラムの問題を作りそれをタイピング
させ高得点を狙うような感じです
そこでアンケートにご協力を
1:プログラムの学習ができるタイピングソフトが合った場合使い
たいですか?
2:この案は面白いとおもいますか
3:どのようなものでもいいので意見を
力が加わる前は物体は停止してたんでしょ?
それなら、力が加わる前の運動量=0でしょう。
で、力が加わって動き出したから運動量≠0になる。
だから運動量なんて保存されてませんが?
502 :
名前は開発中のものです。:03/10/03 22:40 ID:y9xq2yAc
>>500 出来次第では使ってみたいと思う。
あと、ム板やPCゲ板のフリーソフトスレなどでも聞いてみたら?
503 :
名前は開発中のものです。:03/10/03 23:18 ID:Kk4Pevyr
>>501 ある静止した物体があり、質量重心pから距離rだけ離れた点q0に、p->q0
ベクトルに対して直角な力f0を与え、同時にやはりpから距離rだけ離れ
た点q1=p+(p-q0)にf0と同じ大きさで逆方向のベクトルf1を加えたとする。
その結果、重心は移動せず回転運動だけ発生することになる。ここまでは
直感的に正しいと思うだろう。ところが加えた力ベクトルの合計はf0+f1=0
なのでゼロである。つまり計算上は何も力を加えていないのと同じ。
504 :
名前は開発中のものです。:03/10/03 23:22 ID:Kk4Pevyr
…例えば、球状の外殻の中に固定軸まわりに回転する球が入っている
ようなものを考える。この物体は外から見ると回転していないように見える
し、おそらく外部から力を加えた場合にも回転していない物体と同じように
振舞うだろう。このような内部が回転しているものと普通の回転体の違い
は見た目だけであり、ようするに見た目に惑わされているだけだ。
505 :
501:03/10/03 23:53 ID:ZsoWCRRY
>>503 僕は487じゃないけど、
偶力を与えるなんて書いてないからね・・・
>>487には。
運動量は保存されてないでしょ、って言いたかっただけ。
506 :
名前は開発中のものです。:03/10/06 01:50 ID:zuHmG/z5
>506
触れると裁判沙汰に巻き込まれそうな予感。
508 :
名前は開発中のものです。:03/10/06 08:04 ID:OsV2fuGp
>>506 なんだこれ。すげー。
つーか、おもしろすぎ。
506の中身は衝突実験テストみたいな物理ゲーム。
509 :
名前は開発中のものです。:03/10/06 20:05 ID:XFqKySo6
マリオみたいな2Dアクションゲームで、ジャンプの処理ってどうなってんの?
シュミレーションのような感じのリアルなジャンプをさせたいんだけど、うまくいかん。
511 :
509:03/10/06 20:37 ID:XFqKySo6
>>510 マリオでの話ではなく、普通の地球上でのジャンプについて聞いているのですが。
マリオのようなっていうのは、あんな感じの2D横スクロールゲームということです。
説明が変でスマソ
普通の物理的な振る舞いだったら重力加速度gをかけるだけでしょ
513 :
509:03/10/06 20:42 ID:XFqKySo6
>>512 それがよく分からないんだけど、どういうプログラムを書いたらいいんですか?
514 :
名前は開発中のものです。:03/10/06 20:44 ID:zuHmG/z5
オイラー法とかなんとかって、結局積分の計算を
微分の総計で求める方法なのに長ったらしい名前
つけてんじゃねぇよ!
515 :
509:03/10/06 20:53 ID:XFqKySo6
516 :
509:03/10/06 21:02 ID:XFqKySo6
で、結局どういうプログラムを書いたらいいの
517 :
名前は開発中のものです。:03/10/06 21:13 ID:zuHmG/z5
まずは、立方体に剛体ワイヤーを28本張ったものの挙動実験から入るべき
だと思うが。
518 :
509:03/10/06 21:34 ID:XFqKySo6
519 :
名前は開発中のものです。:03/10/06 22:15 ID:iGJQupNH
しかし、まあ、マリオのようなジャンプを聞いてる時点で、
ここは厨房か工房のスレだな。
ジャンプといえば、スト2は、ジャンプの高さから幅まで一定だから、
いったんジャンプするともう止まらない。
逆に、マリオやイース3は、ボタンを離したとこから落下する。
作るときは、Y=X^2で、適当に作って、速すぎたりしたら適当に2で割ったりしてたな。
最初のジャンプパワーを4.0として、最初に上昇する値は、
Y+= junpupower * junpupower;
そんで、ジャンプボタンがまだ押されてたら、
if( jumpkey )junpupower -= 0.1;
で、またYに二乗したのを加算。
これだと落下しはじめたら、ずっと落下するから、
>>518 とりあえず物理の参考書一冊でも買って来い。
>>506 妙にハマるゲームだなw 何だか俺、危ねー趣味に目覚めたりして
522 :
506:03/10/07 00:41 ID:xB1NWWHK
>>521 人が偶然トラックの下敷きになったときに
ブシブシいって5万点ぐらいいったぞ。
ジャンプの挙動はサインカーブで近似できるよ
>>519 変位の加算だけで処理するのが定石だと思うが?
526 :
名前は開発中のものです。:03/10/07 10:19 ID:KtKxfB79
>>509 ジャンプした瞬間の上昇速度がv[m/s]であるとき、dt[秒]後の速度v'は
v'=v-(9.8*dt)である。例えばこの速度計算を1/60秒ごとに行い、速度v
で逐次移動させればいい。但し、表示とスケールを合わせないと駄目よ。
例):
float y = 0.0; // 初期位置(単位[m])
float v = 10.0; // 初速度(単位[m/s])
float dt = 1.0/60.0; // タイムステップ(単位[sec])
while(true) { // 1/60秒ごとに実行されるループ
v = v - (9.8 * dt); // 速度を変化させる
x = x + v * dt; // 速度vで移動する
// 表示などをする
}
527 :
名前は開発中のものです。:03/10/07 10:23 ID:KtKxfB79
訂正
x = x + v * dt; // 速度vで移動する
↓
y = y + (v * dt); // 速度vで移動する
>>505 相変わらず首がちぎれそうになると一気に高得点行くのね
>>524 ウホッ。イイ由喜憲・・・
彼の提唱した正弦跳躍法は今もみんなの心の中で生きていた
>>530 着地までの距離と最高点、速度が楽に決定できるのが結構でかいな。
物理の式のまんまでやると何がどうなってんのかわからないときがある。
ボタンを押した時間でジャンプの高さが変わるのはどう説明するつもりだッ!!!!
533 :
名前は開発中のものです。:03/10/07 14:44 ID:xB1NWWHK
x-boxのコントローラなら押圧が計れるから可能と見た。
>>524 マジで?始めて知った。
今度やってみよ。
>>530 >由喜憲
思い出しちゃったよ。コイツ有名なの?
「ナナメに移動する時はプレゼンハムアルゴリズムを使え」
アホかー!
>>535 一部の好事家にとってはshi3zと同等レベルの知名度。
能力的にも同等レベルの駄目度。
>>535 >山崎由喜憲
ベクトルも知らないでデモ作っちゃうんだからある意味すごい。
叩きネタのときだけ盛り上がるなぁ・・・
540 :
名前は開発中のものです。:03/10/22 23:20 ID:VEu5wcsq
物理に関する記事とかプログラムとか載せてるサイト知ってる人いる?
543 :
名前は開発中のものです。:03/10/24 08:36 ID:piA4riPR
行列について勉強してんだけど
これにはよく逆行列とか固有ベクトルとか
出てきますよね?だけど、実際にこれがどういうふうに使われるのかがわからなくて
すごく疑問なんですけど誰かわかりやすく教えてくれませんか?
ゲームのポリゴンとかの計算とかで行列がよく出てくるとか聞いたんで
その辺の例を出しつつわかりやすく教えてくださるとうれしいです
544 :
543:03/10/24 09:56 ID:piA4riPR
っていうか逆行列だけでもいいです
545 :
名前は開発中のものです。:03/10/24 10:05 ID:NkQA5COa
>>544 なんで何に使うかもしらずに勉強してんの?
使い始めると一瞬で壁にぶつかるのでそんときに覚えればOKじゃない?
544にどこまで知識があるのかわかんねぇから説明のしようがないな。
逆行列使えなきゃ光源計算も満足にできねぇからそれ以上進めねぇし、
壁に当たったら当たったでわかりやすい解説があるから大丈夫じゃないの?
546 :
名前は開発中のものです。:03/10/24 10:15 ID:cEKK5S8I
DirectXとか使ってたら自前で光源計算なんか必要無い罠。
547 :
名前は開発中のものです。:03/10/24 10:27 ID:NkQA5COa
光源計算なんて時代遅れ。時代は真っ暗闇だよ
おまいさんは頭が固すぎる
551 :
名前は開発中のものです。:03/10/24 22:04 ID:6r870BJr
ラグランジュ緩和法で拘束運動の問題を解いてるんですが、解が収束しません。
おそらく式が間違っているのでしょう・・・。
ところで拘束力のベクトルの長さを最小にするって
どういう条件式になるんでしょう?
553 :
552:03/10/30 21:11 ID:0zlvyoHk
やってる人いないかな・・・
ま、なんとかやってます。
問題は積分法
シンプレクティック
557 :
名前は開発中のものです。:03/11/05 12:03 ID:Q5PqphOn
>>556 ネットだけじゃなくて本買って調べたらわかるよ。
図書館でもいいし。
559 :
名前は開発中のものです。:03/11/05 23:25 ID:VfJSFCZ2
>>556 1次微分の解析解(ていうか微分方程式)から計算できるのでは ?
解析解を持ってないってことなら, そもそも問題が違うと思うんだけど.
>>556 書いてあることそのままなんだけど、
Xi+1/2の傾きというのは、( Xi + h/2, Yi + dX/dY * h/2 )という点の傾きのこと。
仮想的に前進した点の傾きを求めることで高次の微分量を計算し、
結果的に4次の精度で近似ができるの。
大学1年辺りの線形代数で出てくるテイラー展開が判ると、
4次の精度というのががどうやって決まるかが判る。
でも、ゲームだったら公式をそのまま使うだけでいいと思う。
3Dのポリゴンとポリゴンのあたり判定はどうしたらよいのでしょう?
562 :
sage:03/11/07 12:43 ID:khVU0c1e
556です。
剛体の動きを再現したくてこのような質問をしました。
次の時間での位置を求めるのに、ルンゲクッタ法を使おうと思ったのですが
実際プログラムを書こうとすると、556みたいな疑問が出てきたのです。
色々と調べてみて、
速度と加速度が分かってる場合は、テイラー展開(2次?)で
Xi+1 = Xi + v * t + 0.5 * a * t * t
で、計算できることがわかったのでこれでやってみようと思います。
(高校の物理で出てきた式ですね^^;)
加速度の変化量も1ステップ前との差分で求めたものが使えるなら
上の式に付け加えて、
Xi+1 = Xi + v * t + (1 / 2) * a * t * t + (1 / 6) * b * t * t * t;
(bは加速度の変化量)
でも、できそうみたいなのでこっちの方も試してみたいです。
レスありがとうございました。
>>561 専門書にはあると思うけど、3D関係の本は高いからね・・
自分でそういうエンジン作った事無いからわかんないけど、たぶんね、
簡単な方法だと3Dオブジェクトの中心点間の距離を計算するのが
一番簡単だと思う、ただし当たるのは中心点より球状になるけど。
もしくは、ポリゴン同士が交差しているかを計算する方法だけど、
これは専門書を見たほうが早いかも。
線と面が交差しているかとか、面と面が交差してるかとか
そういう数学的な方法がある。式を書くのはめんどうだけど、
大学の基本の代数とかの本にも載っていると思う。
3Dオブジェクト内にあるかないかといった高度な判定になると、
あるポリゴンの表がわにあるか裏側にあるかといったことを3Dオブジェクトの
閉じた空間を構成している全ポリゴンでいちいち判定するとか、
まあ近い同じような形で近似して判定するとか、
これは実際ゲーム業界で働いている人に聞いて処理の高速化手法を教えてもらわないと無理か。
ちょっと前のゲームだったら明らかにオブジェクト間の距離で計算してると思う。
D=√(dx^2+dy^2+dz^2)
↑こんなのね
565 :
名前は開発中のものです。:03/12/11 19:26 ID:rkNvjgxy
age
566 :
名前は開発中のものです。:03/12/16 20:16 ID:p7I5fXPY
三角関数の、sinカーブってありますよね。
(0,0)を中心とした波型のやつ。
あれを・・・θ度に傾けることはできるでしょうか?
たとえば最も単純な関数 y = x だったら
y = tanθ・x の式で、0度〜89度傾けることができます。
文字だと解りにくいので、図で表現すると、こんな感じです。
ttp://www2.oekakibbs.com/bbs/sumika/oekakibbs.cgi 右辺にtanθを乗算すれば、どんな関数でも傾けることができるんでしょうか?
いいえ、そんな単純じゃありませんでした。
y = sin x を傾けようと
y = tanθ・sin x という式でプログラムを組んでみましたが
うまくいきませんでした。
そりゃそうです。単純に考えれば
y = a sin x の a の数字が、tanθ上がるだけなので
傾いたりするわけがありません。
どんな式を組めば良いでしょうかね・・・
傾けるんじゃなくて、回転させるだね。
回転や座標変換でぐぐれ
>>566 普通に y = sin x で計算した結果(点)を任意の角度で回転させればいいのでは?
2度計算することになるけど。
複数の演算を合成したいのなら、今後n次元に拡張していっても難しいこと考えずにできる
行列演算するのがお手軽かと。
>>566 x = f(t), y = g(t)とする
f(t) = -sin(θ)*sin(t) + cos(θ)t
g(t) = cos(θ)*sin(t) + sin(θ)t
アタマイイオレカコ(・∀・)イイ
つか、行列を切り捨てた今の高校教育過程は愚の骨頂だと思う。
>>569 計算自体は正しくても、仕様書もなく個人で作ってる工房にとっては、
後から見たら「これ何の計算してんだっけ?」てなりかねないなぁ(藁
やっぱ要素ごとに行列にして、最後なんらかに出力する前に行列演算するかなぁ漏れなら。
>>570 どうせ高校で習う行列や微積分なんて、なんだかんだいって算数の域なんだから
それらが必要になる人間は線形代数学や解析学なんかで深く学ぶさ・・・。
>>571 マジ。でもってセンター数学の選択にBASICなんてのがある。莫迦じゃねーの。
>>572 その「算数」ができないから困るんだってば。
非常勤で教養の物理実験や力学の面倒みたりするけど、
「カイテンギョーレツってなんですかー?まだ習ってませーん。」
なんて事をキラキラした目で言われてみ。何を教えろっつーんじゃ。
角度θの回転行列ってのがあって、実際ベクトルにかけてみれば回転してるでしょって一度示せばいいだけじゃない。
回転行列は自分の頃はもうなかったから、8年前なんだっけ? なくなったのは。
行列の計算自体は今でもあるはず。
単位円上の点を回転させようとすると、自然に加法定理が得られるのがへぇ〜だったな。
代数幾何と基礎解析がこんなところで結びついているのかー、と。
とりあえず大学院時代のバイトで数学の副手やってたが、そのときはもう散々なありさまだった。
>>573 高校で教えることが変わってるんだから、それに合わせて
大学の実験や講義の内容も変えていけばいい。
柔軟な院生が教壇に立つ場合はまだマシだけど、
基本的に大学で教える人たちは使いまわすだけで横着だからね、
特に非常勤講師とか。
回転行列でなくて、複素数平面で教えたれ。
準同型だしな。(たぶん)
回転行列よりも計算は単純と思う、あとn乗がぐるぐる回転してオモロイ
>577
そうそう。うちらの時は逆にガウス平面ってやらなかったからね。
これで考えれば√i が簡単に出来ること、周りの連中がどうすればよいか四苦八苦してたことが懐かしい。
なんか次元が違う…物理偏差値70でも会話が理解できない。
所詮、高校生の70なんてこの程度なんですね。
理解力ではなく、知識の問題だからね。
大学入って数学の講座をとればそんな難しいことは逝ってないのが解る。
581 :
名前は開発中のものです。:04/01/27 00:08 ID:Z2uYoNlB
物理の偏差値が70もあれば東工あたりも狙えるよな・・それ以下の大学だから知らんが・・
したらこの板の話題はそんなに難しいものではなくなるよ。
力学の話題 > そこらへんの本、力学とか連続体力学等を読めばわかるかも
代数の話題 > ここでの話は線形代数あたりに書いてるよ。準同型とかイデアルの話題は代数でも群論とか
3Dの話題 > これも初等代数(幾何)だけど、ここでの内容はその応用とか、もしくはCG関連の本にまとめられてる
ルンゲクッタとかの話題 > 計算機科学、近似とかその辺の話題
ゲームの理論的側面をみると、RPG、賭博などは確率統計学とかにも依存してるし
また、ゲームのテストなんかをみると、人工知能とか巡回セールスマン問題とかにも関係してくるかもね。
ただ、こういう勉強をしたからといって良い作品が作れるわけではないし、
結構学歴は関係ないのかもしれない・・難しい大学に入ると、
アカデミック過ぎて理想と現実のハザマで揺れ動く事になるよ。(研究が主になる)
難しい大学でサンデープログラマなら最強ってことだな。死ぬだろうけど。
うむ
力学ゲーで最も成功し愛されているパネキットですら
投げたした人は多数だし(オレモナー
ラグランジュの運動方程式で???となっています。
3Dで単一の剛体があり、剛体の重心が点oに固定されている運動方程式を
導こうと思ったのですが、ラグランジアンの時点でとても計算する気になれないくらいの式量になってしまいました。
オイラ角使用で、回転エネルギは 1/2ω・(Iω)→をオイラ角で記述(この時点でものすごい量)
行く行くは複数剛体をリンクで繋いで。。などと考えていたのですが、計算を間違わない自身がないです。。。
こんなもんでしょうか?
585 :
名前は開発中のものです。:04/05/04 12:06 ID:qKEkic75
ばねの運動が上手くいかないです。
rx,ry,vx,vy,ax,ayを位置、速度、加速度ベクトル、
cx,cyをばねが自然長になった時の位置としました。
case WM_TIMER:
rx=(rx+vx)%width;ry=(ry+vy)%height;
vx+=ax;vy+=ay;
ax= (cx-rx)/50;ay= (cy-ry)/50;
InvalidateRect(hw,NULL,TRUE);
break;
こうすると、単振動の振幅が増大していってしまうんです。
どうやったら解決できますか?
ルンゲ・クッタ
>>584 ある程度の複雑さは避けて通れないと思う。
それでも難しいときは他の方法をかんがえたほうが良いんじゃ?
いろんな解決方法があるみたいだよ。
>>585 バネができないってのはまだ基本が理解できてないっぽい。
要勉強
>>585 それ、整数で計算させてないか?
時間間隔を小さくする。ロン毛食った法で計算させる。
といったとこかな。
>>587 教科書とか参照しないでやろうとしてたのですが、
無理みたいですね。
それらしい本漁って見ます。
>>589 はい、整数で計算させてました。
型をfloatにして、時間間隔を短くしましたが、
やっぱり上手くいかないです。
「ロン毛食った法」っていうのはモンテカルロ法の事ですか?
オイラー法じゃダメです。
詳しくは教科書を読んで
物理シミュじゃなくて、単にばねの動きのみを表現させたいなら、
単振動でもいいんじゃないか?
sinでやれば単振動にはなりますが、物理的なシミュレーションをやりたいんです
594 :
584:04/05/05 17:40 ID:8LeTquOf
>>587 そうですか。なんか数値計算には向かないみたいなことが書いてあったので(場合によるでしょうが)
ニュートソオイラ運動方程式でやってみまつ。
>>585 数値積分でググッたらそれなりの資料は簡単に集まると思いますよ
ルンゲクッタがいいとおもいますが発散を抑えるだけなら他にも簡単なのがいろいろあったと思います。
ゲームなんかではダンパを設けてそれなりに。。。ってのが妥当でしょうか。
ルンゲクッタもそんなに時間はかからないと思いますが。
595 :
名前は開発中のものです。:04/05/10 11:59 ID:N/fVdOPT
金子氏逮捕されちゃったよ……
NekoFightの作者様でしたかつД`)・゚・。・゚゚・*:.。..。.:*・゚
597 :
名前は開発中のものです。:04/05/10 12:18 ID:0QopKbcW
マジであの金子氏なのか?
どびっくりですな。ていうか、意外に素性バレないもんだね。
日本では数少ない、シュミで物理シミュなサンプル公開していたHPだったのに・・・合掌。
>590
ググるならキーワードにsymplecticを追加してみるといいかも
>>585,593
計算誤差が溜まっていくやつの典型だな。
回避は不可能だから、速さによる減衰項でも設定すれば?
sin使うやつでも十分物理的だと思う。
微分方程式とくと出てくるし。
ルンゲクッタってどんなんか忘れたけど、
計算による誤差がどうのって内容だったと思う。
でも、誤差は減らせても十分時間がたつとやっぱダメかも?
603 :
名前は開発中のものです。:04/05/23 18:32 ID:9Va5aQ+H
低レベルな質問ですけど、物体同士が接触している時
「力を及ぼしあっている」(運動方程式)のか
「衝突した」(運動量保存の法則)のか
をどうやって判断したらいいのでしょうか?
どういう状況なのかヨクワカラン
605 :
603:04/05/23 19:26 ID:9Va5aQ+H
高校の物理だと
「腕が箱を押している」と言われたら運動方程式
「腕と箱がぶつかった」と言われたら運動量保存を適用しますよね。
でもこのような分類の仕方はコンピューターにはできないですよね?
もちろん理論的にはどちらを適用しても間違いではないんでしょうけど
それぞれ適する状況があると思うので。
運動方程式に従って運動している物体同士が衝突した場合
衝突後のエネルギーを計算する式が運動量保存則なのではないか
>>605 運動量保存則って何か、ざっくりとでいいからココに書いてみません?
608 :
603:04/05/23 20:33 ID:9Va5aQ+H
んー上手く説明できない
走っている車が箱と接触した場合、
非常にゆっくりとだったら車と箱が接したまま移動するから
車が箱を押す力と摩擦力を考えて運動方程式を立てればいい
しかし猛スピードだった場合車と箱はすぐに離れるから
車と箱それぞれの質量・速度と反発係数を考えて運動量保存の法則を使う。
しかしどこからがゆっくりでどこからが速いのか?ってことです
>>607 衝突の前後で二つの物体の質量×速度の合計は変わらない
>602
>回避は不可能だから
symplecticでググる
>>603 ゲームの物理シミュなら、物体にダンパーとバネ組み込んだモデルで力に換算して
計算すれば、運動量保存の法則を持ち出すまでもないと思うんだが?
ひょっとして、反射係数から、ダンパーとバネのパラメータを求めたいってこと?
611 :
603:04/05/23 20:55 ID:9Va5aQ+H
つまり全ての衝突をバネに例えるって事ですか?
その場合仮に反発係数1の衝突を再現したい場合、
反発力の大きさをどれくらいに設定すればいいかは
どうやったら求められますか?
>>608 ・・・言いたいことはなんとなくわかったw
普通の数値計算の場合、跳ね返りは、一瞬の出来事ではなく、
一定の時間がかかるものとして処理する。(ゲームなら数フレームとか)
そうすると、上の二つの現象は同じ問題として計算できるよ。
613 :
603:04/05/23 20:59 ID:9Va5aQ+H
自己解決
>>155あたりのペナルティ法ってやつの事ですね。
ありがとうございました
一足遅かったか・・・
//質量、バネ係数、反発係数から減衰係数を求める
double CalcDampingCoefficient( double fm,double fk,double fe )
{
//fm 質量
//fk バネ係数
//fe 反発係数
double dLnE = log(fe);//ln(反発係数)
double dLnEE = dLnE * dLnE;//ln(反発係数)の二乗
double dtmp = (dLnEE * 4.0f * fk * fm) / ( dLnEE + 9.869604401f);
double dRet;
dRet =sqrt(dtmp);//SQRT(4*バネ*質量*LN(反発)*LN(反発)/(PI*PI+LN(反発)*LN(反発)))
return dRet;
}
質門ですけどばねの動きの計算ってこんな感じでよいのですよね?
//運動方程式(ダンパー付)
a=-cv-kx
// x1,x2 前ステップ、求める変位
// v1,v2 前ステップ、求める速度
// dt きざみ時間
v2=(-c*v1-k*x1)*dt
x2=v2*dt
で質問なのですが、この積分方法であらかじめ発散するパラメーターの範囲
って計算する事できるのでしょうか?
>>615 発散するか振動するか減衰るかの判別は、振動学の本とか見ればでてるよん。
式は、テキストじゃかけないw
617 :
602:04/05/25 01:38 ID:62M9HfrA
>>609 れすサンクス、あんまり詳しく見てないけど、
微分を使って高精密解を求める手法であってる?
>Symplectic法は位置や運動量などの保存量ではない物理量の厳密さまでは保証しないが、
>エネルギーが超高精度に保存されるので他の物理量の信頼性も著しく高い。
とあるように、少しずつでも計算誤差は溜まっていくのでは?
たぶんこのバネぐらいならほとんど問題無いのだろうけど・・
何次の近似式を使うかによっても精度が変わってくる様だし。
むかーしやった数値計算の演習かなにかでも上と似たような方法使ってたけど
(それは2次元で適当な関数の数値計算するやつ、微分を使ってどうのこうの)
意外と誤差が溜まるのって早いような気がする。マセマティカ?とか使ってたけど・・
618 :
602:04/05/25 01:59 ID:62M9HfrA
ああ、よく見ると単なる微分じゃないのか・・
うまく指数関数を使って運動量と位置を別々に計算してんだね。
n 次Symplectic数値積分法を用いれば、
エネルギーの計算誤差がO(Δt^{n+1})になると、
つまりより高次の式を用いる事で
エネルギーの計算誤差を指数関数的に減らせるんだね。
結構便利かも。
619 :
585:04/05/25 18:33 ID:BScYV9oY
symplectic数値積分法、自分もぐぐってみたんだけど
ハミルトニアンHをハミルトニアンH'で近似して、
「H'の厳密解」を求める方法みたい
理論的にはH'の厳密解が求まるから、誤差が蓄積していく事がないらしい
620 :
602:04/05/27 05:00 ID:H+VDgLaB
>>585 自分もよく分かった訳ではないですが理論的には厳密解が求まる
ってなってますけど、やはり高次の展開は面倒くさいですし
無限次に展開できる訳ではないですから、極小の誤差は出るのではないかと・・
それに、系のエネルギーは精度よく出ますが、(積になってるため)
位置やら運動量についてはそれほどでもないようです。
(書店でそれ関係の本探してみたけれど、無くってよく分かりませんが・・)
(低次だと)誤差は結構出るけど、累積して発散したりはしない
ってのがウリなんじゃないの?
622 :
名前は開発中のものです。:04/06/14 17:10 ID:LcwM6cnh
どうでもいいが、その呼称はいまいちピンと来ないんだがな。
インクレディブルマシーン
625 :
名前は開発中のものです。:04/06/18 12:00 ID:fgcAvitr
ゲームが廃れる加速度
v=a^3/b^3
aは厨パワー
bはパッチ
(´-`).。o0(加速度なのにvなんだ・・・
(´-`).。o0( しかしdv にすると家庭内暴力になる罠
>>626 IDがBMXカコイイ。
>>624 IDがEMUカコワルイ。ROM厨は氏ね
シンセをバカにするな
陳謝シマス
630 :
名前は開発中のものです。:04/06/21 00:30 ID:N/rTx0YD
「ゲーム開発のための物理シミュレーション入門」の付録AのVectorクラス
をVisualStudio.NET2003で実装しようとしたのですが、「コンストラクタ
の宣言に戻り値の型が含まれています」というエラーが出ます。このコン
パイラでは使えないのでしょうか。
>>630 C++は忘れたし、その本もってないが、
コンストラクタは戻り値持てないんじゃなかった?
関数の前にvoidついてたら外すとか。
632 :
名前は開発中のものです。:04/06/21 00:45 ID:N/rTx0YD
>>voidはついてません。
inline Vector::Vector(void)
{
x = 0;
y = 0;
}
//コンストラクタ
inline Vector::Vector(float xi, float yi)
{
x = xi;
y = yi;
}
コンストラクタはこれです。
633 :
632:04/06/21 00:54 ID:N/rTx0YD
色々といじっていたらコンパイル通りました。どうも。
おフェラしてください!!
風俗いけ
636 :
名無しさん@そうだ選挙に行こう:04/07/11 11:47 ID:/yFc1fy2
1個対1個の物体の衝突の処理はわかるのですが、
dtの時間内に、1個の物体が2個の物体に連続して
衝突するような場合、どのようにしたらいいか迷っています。
まぁ所詮ゲームということで、考慮しないというのもありとは
思うけど、速度が速い場合にすりぬけとかしそうで・・
ビリヤードゲームとかどうやってるのでしょうか
移動距離を10分の1にして10回計算したら?
それで同時判定になったとしても誤差はだいたい10分の1だぞ。
>>637 計算量も10倍になるからね〜
まぁ画面表示の処理よりは、軽いのかな。
>>638 ども。衝突を感知したら、そこだけdtを短くして計算するということですね。
というかこのひとのビリヤードアプレット見てたら、
とりあえず多少雑でもいいや、という気になってきました。w
あと、この人のアルゴリズム論に「滑る剛体」って書いてあるけど、
摩擦も回転エネルギーも式に出てこない・・、質点の力学じゃん!みたいな。
参考になりました。どうもでした。
物理法則に厳密にしたがっている必要はない。
ゲームとしてはそれっぽく見えればいいので、
いかに処理を端折るかが大事。
「(2Dの)クォータービューのプログラムを作るのに三角関数が…」
とかアフォなことを言い出すようになっては
ゲームプログラマ失格。
641 :
名無しさん@そうだ選挙に行こう:04/07/11 18:47 ID:6WfdSZuv
>>636 そういう場合は、当たっても球たちをそのフレームは動かさない。
力(加速度x質量として)だけ与えておく。
この動かさないというところが、最大∬F/m dtの誤差になるわけだが。
>>639 ゲームのジャンルによってはそうかも知れなけど、
3Dゲームだと、どれだけ自然現象を正確にゲーム内に取り込めるかが
議論の中心になってるよ。
物理シミュは当然のこと、AI、機械工学、自然科学の知識まで求められて、もう最悪。
643 :
名無しさん@そうだ選挙に行こう:04/07/11 18:55 ID:6WfdSZuv
>>640 2Dには2Dのテクがあるけど、今どきsinテーブル使えとか言う人ですか?
シェーダーでマクローリン展開する時代ですよ。
Quaterだったら3Dでやっちゃった方がめちゃ楽。
いまどき2Dでクォータービューのゲーム作るほうが面倒だと思う今日この頃。
645 :
643:04/07/11 18:59 ID:6WfdSZuv
646 :
643:04/07/11 19:01 ID:6WfdSZuv
>>641の補足
当たった瞬間で寸止めしておき、物体間のエネルギー交換をしておくということです。
>>643-645 そういうワガママが通じるプラットフォームだけで
作り続けられることを祈っておいてやるよ
んんー香ばしいですね
夏休みになると
フェードアウト組が
涌いてくるんだよ
650 :
639:04/07/11 23:32 ID:nlwuxChR
>>641 それいいアイデアすね。ゲーム向き!
採用させてもらっちゃいます。ありがとうござます。
>>642 個人的にとても興味がある単語がならんでて、いいなーと
ちょっとうらやましいです。
SEはつまらないですよ・・。数学使わないし・・。
個人的には、材料力学や流体力学が効いてるゲームが
超おもしろそうと思ってます。
>>643 シェーダーでマクローリン展開ですか・・
いっそのこと、物理計算全般を専用ボード等に任せてしまえればいいのにね。
CPUは物理諸元の指定やイベントドリブンなとこを扱えばいいみたいな。
非線形な微分方程式を瞬時に求めてくれるハード?
653 :
639:04/07/12 00:37 ID:9Xwjmc87
>>651 ごめん。ハードでの非線形計算の難解さ?は理解してないのだけれど、
ゲーム用途であれば、線形近似したものできっと十分でしょ?
あと、有限要素法なんかもリアルタイムでゴリゴリ解いちゃうみたいな。
重要なのは、よく使う物理モデル等が組み込まれていて、最適化されてることかな。
ゲームでどう使われるかというと、例えば剣をモンスターに向かって振り下ろすとき、
モンスターの体への食い込みを有限要素法で計算したり、
モンスターの表面がつるつるですべって、バランスをくずすプレイヤーの運動を計算したり、
モンスターのよろいに、はね返されて剣が折れたり、腕に振動が来たりみたいな。
諸元を与えるだけで、結果がでてくる。素敵なボード。
>>652 うわ。すごい。読ませていただきます。
655 :
名前は開発中のものです。:04/07/13 10:08 ID:hctXK+7S
専門にやってる人は常識かもしれんが
わかんらんので教えて。
1、sinとかcosをテイラー展開するとn次式になるけど
皆さんはn次まで使うの?8次とかは大杉?
2、例えば、多項式 [ x^8 + ax^7 + bx^6 + cx^5 + dx^4 + ex^3 + fx^2 + gx + h = 0 ]
があったとして、この根を求めたい場合
こんな8次まで使わなくても、例えば4次ぐらいで止めていても
解にそう差は出ないもんですか?
つーか
計算結果を
プロットすれば
いいだろが
この怠け者
己の用途に適した精度を選べばいいんだよ。
次数を上げるとどういう風に三角関数に近づいていくのかは知ってるよな?
7次でやれ
660 :
名前は開発中のものです。:04/07/13 12:16 ID:hctXK+7S
しかし最強は3次スプライン
662 :
名前は開発中のものです。:04/07/13 13:30 ID:e99RBpbH
CPUなら素直にsin使った方が速くねーか?
float math_sin( float fRad ) {
__asm
{
fld dword ptr [fRad]
fsin ;←こいつが何ステートだかが問題だが。少なくとも近似式解くより速そうだ。
}
}
>>655 そういうのは、次数を上げると桁落ちが激しくてできる限り低次で計算をするようにしたほうがいい結果になるッス。
んて、低次の計算で精度を上昇するためには、係数に細工を入れてテーラー展開の値から少しずらす訳なんだけどこれのやり方が幾つかあって
一番簡単なのは、最少二乗法という物で多項式近似をしてみるといいです。
やり方は「統計学」「最少二乗法」「多項式」「曲線の当てはめ」辺りで検索して下さい
double 精度の{ sin(x) , x }の組をサンプルにして当てはめた関数を探って係数を求めるといいです。
必要精度は誤差の二乗和を参考にして次数は決定してやってやればいいかと思います。
他にもエルミート関数から攻める方法とかいろいろあります。
今一まとまってなくてすんまそ
>>655 >2、例えば、多項式 [ x^8 + ax^7 + bx^6 + cx^5 + dx^4 + ex^3 + fx^2 + gx + h = 0 ]
>があったとして、この根を求めたい場合
>こんな8次まで使わなくても、例えば4次ぐらいで止めていても
>解にそう差は出ないもんですか?
解xと係数の大きさによる。
解の桁を大まかに見積もれば各項の大きさが判るので、
大きい項だけで計算してもそれなりの近似は得られる。
精度を上げるには近似を初期値にして元の式を解く。
(計算誤差よりも小さい項は無視しても可)
>>655 参考までになんだけれど、
随分昔にやったので、うっすらとしか記憶に残ってないんだけど、2の問題は sin とかの逆関数を求めたいってことなのかな?
もしそうだとすると、この種の級数には反転公式っていう
y=a+bx+cx^2+...
を
x=A+By+Cy^2+...
に反転する公式があったはず、公式集とか探してみたら何か出てくるかもよ。
分っちゃえば只の内積計算なんですけど取っ掛かりが難しいね
やさしく解説できないのが悲しい
668 :
名前は開発中のものです。:04/07/15 18:27 ID:9sR90p1I
例えば
>>663の「最少二乗法」ですけど、イメージとしては
関数 : f3 * x3 + f2 * x2 + f1 * x1 + f0 * x0 = F(x) があったとして
横軸を[x]グループ、縦軸を[f]グループをとった2Dのグラフを作り
各点それぞれにバランスがよくなるような直線を求め、
その直線を使って、任意の[x]から[f]を求めるって感じでいいですか?
>>668 ちょっと違う気がしますぅ
例えば、近似したい関数を sin(x) としましょうか。
そして、近似関数を f(x) = A*a(x) + B*b(x) + C*c(x) ... とします。
ただし A , B , C は定数 a b c は高速に計算できそうな適当に選んだ関数で
今回は a(x) = 1 , b(x) = x , c(x) = x^3 としておきます。
{ sin(x) - A*a(x) + B*b(x) + C*c(x) ... }^2 == 誤差(x)
{ sin(x) - A + B*x + C*x^3 }^2 == 誤差(x)
として、できる限り小さい誤差になるように A B C を決めようにという物です。
誤差が絶対値ではなく二乗なのは、こうしておけば解析的(要するに式変形で)計算できるからです。
ただ、このままだと一点の誤差だけなので、f(x)の利用範囲で定積分して誤差を合計します。
∫ 誤差(x) dx = 誤差の合計
この「誤差の合計(A,B,C,...)」という関数を A B C ... で変微分します。
誤差は最少の点は、誤差の増減量が0になる場所です。
そこで、連立方程式
0 = δ誤差の合計(A,B,C,...)/δA
0 = δ誤差の合計(A,B,C,...)/δB
0 = δ誤差の合計(A,B,C,...)/δC
...
を作ります、この連立方程式は連立一次方程式です。
これを鶴亀算で解いて A B C ... を決めると
f(x) = A*a(x) + B*b(x) + C*c(x) ... ≒ sin(x)
となります。
ちなみに ∫ 誤差(x) dx の値の平方根の大体三倍ぐらいが最大誤差になっています。
以上を公式表片手にガリガリ解きますです。
671 :
名前は開発中のものです。:04/07/16 03:47 ID:RojksAWo
>>670 なるほど。すげーな。こういう方法考えた奴もオレと同じ人間かと思うと鬱になる。
これニューラルネットワークの元祖っぽい。
最小二乗法まんまやないの
673 :
名前は開発中のものです。:04/07/16 10:24 ID:e15GZ7En
>>669-670 とてもわかりやすい説明、ありがとうございました。
しかし、ガリガリ手計算ですか・・脳卒中で死ねるかも。
>>671 理系の大学生はこういうの普通にやってるんでしょうかね。
マジ尊敬しますよ。
しかし、編微分=0の連立方程式って定石っぽいですね
よくみかけます。
なんでみんな片微分を誤字ってるの?
偏微分
>>673 めんどっちかったら、区分求積法でどーぞ
2^10程度に分割すればsinのような連続関数なら十分制度がとれますです
計算は、区分の合計値の累積計算のけた落ち注意、でっかい値とちっちゃい値を足すと死ねます。
80年代おっそろしいなぁ
678 :
677:04/07/23 03:52 ID:99H07CeO
すいません素で誤爆しました
679 :
名前は開発中のものです。:04/08/02 08:40 ID:DbO7SxmT
等加速度運動と放物線運動って違うものなの?
等加速度運動 ∋ 放物線運動
スレが自由落下し続けてますョ
この板のことだから、そのうち謎の力が働いて落下が止まると思う。
その力は既に働き始めている
685 :
名前は開発中のものです。:04/08/24 14:03 ID:13Gj+qma
ヤモリはファンデルワールス力で張り付いてるので
とっかかりのないガラスにもくっついていられるらしい
というわけでファンデルワールス力で張り付くアクションキボンヌ
スパィダスパィダメ〜〜〜〜〜〜〜ン♪
とにもかくにもまず微分方程式だ。
この方程式で微分方程式の意味が一目瞭然な方程式をみせてくれ。
>>687 >微分方程式の意味が一目瞭然な方程式
意味が分からないんだけど。(微分方程式はどれも微分方程式でしょ)
頻出とか典型という話なら、初歩的な力学計算に
用いる運動方程式などが挙げられるけど?
『とにもかくにもまず微分方程式だ。』が言えるんだから
一目瞭然な方程式というものを1つ例示してくれない?
それは美味いのか?
ルンゲってあれだろ、あのBKAの
しかしまずはっていうならオイラー法じゃないの?
ラプラス方程式を差分方程式にすると、ただの平均をとってる式になる。
こういうのか?
いまどきの物理エンジンって
やっぱ音も物理的に計算して出しているんでしょうか?
例
金属が時速○○Mで○○にぶつかったときの音
などなど
せいぜいドンブラ効果くらいじゃない。
電子楽器の世界には物理モデル音源なんてのもあるがな。
>>693 693が考えてる程のことじゃないかもしれないけど
今のサウンドエンジンのトレンドは、マテリアル(テクスチャ)に
音情報埋め込んでおいて、ドンブラ効果とかオクルージョンとかは
ある程度自動的にやってくれる
…ドップラー効果の事か?>ドンブラ
いまさら何を言ってるのだねチミィ
>>695の補足
もちろんオブジェクト同士の衝突音は
マテリアルに割り当てられてるサウンドから適当に発音される
>>696 「ガイシュツじゃなくてキシュツだろ!」って突っ込んじゃう人ですか?
> 「ガイシュツじゃなくてキシュツだろ!」って突っ込んじゃう人ですか?
こういうのなら文脈で解るけど、ドンブラは初めて見たので何事かとオモタ
ちなみにgoogleで2件(w
700 :
名前は開発中のものです。:04/11/09 19:23:01 ID:AtLUI4h6
ビリヤードはどうやって計算するの?
ひねりやバンク、ブレイクの美しさまで考えると結構奥が深いね
702 :
名前は開発中のものです。:04/11/16 17:56:11 ID:9BByUej7
↑簡素化して、複数のボールが同時に衝突した場合はどう計算するの
完全な同時だとしても、二つがぶつかった結果を三つ目に合成しても問題ないと思うが。
ソフトコアの方が楽だよ
巻き糞を生成する式を考えないか?
>705
それは力学なのか?
もしや肛門の圧力と外へ出るちからとウンコの量をもとに
シミュレートするってことか?
お尻から便器までの高さと腰の回転も計算に入れないと無理っぽいな
こういうのってどの分野に含まれるんだろ?
CG板でやれ。
質量が異なるボールを使うビリヤードを正しくシミュレーションできるヤツは神
>>709 残念ながら一次元の衝突と二次元の衝突は
文字通り次元が違うのよ
>残念ながら一次元の衝突と二次元の衝突は
>文字通り次元が違うのよ
>残念ながら一次元の衝突と二次元の衝突は
>文字通り次元が違うのよ
>残念ながら一次元の衝突と二次元の衝突は
>文字通り次元が違うのよ
ゴムと鉄と木と発泡スチロールと風船の玉でビリヤードすんのか?
>>710 どのへんで一次元限定の話だと思ったのよ?
むしろ714がどのへんで一次元じゃないと思ったのか聞きたい。
710のどこでベクトルの向きが考慮されてるんだ?
716 :
709:04/11/22 15:02:45 ID:vf82nHzB
>>715 >>709の式は多次元でもボールの正面衝突ならそのまま使える。
重心がずれて当たった場合は、
ボールが壁に斜めに衝突した場合を考えれば分かる筈。
>>716 >重心がずれて当たった場合は、
>ボールが壁に斜めに衝突した場合を考えれば分かる筈。
俺もはじめはそうかと思っていたが、そんな単純じゃないんだよ。
ていうかぶっちゃけ708は誰にも不可能。
>>710 ヤヤウケ
残念ながら二次元のゲームと三次元のゲームは
文字通り次元が違うのよ
残念ながら二次元の女と三次元の女は
文字通り次元が違うのよ
とか、ちょっとそこらへんの板で使ってくる。
つまり ID:yyK/QESp は
質量の異なる2つの剛体球同士の衝突計算ができない、と。
三次元上の面(壁)と点(弾)の衝突後の反射についてなんだけど
衝突後の点の反射角度と速度って求めるの難しいでしょうか?
こういうのが載ってるサイトや書籍ってありますか?
物理板にこのスレが貼られてからきてみたけど高一レベルだな。
わーははは
漏れの高校は1年のとき化学しかないんだぞ、まいったか
漏れの高校は
1年:生物
2年:化学
3年:物理
だったなぁ・・・
質量が違うと衝突後の方向を決めることができないことは
大学初年度の力学の教科書でも載ってるのになあ。
できもしないことを口先だけであーだこーだと。
「ゲーム制作者」のあまりのレベルの低さに唖然。
>>725 教科書に載ってる事を鵜呑みにした後、その先の思考は忘れてないよな?
どうせ上でやってるのは言葉遊びに過ぎないだろうよ
>>726 >教科書に載ってる事を鵜呑みにした後、その先の思考は忘れてないよな?
「思考」した香具師には言えないセリフだな。
先生が言ってたセリフをそのまま言っても説得力ないよ?
もしかして計算できると思って上ではしゃいでた本人ですか?
>>727 オープンソースの物理エンジンでも見て勉強してみたら?
質量設定できないのなんて無いよ。
実験してみた。
物体1.ピンポン玉
物体2.ボーリングの玉
として、ボーリングの玉の真上にピンポン玉を垂直に落としてみた。
結果
ピンポン玉はボーリングの玉の上で、ほぼ垂直に跳ね上がった。
>質量が違うと衝突後の方向を決めることができない
……何か大事な条件を忘れていない?
>>728 いや、変数を決める方程式が足りないから理論的に無理なんだけど。
どうして自分で計算してみないでアレコレ言い張ってんの?
>>730 自分で衝突後の方向を指定してりゃ世話ねーな。文系?
>>732 だから質量が違う物同士の衝突を
シミュレートできるエンジンなんていくらでも有るし、
それを使った市販ゲームをたくさん出てる。
自分が出来ない=不可能って思うのはバカすぎる。
とりあえず
>>729のゲームでもやって落ち着け。
ゲームなんて所詮インチキだらけなんだから
その中でいかにソレっぽく見せるかがプログラマの腕の見せ所だろ。
理論にこだわりすぎて結局何も出来ないのはただの無能。
>>732 >どうして自分で計算してみないでアレコレ言い張ってんの?
>自分で衝突後の方向を指定してりゃ世話ねーな。文系?
あと根拠もなしに他人に対して変な思い込みするのは
バカっぽく見えるからやめたほうがいいよ。
まあお前も俺も馬鹿には違いないんだから争うな、馬鹿ども
確か高校物理の最初に、質量の違う球体同士の衝突を習ったと思った。
多分、出来ないと言ってる人は中学生くらいで、運動量保存の法則を使って
自力で解いてるんだろうな。頑張ってるなと思った。
その先のヒントとしては、エネルギー保存の法則を使うと残りの式が導かれるので
あとは連立方程式として解けるようになるよ。エネルギーは運動エネルギーね。
運動量保存の式(x軸、y軸)とエネルギー保存の式の3式から
衝突後の2物体の速度という4成分が求まるはずないじゃん。
ゲーム用の物理エンジンでは1成分を勝手に決めてるから計算できてるように見えるだけ。
ちなみに壁との衝突だと壁は動かないから求めるのは2成分だけだな。
できると言い張ってる人たちの特徴:
1.自分で計算しないくせに「計算できる」と繰り返す。
2.根拠を示せと言いつつ自分は示さない。または根拠にならない根拠で威張る。
3.「できないことを鵜呑みにするな」と言いつつ、自分は物理エンジンの結果を鵜呑みにする。
考えうる馬鹿たちの反論:
1.「おまえが計算できないだけだろ」(自分が計算できる証拠は出さない)
2.「ハイハイすごいですねえ、わかったからもう寝れば?」(なかったことにしたい)
3.「なに粘着してんのコイツ?」(議論に無関係な非難)
>ゲーム用の物理エンジンでは1成分を勝手に決めてるから計算できてるように見えるだけ。
だからゲーム用なんだから計算できてるように見えればそれで十分だろ。
それで何が問題なの?頭固すぎ。
742 :
730:04/11/24 10:49:30 ID:BGzjpSUv
解答ね。
>>739のpdfの場合、
質量が異なる「質点」2つの衝突だから衝突後の運動ベクトルが決定できません。
しかし、ゲーム用の物理エンジンでは大きさのある剛体同士の衝突を扱います。
この場合に働く力は衝突面に対して垂直な方向のみなので、力積の方向成分が固定できます。
……質量が同じボールを使うビリヤードの計算でも絶対に必要なんだが。
出来る派・・・ゲーム的にごまかしを使えばそれらしく見せる事は出来る。
出来ない派・・・現実に即した正しいシミュレーションは出来ない。
発端となった
>>708では「正しくシミュレーション」といっている。
このスレのタイトルは「ゲームのための物理(力学)」。
ここで意見の食い違いがあるのかと。
>>743 煽りだけど2D処理でしかもかなり不自然なデモをアップするのは
自己顕示欲高すぎてキモイぞ
>>742が正解。なんでこんな馬鹿にみんな釣られてるの?
もっとも、正確を期すなら
>この場合に働く力
ってのは曖昧すぎるので、反発力とか書くべきだけどな。
他の力が別の方向に働く可能性があるわけだし
で、
>>744みたいなのが一番理解できないんだが。
>>742のどこにごまかしが?
748 :
730:04/11/24 23:03:09 ID:V+fZmXPA
>>747 >他の力が別の方向に働く可能性があるわけだし
確かにその通り、サンクス。
ビリヤードで玉・壁間の衝突を正しく扱う場合とか、
摩擦抵抗やスピンまで考えなきゃならないな。
では、名無しに戻ります。
けっきょく「質点」と「剛体」の食い違いってことだな。
どうしてこういう重要なところを放ったらかしてヒートアップするかねえ。
意思疎通できてないのはお互いさまなのに745みたいのはキモイけど
↑失礼、746でした
お互いさまということにしてなあなあで済ませようと必死
日本人だなぁ、いい意味でも悪い意味でも
うーん。「自分で計算しろ!」って言ってた人は、自分は計算してなかったって事か?
>>749 意思疎通も何も、この話題の最初の書き込み(
>>708)↓
>質量が異なるボールを使うビリヤードを正しくシミュレーションできるヤツは神
どうやったら質点で考えることなんてできる?馬鹿?それとも阿呆?
755 :
名前は開発中のものです。:04/11/26 01:38:28 ID:wGGiDu0g
age
そもそも質点なんてのは架空世界にしか存在しない便宜上の物体なんだから、
これをもって「現実に即した正しいシミュレーションは出来ない。」とかなんとか書かれちゃあねぇ。
(無論、質点を用いたシミュはゲームでもバリバリ使うよ、と要らん突っ込み回避)
もうなんつうか、なんでこうも自分の非を認めたがらないのか、自己愛に溺れすぎ
夜のピストン運動を定式化してみて
759 :
名前は開発中のものです。:04/12/03 04:13:40 ID:x+C2wiH8
おまいら今すぐNHK教育みろ!
放物運動とか重力とかやってるぞ!!
ははははh↑ワラタ
普通物理シミュの前に
当たり判定があると思うんだが
おまいらはそこら辺はクリアしているのか?
だとしたら大したもんだ。
762 :
名前は開発中のものです。:04/12/04 01:52:18 ID:ceiP9Uwz
微分積分ってゲームではどんな処理の際に必要になるの?
微分は力(と加速度)を計算するときに必要
積分は加速度から位置を計算するときに必要
>>761 PxPが埋まっているわけだから当たり判定には何の問題もないだろ。
PXPってなに?
>761
あたり判定と一言でいっても色々あるんだが?
全部撃力検出すると重たいよな〜。
768 :
名前は開発中のものです。:04/12/20 21:11:32 ID:wFt1s5s/
今月のCマガジンの特集は「物理運動をシミュレーションしよう」だったよage
例によって基本的な話だけだったよsage
770 :
名前は開発中のものです。:05/01/09 21:02:46 ID:xBiPAO5G
昔のエロスみたいだなw
「はじめてのC」とか書かれた本でドキドキしたりすんのか?
シミュレータ作るためには重要だがゲームでまで現実を再現する必要はないと思った中学生最後の冬
技術力の弱肉強食
ライオン=3Dゲーム > ガゼル=2Dゲーム
なんでも3Dにしようとする風潮がよくわかるでやんす。
でもワシは個人的に2Dのゲームのほうが好き。
だってディスプレイが平面なんだもん。
力学はみんなできんだろ。
波やろうぜ波。
>>763 サンクス
用途がわかって勉強する気でた
778 :
名前は開発中のものです。:05/01/11 20:10:00 ID:0gcMffxM
779 :
名前は開発中のものです。:05/01/31 02:10:47 ID:ywW+fA0q
age
>>776 フライトものの様なカメラの位置取りがあって、かつ低空撮影もありで海面を綺麗に
表示する軽くて綺麗なアルゴリズムキボンヌ
まじめにやると重たいし、ケチると繰り返しが見えるし。
wangマッピングを広い場所でやると死ねるし。
A = (c*dt/h)*(c*dt/h)
B = 2 - 4/A
*z = *z + *(z1-1) + *(z1+1) + *(z1-w) + *(z1+w) + B * *z1
みたいな
ΣΣ
みたいな
ΣΣ (゚Д゚ )
Cellの記事読むとPCで物理演算やってるのが虚しくなるな・・・。
SPE×8+PPEはいじってみたいような、デバッグで苦しみたくないような(ーー;)
>>783 例によって高級言語サポート無しなんだろうか?
ついでにパイプラインステージ管理も手か?
>>784 一応あるらしいよ。
ただ手でやった方が速くなるだろうな。
コンパイラが最適化と称して、わざわざ手で最適化した部分を壊しそうだな・・・鬱
G5の部分が弱くなっているから、既存のコードは全部パフォーマンス落ちるんでない?
787 :
学生:05/02/27 00:42:14 ID:U3WAi3tC
788 :
名前は開発中のものです。:05/02/27 02:11:25 ID:Mjf2CKiU
ΣΣ (゚Д゚ )
すごい!! よくできてますね。
自分はタイヤの摩擦で頓挫してますorz
0に収束しないで振動しまくりんぐorz
バイク無謀だ(゚Д゚ )
ゼロから作ったのかな?
優秀な学生さんだ
ぜひゲーム業界へw
792 :
名前は開発中のものです。:05/02/27 12:40:00 ID:igN7+wCs
あげ
793 :
学生:05/02/27 12:53:56 ID:U3WAi3tC
ありがとうございます。
バイクはbike.txtをみてわかるように簡単なスクリプトが組んであり、
倒れるよう方向にハンドルを微妙に切るようにしてあります。
うまく最初に速度が乗ればちゃんと走れます。
「R」キーが姿勢リセットになりますので、上矢印を押しながらリセットを
10回ぐらいすると1回ぐらい成功すると思います。
あと「U」が位置・姿勢リセット、「Y」が強制上方向加速、「I」「O」が
ズームイン/ズームアウトになります。
790じゃないがバイク走ったw
ツーリングしてるだけでも楽しい。(*´д`*)
日付が2002年なのが気になるのだが。
796 :
学生:05/02/27 15:00:39 ID:U3WAi3tC
795さんするどい。「パネキットもどき作ってみました」って今つくったぞ!みたいだね。
作ったのは昔、一年がかりでした。BaraffとかODEとかこってり屋さんとか参考にさせて
もらいましたが、一からつくりました。
実はもうかなり年寄りですが、一念奮起して大学院で勉強しています。
このプログラムは、けっこう気にいってますが、まだスクリプト機能とか、摩擦処理とか
未完のままほってありました。みなさんの知識とやる気をみて、参考になればと出させて
いただきました。今みるともったいぶっていやな書き方です。
794さん、そうなんです。シミュレータて見てて飽きないんです。そういっていただけると
うれしいです。
797 :
名前は開発中のものです。:05/02/27 22:11:45 ID:SXwV4RIT
暇つぶしに遊べそうだよ。>学生
一年がかりとは正直恐れ入った。
結構リアルですね、、これ。
ひっくり返ったときとか横倒しになったとき、どう脱出するかちと悩むが。ww
次はAI操作の車などに挑戦してみては?
>>787 すごい面白いです。
沢山のパーツが結合してても、妙な振動でてなくてすばらしい〜!
やっべ、超たのしー。
すげぇ! 感動した!!! おもしれぇー
削除されちった。まだ見てないのに。
803 :
学生:05/03/01 08:41:53 ID:c6U4gPKm
うあ!うれしいです。
>802 ちょっとHTML編集したので、トラぶったかもしれません。
削除はしてませんので、もう一度お試しください。
HTMLに書いたように是非、RegulationのUnbreakbleをオフにしてお試しください。
後、データは単なるテキストなので、パラメータをいじって、
自分のお好きなものを作成してみてください。
自分もPSUS3.txtを追加しておきました。
地形データは、Xファイルです。1の長さが1mとして、メタセコイアなどで作成できると思います。
ちなみにRigidChipの一辺は0.6mです。比重は水より少し軽いぐらいです。
船とか飛行機を作るために軽くなっています。
ヘ・・ヘリが…。
でもこれ面白いですねー。小一時間夢中になってしまいました。
>>787 パネキットスレの住人だけど。「ついに待ってた物が来た!」って感じだね。
良かったらモデルのスクリプトの細かいマニュアルとか公開してくれないかな?
Basicでキレイにドリフトが決まると(・∀・)イイ!!
>>787 パネキットスレから来ました。
PC版パネキットスゲー!!
壊れるのがたまんないす。
モデルエディットがGUIで出来たら売れるんじゃないかマジで。
でもまぁ、S○Eともめるかな、やっぱ。
>>787 俺もパネキスレから来ました
GJ!です
これでジェットヘリ作ろうと思います
なぜかエラーが出て起動できない
自分のPCがぼろいからかな?
オリジナルのパネキットでも、こんな広場が欲しかったなー。
学生さん、GJです!
>>787 私もパネキットスレから参りました。
いやはやすごいですね。
>>807さんの言うとおりモデル作成をGUIでできれば
本当にヤバイことになりますね。
それはそうと、全体的な動きの遅さはどうにかなりませんかね?
なんだか空気の密度が濃い感じになってますよね。自分としてはもう少しストーンと落ちてくれれば面白いのですが。。。
812 :
811:05/03/01 20:10:51 ID:c8GhJz2d
あ、すみません、limit 30FPSのチェックをはずせばいいだけなんですね・・・。
お騒がせしました。
リミッターはずしても早送りになるだけ
しかしすげー、すげーとしかいいようねぇ
>>809はダウンロード時が原因のエラーでした。解決しました
これを強化するためにプログラミング学習開始
それくらいにすばらしい。でもひどく時間がかかりそうw
Basic例にしたヘルプファイルなら作れそう
作ってみる
作者じゃないけどつっこみ
>>818 Valのstepは、ボタン離したときの変化量
ボタンの並びはZXCASD
Trim(){}が入ってない。Trim(){}はパネキットでいうところのZジョイント。
RLW(){}が入ってない。RLW(){}は無慣性モーター。タケコプター専用。
セルフつっこみ
>>819 ×無慣性 ○無反動
SFあんまり読まないんだけどナ・・・
あっれ何か勘違いしてる
キー設定については嘘書いてあるかもなので信用しないでorz
リロードするの忘れてるしもうね
勘違いも多いし申し訳ない適当で
ちょっとスレ違いだけどみんなどんなソフト使ってる?
スクリーンショット取るならWinShotっていうソフトが便利ですよ。
826 :
学生:05/03/03 01:55:11 ID:G0Ypp0Um
紹介していただいてありがとうございました。
juiceはODEからのリンクで勉強させていただきました。面白いですよね。
ODEはほんとの円柱が使えないので、自作するはめになりました。(最近は三角メッシュがつかえるようですが)
僕は数学が強くないので、ここのスレをもっと早く知っていれば、心強かったなと思います。
あのソフトはヒンジ拘束を2点拘束でしていますが、暴れがひどいので、
10回も、収束ループをかましてます。チップにしたことで質量がほぼ同じ同士なので
何とか収束してくれています。
後、摩擦に関しては、いんちき係数と名付けた係数が内包されてますww。
なんだか、ここのスレの方にはパーティー開いて散らかしただけのような気がして申し訳なく思っています。
でも、こういうものをつくりたいという気持ちは大勢の人が持っていると思うと
ホントにうれしかったです。
こってり屋みたいに技術系webページを開いて欲しいなぁ。
質点同士の演算や高速化の話や形状の拘束とかいろいろ興味あるし。
または気が向いたら書く技術系Blogとか。
言いだしっぺの法則というものが存在する。
829 :
827:05/03/04 07:10:37 ID:88b1Vr1F
('A`)
>>829 金子さんは、ny作ったよりもそこら辺尊敬するよな。
ソース分かりやすいし勉強になる。
誰かパネル表作ってくれ。
パネル…CHIP
フレーム…FRAME
Yジョイント…RUDDER
Xジョイント…?
Zジョイント…TRIM
ジェット・・・JET
モーター…?
無感性モーター…RLW
パネル chip(angle,color)
フレーム frame(angle,color)
Yジョイント rudder(angle,color)
Xジョイント ない
Zジョイント trim(angle,color)
ジェット jet(angle,power,color)
モーター・タイヤ Wheel(angle,power,color)
無反動モーター RLW(angle,power,color)
chipやframeやjetやwheelやrlwのangle(取り付け角)を変化させればXジョイント相当
ただしtrimやrudderのangleはそれぞれの角度制御に使われている
あとパネキと違う所としては
同じ個所にいくつでもチップを取り付ける事ができる
↓こんな感じ
core(){
N:chip(){}
N:frame(angle=90){}
N:chip(angle=180){
S:wheel(){}
}
}
そうか、ただのチップもアングルに入力すりゃ動くのか。
パネキスレのあれはここで受け入れるの?
パネキスレもここも微妙にスレ違いになりつつあるから
新しく専用スレ立てようって流れになってるような気がするかもしれない
ゲサロに専用スレ立ったようだな。
んじゃそっちで。
AC(アーマードコア)みたいな
跳躍時のブースト部分作ってるのですが
とりあえず動きはしたのだけども
これでいいもんじゃろか
Vg = g * Tg (自由落下)
Vb = v0 + a * Tb (等加速度直線)
Vy = Vb - Vg
g、v0、aは適当な数値
Tgは地上から離れたらカウント開始
接地するまで。
Tbはブースト使用する度にカウントアップ
接地すると0へ。
ってな具合にやってるんですが
何ぞいい参考資料やら、アドバイスの程ありませんでしょうか
ロケット 推進力でググッたけど、なかなかないス
>>841 動いてるとこでも見ないとなんとも・・・
自分で気に入ったならそれでいいんでは?
うほ 人がいた
一応こんなんです↓
ttp://gamdev.org/up/img/2409.zip Fキーで飛びます飛びます。
ちなみに壁との判定無し、なんかの拍子で落下しますので。
で、仮に100s間滞空してたとしたら
9.8 * 100 = 980[m/s^2]とかすんごい事になってそうなんで
なんかないものかと
とりあえず タイムTに
捕らわれない式にしてみたりする。
ただ加算してるだけだがw
上のはTg Tb使ったままだが
>>843 その方向で行ってみよう。
プログラムは実行できる環境にないんで何とも言えない。
>>842 空気抵抗でも入れてみたら?
具体的な式が出てこなくて申し訳ないが、たしか速度の2乗に比例するはず。
いきなり
Vy = v0 + (a * boost - g) * Tb
boost : ブースト時1
(0〜1のアナログ値にするとスロットル調整出来る)
にすればVgとかVbの値が大きくなるとか気にしなくてもいいんじゃない?
>>845 これすね
ma = mg - kv
途中からワケワカラン状態で
v = C1 e^なんてらかんてら + mg / k
もう微分とか忘れてもた。
>>846 なるほど、こちらも試してみまっす
弾道等、タイムTとか理解できるけど
速度や方向が常に変化する場合とか、ややこしいのう
ソニーは間違いですよ(´・ω・`)
おもいっきり誤爆orz
850 :
847:05/03/13 20:24:21 ID:ddVGYjw0
>>846式をやっちみました。
ちょち説明しがたいですが
時間経過に伴って
Boostをオン・オフ(0か1か)した場合
Vyの振幅が大きくなっていく
なんのこっちゃ。
しかしながら、( a * Analog - b )は参考になりますです。
有り難く頂戴致します。
それはTbのせいかな?
ΔTbのつもりだったんで毎スキャン計算するならTbは定数でいいね。
V0も初期速度じゃなく前回値だし。
ぐはっ
くそ〜 俺もまだまだ愚か者であった
簡単に考えてしもた
なるほど、もっかいやってみます
OpenGLで物理シミュレーションしようとしてるんですが、
dt+=(float)30/1000;
dy-=0.5*G*dt*dt;
てな具合にするとおもうんですが、
この場合の、dtはフレームレート33.3fpsを想定してるんですが、
SwapBuffers()で描画処理するとfpsはどうなってるのかわからないんですが、、
fps設定したり知る方法ってないですかね?
glutは使っていません。
メインループ内では、
if ((!DrawGLScene_01()))
{
done=TRUE;
}
else
{
SwapBuffers(hDC);
}
となっています。
fps決め打ち(・A・)イクナイ
>853
winmm.libをリンクしてtimeGetTime使え
timeGetTimeはアプリケーションが起動してからの時間がmsで取れる
てWin32APIの勉強もしろよ
ただし49日以上連続で動作させるときは注意しろ
あと今回はhDCと書いてあるからWinだと判断できたが、質問するときはOSや
開発環境(コンパイラなど)も書くべし
Windowsとは限らないからな
856 :
853:05/03/17 19:36:38 ID:dnS2TOWr
ありがとうございます。
> fps決め打ち(・A・)イクナイ
ということはtimeGetTime()使って、
描画処理後時間(もしくはSwapBuffers()後かな・・・?)−描画処理前時間から
fpsが得られそれをもとにdtを算出したほうがいいのかな?
となると、前フレームでのfpsが次フレームのΔtになるってことかね・・
>855
もう遅いですが、WINDOWSXP+VISUAL C++です。
>>856 ちょっとまて。
>描画処理後時間(もしくはSwapBuffers()後かな・・・?)−描画処理前時間から
得られるのはdtではないのか?
dt = 今回の描画時刻 - 前回の描画時刻
858 :
857:05/03/17 23:51:40 ID:L1vhHo+F
ごめんちょっと読み違えた。
DrawGLScene_01()の前でtimeGetTimeするようにして、
前回との差分を求めればそれがdtになるんじゃないかなって言いたかったのです。
描画処理前後の時刻から実際に描画した時間を求めたいんだと思うけど、
描画後から次の描画処理までの間って一定であることは保障されないから
動きがぎこちなくなるんじゃないかねぇ。
>ただし49日以上連続で動作させるときは注意しろ
廃人仕様のネトゲを作る時は数ヶ月電源切らないバカのためにも
注意しないとダメなのね。
いっそフリーズさせてやったほうが親切な気もするけどな……。
49日以上も間を置いて処理が前後するはずがない。
せいぜい数秒だろ?
timeGetTimeの時間が前に保存した時間より前になってたら
一周したんだと判断して上手く処理すればいい。
まあ、処理する箇所全てでそんなことやってたら面倒で死にたくなると思うが、
比較用関数でも作ればいいわな。
おいおい、マジで言ってるのか。
分岐せずに普通に減算するだけだろ
>おいおい、マジで言ってるのか。
分岐せずに普通に減算するだけだろ
?
ごく小さな差を出すだけならキャストして減算するだけだね
2進数表現と2の補数をちゃんと理解して
コンピュータの世界も成仏するのに49日かかるのか。。
866 :
名前は開発中のものです。:2005/05/24(火) 14:58:58 ID:XukDS2te
1
867 :
名前は開発中のものです。:2005/06/04(土) 09:20:36 ID:/L/porwE
2
3
ダー!!
元気デスカァー!!
元気があれば
なんでもできる
872 :
名前は開発中のものです。:2005/06/09(木) 20:29:21 ID:qFoUOEo7
アリガトーー!!!
「こってり屋」のアーカイブを持っている人いませんか?
web archive でも見ることができなくて残念。
あちらこちらで良い評価をもらっているサイトなので、
一度見てみたいと思っているのですが、何とかなりませんでしょうか?
875 :
名前は開発中のものです。:2005/06/18(土) 11:17:56 ID:6iUM9GbJ
age
>>874 違い過ぎて逆にわらた
漏れも、ア、アーカイブきぼん。
うーん、これは面白い…
この方向性でいろいろなものが生まれてきそうな気はするね。
879 :
名前は開発中のものです。:2005/08/28(日) 09:48:10 ID:WgK8kcnt
ロープとか鎖みたいな物の動きを短い棒を沢山連結させる事で表現したいんですけど
(ヌンチャクを沢山連結させたみたいな)、
調べるにあたってそういう物理モデルとか計算手法なんかに名前はついてたりしますでしょうか。
キーワードがあれば教えてください。
もちろん棒自体は体積は持たせんし、バネのように伸縮もさせません。
両端を連結させたただの「線分」というか。
>>881 アレ関係以外で47氏って呼ぶのやめようよ……。
>>884 物理モデルの持ち方が力学的じゃない方法をつかってるからそう書いただけ。
文字通り擬似の意味で。
>>883 金子氏って書いたら別板でぶつくさ言われたからそう書いたんだ。
セミナーも行った位あの人の講義好きだったのにorz
>>884 君は pseudo random number を「インチキ乱数」と訳して
「何をもってインチキと〜」などと喚きたてるのかね?
よく分かりませんな、頭の
>>885 だからその
>物理モデルの持ち方が力学的じゃない
ってのが具体的にどこを指しているのか知りたいんだけど。
周知とは思うけど、Verlet法は分子動力学の世界じゃ古くから使われてる手法だよね?
ロープのデモって数年前に一度見ただけだけど、他に特殊なことやってたっけ?
>>886 何その頭の弱そうな突っ込み
>>887 通常の物理演算モデルだと慣性モーメント使うけど、金子さんのABメソッド(銘々が違ったらごめん)の場合それとは全く異なる方式だよね?
そういう場合、元のリクエストのように通常の物理演算を期待している人に提示すると混乱の元になるのは明らかじゃないですか。
だから元リクエストに対しては擬似物理演算だよと言うべきと判断したわけなんだけど、そこら辺を考慮した上で擬似と言う単語にくってかかるのなら
なぜくってかかるのか提示してもらいたいものですが、いかがですか?
何も分かってないな。
慣性モーメントは、質点系の質量中心を基準点としたときの
角運動量の総和を角速度を用いて表した式に出てくる係数ってだけで、
ニュートンの法則を一定の制限を設けて弄くり回しただけのものに過ぎない。
何ら新しい、使わなければ擬似であるようなパラメータではないんだよ。
これは古典力学の本読めば第一章辺りに必ず書いてあること。
(ニュートンの法則自体が厳密に成立するのが古典力学までの世界なので
>>884を書いたわけだが、そんな意図は全く通じなかったようだ)
大体、君の言う"通常の物理演算"ってなんだ?
>>879-880の彼は別に剛体の物理そのものを求めているようには見えないが。
大量の拘束を連ねた剛体を想定しているなら、
Featherstone's Articulated Body Methodぐらい実装してからクチを開けよと言いたい。
知識が圧倒的に足りてないのに適当に語るから、こんな風にボロが出るんだよ。
Pseud Physicsなんて不思議な単語使ってくるくらいだから十二分に予想は出来ていたけどね
まぁいいじゃない、ボロが出たって。
>>881は親切心で書いてるんだし。
で、私は何をキーワードに検索すればいいのでしょうか。
金子さんのはやや独自らしいのでできれば教科書的な方法をまずやってみたいと考えてます。
想定しているモデルを物理用語っぽくいうと何ていうのでしょう。
Verlet method
AB法 (Anime-Body method)
Advanced character physics
894 :
名前は開発中のものです。:2005/09/02(金) 21:09:30 ID:pblmt9Sp
すみません、古典力学についての質問です。
初期位置:y=150
加速度: acc = 10
初速度: spd = 50
速度: spd = spd + acc
床の位置:y=200に水平
上記の条件で画面下に向かって落下する物体があるとして、
更新後の座標はy = 150+50+10 = 210です。
当然めり込みが発生するんですけど、座標と速度の補正はどうすればいいんでしょうか?
床と物体との衝突は完全弾性衝突だとすると、単純に速度を反転させるだけでよいのでしょうか。
レベルの低い質問ですが、めりこみの補正がうまくいかず悩んでいます。
宜しくお願いします。
床にぶつかる場合は、座標を更新せず、速度の方向だけ変えるのが一番簡単じゃないの?
速度がめちゃめちゃ速い場合、床にぶつかってないように見えて、みっともないかも知れないけど。
この例だと、210で床にめり込んでしまうから、座標は更新せず、150のまま速度だけ-60にする。
896 :
894:2005/09/02(金) 22:15:30 ID:pblmt9Sp
レスありがとうございます。
したの図のような状況になってしまうので、できれば正しい位置に補正したいのですが、
その場合に速度を−60にしてしまうと跳ね返り後に不自然に加速してしまいます。
何か良い方法は無いのでしょうか?
○ ←本来はこっち
\ /
● \ / ←座標補正しないと軌道がずれる
__\_\/___
\/
>>896 それだと、挟み撃ち法かなんかで、正確な衝突位置と時刻を計算して、
その時刻での速度を計算して、床の面で反転させて移動先を求めるしかない気がする。
そんなメンドウなことやったことないから、上手くいくかわからないけど。
>>896 Y速度が50なんだから、バウンドした量も含めて縦に50移動してればOK
一度方眼紙に書いてみれば感覚がつかめると思う。
この場合、めり込んだ10だけ跳ね返ったy=190が正解だと思うよ。
速度は-50+(40-10)*10/50を減衰させればいいかな?(自信ない)
厳密ではないけど誤差を10分の1に小さくする方法はあるよ。
移動速度を10分の1にして、毎回10回計算する。
902 :
894:2005/09/03(土) 12:03:33 ID:zLnViSEh
みなさんありがとうございます。
>速度は-50+(40-10)*10/50を減衰させればいいかな?(自信ない)
これの(40-10)というのはどういう意味の計算なのでしょうか?
質問ばかりですみません
>>902 (壁に衝突するまでの距離−そこからの余剰分のベクトル)じゃ無いの?
いや、詳しくはわからんけど。
こういう風にめり込みを考慮した衝突を表現する場合、どういう力学の公式を適用すればよいのでしょうか?
こんな、ごく単純にボールが自然落下して床に当たって跳ね返るだけの処理で悩んでいるようでは
ゲームプログラマとしては才能がないのでしょうか・・・(´;ω;`)
問題点を判っててしかも放棄して無いんだから資質はあるんじゃね?
っていうかやけに単位が大雑把な気がするけど何のゲーム作ってるんだろ?
厳密な計算はいくらやってもキリが無いからある程度の妥協は必要だぞ。
>>904 > こんな、ごく単純にボールが自然落下して床に当たって跳ね返るだけの処理で悩んでいるようでは
>ゲームプログラマとしては才能がないのでしょうか・・・(´;ω;`)
ここはマジレスしてあげよう。
こういう問題で精度と計算結果が重要視されるのはシミュレーションや大学の論文。
で、ゲームプログラマーというかアミューズメント系はこういう場合ゲームシステムやプレイ感覚に与える心理的影響や
ゲームシステム上の不具合が発生しない方向を最初に検討してから対処する事になる。
つまり考え方とか方法論がはじめから違うのだ。
だから君が悩むべきは自分の作っているゲーム世界での影響を排除(あるいは許容する範囲の決定)であって
必ずしも数式的、物理的に現実に添うことではないのだよ。
#いまだプロでなくアマチュアであってなおかつ学生であるのなら悩んで当たり前だから、悩む事自体を楽しめるようになりたまえ。
>>906 言ってることは至極真っ当だが言い方がエラいムカつく
活気があってよろC
しかしこの後、いつも通り2ヶ月のスレスト
それをあえて俺が910ゲット
9.11get
912 :
894=904:2005/09/05(月) 09:54:08 ID:JI8n54ag
みなさんありがとうございます。
結局、めり込みを考慮した衝突と反射に関しては簡単には計算できない、という事でよろしいのでしょうか。
自分的にもここで悩んでても仕方がない気がしてきたのでネットでペナルティ法やAB法というのを調べて実装してみたいと思います。
ありがとうございました。
シミュレーション的観点からは接触時間がいつとかきちんと考えないといけないけど、
ゲームではほとんどの場合何も考えていないのが実情だと思う。
見た目があまりおかしくなければ良しってね。
壁にめりこむ前に反射させたりとか、めりこんだまま動かしたりとか、
エブリデーのティーアンドライスですよ。
結論:やりたいことによる
なにこの良スレ
数学よりだけれども、
BOXの移動元・移動先を考慮した
OBB衝突判定のソースコードどこかに転がってないですかね。
ググってもなかなかでてこなくて。
>>912 「めり込みを考慮した」という点が良く分からん。
解析法とペナルティ法ってのがあると思うんだけど。
めり込みを考慮するってことはペナルティ法で解くってことでしょ?
SpringHeadを参考にしたら?
917 :
915:2005/09/06(火) 12:22:00 ID:kXw3I5Fi
移動を考慮しない衝突判定のソースは色々あるんだけれども、
静止状態での判定だと、高速なオブジェクトは
衝突処理の間に飛び越えて、
判定できなかったりするんじゃないだろうか。
918 :
名前は開発中のものです。:2005/09/06(火) 14:55:54 ID:e4EPwdWQ
>>916 ペナルティ法って正しい結果が求まるのか?
912のような状況で次の1フレーム後の速度と位置を正確に求めるには
>>897の言うように
衝突の起こった時間を調べてその時点から計算をしなおす方がいいと思うが。。。
>>918 ペナルティ法だと、めり込んだあとしばらくはめり込んだ状態を保つよ。
で、やがてめり込みが解消されて離れていく。
物体同士が絶対に食い込みあってはいけないという過程自体を覆す考え方。
フックの法則を使うのでダンパーを使わなければ衝突応答前後での運動量は
保たれる(=完全弾性衝突)
つっても、
>>912のいう「めりこみを考慮した」という発言は
ペナルティ法を指しているとは思えないけど
しかし回答する側の勉強不足が目立つなぁ、まぁ無料相談所なんてそんなもんか
921 :
名前は開発中のものです。:2005/09/07(水) 03:44:10 ID:fxVxjrGQ
>めり込みうんぬん
物体がある時間(1フレームとか)で移動する間に跳ね返りがおきた場合、その衝突時点まで戻して
そこから速度や位置の計算をするのが良いと思われるが、「それをせずに」サクッと解く方法はないものか?
・・・って事がそもそもの912の疑問なんじゃないかと。
これって、多数の物体同士の当たり判定をやりだすと、ごく短い時間の間に衝突が発生してめり込んだり突き抜けたりしてしまうわけで、
そもそもそういう複雑な状況を簡単に求める手法は無いよね。(たぶん)
で、こういう場合にペナルティ法でもってめり込みをゆるしつつ処理するのが最近の流れで、
これなら計算も楽だし勝手に跳ね返って収束するのでゲームにはこれで十分だよと。
とまぁ、こんな感じの理解でOK?>物理に詳しい人
あの、ごくごく基本的な質問ですみません。
角速度ベクトルって、どのくらいの長さで1回転とされているんでしょうか?
姿勢をあらわすクォータニオンに対して、角速度ベクトルの半分を掛け足すことで、回転を確認したんですが、
1回転の基準となる長さがわからないため、たとえば、摩擦抵抗を計算するときに、どれだけ角速度の長さを設定していいかさっぱり。
壁にぶつかるたびに回転が加速したりします。
クォータニオンに対する計算がおかしいのかなあ。誰かよろしくお願いします。
923 :
名前は開発中のものです。:2005/11/04(金) 21:08:53 ID:5tTLDfvO
age
ふ〜やっと斜め読み終わった。
読んでみたところで専門学校出には99%理解できないんだが。。
>>561 ポリゴンAを形成する三角形と
ポリゴンBを形成する線分(辺)の交点を求めれば良いと思う。
その交点が線分に乗ってれば当たっている。
ただしAが完全にBに入り込んでいる場合、あるいは逆だと、
交点は生じないので注意が必要。
ポリゴンA上から(例えば適当に選んだ頂点)
適当な半直線(例えばZ軸に平行な線)を設定して、
ポリゴンBの三角形との交点が奇数なら、
AがBに入り込んでいると判断していいんじゃないかな。
閉じてない形状だったり、自己干渉していたりしている場合はワカンネ。
自分で言うのもなんだけど、物理じゃねぇな_no
2年前にレス乙
おじいさんになって、50年前の書き込みにレスをするのが僕の夢です。
928 :
名前は開発中のものです。:2005/12/04(日) 20:10:46 ID:vq2dcsz6
>>922 角速度ベクトルに時間をかけないと回転量にならないんじゃ?
>>924 一般的に、当たってない判定を2ポリゴンを分離する軸を見つけることでおこなう。
この軸がなければあたり。
簡単には説明できないのでSeparation axisでぐぐる。
929 :
名前は開発中のものです。:2005/12/16(金) 08:26:00 ID:DTxix2tD
数年前にペナルティ法に取り組もうとして挫折した者なのですが、
よく使われていると思われるペナルティ法では、めり込んだ頂点と面との距離に線形のフックの法則を適応すればいいのでしょうか?
ペナルティー法のとっかかり自体が分かりません。。。
とっかかり?
めり込んだから押し出しちまえ。それだけ。
Springheadのソース見ればいいんじゃねーの。
あるいはNeko氏のサイトに似たような解説アリ。
AB法とか読んでた希ガスる。
さらしあげ
物理エンジンを組み込んだ動画を見たがやばいな!!すごすぎる!!早くあんなゲームが俺の手元にこないかなぁ。
933 :
名前は開発中のものです。:2006/04/04(火) 15:53:40 ID:YuM8+uhP
ペナルティ法についての質問なのですが、剛体リンクをある点で拘束したい場合
重心に力がかかると考えてよろしいのでしょうか?
F=-kx-cvで拘束すれば剛体同士の位置は拘束されますが、トルクが考慮されてないので
姿勢がそのままになってしまいます。
それで、重心に拘束点からの距離rをかけてトルク(r x F)を与えると回転が発散してしまいます。私のコードが間違っている可能性も否めませんがだれかご教授よろしくお願いします。
君の説明はすごく下手で曖昧で不足だ。
だからエスパー回答する。
>ペナルティ法についての質問なのですが
ペナルティ法以前の問題だ。
>剛体リンクをある点で拘束したい場合
>重心に力がかかると考えてよろしいのでしょうか?
つまり拘束条件とか外力の作用点をシカトし、必要な分解もせず
丸ごと全部が重心に作用したと考えていいかということか。ダメ。ゼッタイ。
>F=-kx-cvで拘束すれば剛体同士の位置は拘束されますが
バネとダンパの係数を滅茶苦茶大きくして拘束したのか。
イジメ、カッコワルイ。
935 :
続き:2006/04/04(火) 19:13:29 ID:l3ZeOJHQ
>トルクが考慮されてないので姿勢がそのままになってしまいます。
作用点をシカトして重心間で引っ張り合いしてるからだ。自業自得。
>それで、重心に拘束点からの距離rをかけてトルク(r x F)を与えると
外力全部を並進運動に使っておいて、更にトルクとして与えるなんて
ドーピング、ダメ。ゼッタイ。
>回転が発散してしまいます。
使ってる数値積分のアルゴリズムは何か。
数値解の安定性について考慮しているか。
>私のコードが間違っている可能性も否めませんが
コードが間違ってる可能性100パーセント。
936 :
933:2006/04/04(火) 23:06:57 ID:7TU7iQ7/
>>935 >使ってる数値積分のアルゴリズムは何か。
>数値解の安定性について考慮しているか。
お。狙い通り詳しそうな人が釣れたので本性を現してみるか。
ゲームで使う程度の単純な剛体物理で、1次シンプレクティック法以上の選択肢ってあるか?
発散の要因の殆どは微分方程式が極端に非連続であることに起因すると思うのだがなぁ。
ルンゲクッタとか使ってる奴は、式の評価の度に剛体の衝突検出から始めてるのか?
固定された式だとしたら、そもそも何も考えずにデザイナにモーション作ってもらえって話だし
式に速度が入っていて1次シンプレクティックとして成立しねぇんだよ、という突っ込みはまぁ無視だ無視
釣り宣言はまぁいいとして
で、角速度が爆発する件はもう解決してるんか。
まぁそれならそれでいいんだけどさ。
940 :
933:2006/04/05(水) 07:18:10 ID:E+b2CdTD
なんだよ。相手の方が知識持ってることが分かったらすぐに遁走か
こんな奴ばかりだ
まぁ、実際困ってる人はいなかったのなら、それが何よりじゃないか。
>>941 「よかった、病気の子供はいないんだ」?
この戦争が終わったら俺、結婚するんだ。見ろよこのフローチャート。あと三ヶ月なんだぜ。
>>940 君 : 質問。状況説明不足。(解読には要エスパー能力)
↓
俺 : もっとkwsk。一先ず脳内補間&解読&回答
↓
君 : 釣り宣言。チラ裏日記(話題が発散)
↓
俺 : で、最初の質問の件はどうなったの?
↓
君 : 勝利宣言。
↓
俺 : ( ゚д゚)??? ※※ ←今ここ! ※※
私が933です。他の人勝手に名乗らないでください。
934さん回答ありがとうございました。
とりあえず剛体同士の衝突は上の方法でうまくいったのでそのまま関節にも適用
できないかなと考えていたのでそのような質問しました。わかりづらくてすいません。
それで拘束のほうですが、やはり拘束条件の式を適用しなくてはいけないのですね。
正直面倒くさいのでなんとか横着できないかなと考えていました。
とりあえずこれからちゃんと方程式たててやってみます。
いえ、私が本物の933です。
「剛体リンクをある点で拘束したい」という話だから
例えばあるリンクAが点Oに固定され(自由度3:並進不可&3軸回転可)
それに接続されたリンクから加わる外力Fと作用点Pがペナルティ法で
求められた状況下で、このリンクAの刄ニを求めたい。でも何故か値が
爆発しちゃうよということだよね。
これって外力FをAOに垂直・水平な成分に分解。拘束条件によりAOに
平行な成分は打ち消され、AOに垂直な成分のみリンクAに作用。
ということ以外、何も特別なことはないと思うけど。
948 :
続き:2006/04/06(木) 01:28:24 ID:I3U88jqx
で、計算結果が吹っ飛んじゃうのはコードの単純ミスだろう。
例えば
>>936がチラシの裏で書いてるようなシンプレクティックな
数値積分を使ってるなら、試しにリンクひとつにして高初速でぶん回せ。
それで回転速度がどんどん大きくなるならコードがおかしい。
リンク数を増やしてぶん回して吹っ飛んじゃうなら、それは普通。
2次精度でやるか、時間ステップを小さくするか、泥縄式に
変数に上限値を設けるか、強ダンパ使って無理やり押さえ込む
しかないでしょ。
949 :
訂正:2006/04/06(木) 01:30:37 ID:I3U88jqx
2次精度にしたり、時間ステップを小さくしたり、泥縄式に
変数に上限値を設けたり強ダンパ使って無理やり押さえ込む
しかないでしょ。
s/AO/PO/g
ものすごい久々に見てみたら、
>>787すげー。びびったよ。
パネキットは専用スレがあるくらいだからな。
953 :
933:2006/04/10(月) 00:26:58 ID:SRry4c2l
>934さんへ
おかげさまでパネ・ダンパのみで拘束が表現できました。
結局問題は数値積分による累積誤差でした。拘束式解かないですんでよかった....
どうも3次元になるとどこが問題になっているのかわかりづらいですね。。
なにはともあれ丁寧に回答してくださってありがとうございました。
すげえ…俺もこんなの作れるようになりたいッす
956 :
名前は開発中のものです。:2006/07/17(月) 02:14:05 ID:BW0QsVu3
それなんて催眠術?
次は斥力も入れて
保守
961 :
名前は開発中のものです。:2006/09/24(日) 15:02:43 ID:3Pb274kP
age
今更だが
>>894はこれでいいんじゃないの?
// 座標
if(y>=200) {
y += (vy-(y-200));
vy=-vy;
}
else
{
y += vy;
}
// 速度
vy+=ay;
y+=-(vy-(y-200));だった
ここにはbaraffのIntroduction読んでる人が多いので
質問させてください。
appendixD.2のcompute_ndot(Contact *c)って変ですよね。
>>965です。
内積と外積がごっちゃになってたり、
変数名間違えてたりするけど、
確かに計算したら最後の式が出てきました。すいません。
スマブラなどのアクションゲームのキャラの移動、落下、吹っ飛びにはどのような計算が行われているでしょうか。必要な数学物理分野や参考になるサイト、ヒントなどの情報を教えていただきたいです
よろしくお願いします
微積代数幾何が人並みに分かっていればOK
何それ?ってたぶん答えるだろうから、その場合は
素直に学業に専念しなさい。絶対に無駄にはならないから。以上。
ありがとうございます。
早速勉強してみます。
微積分っていうけどさ、微分と積分って天と地ほどに違うと思うのは俺だけか?
>970
どのレベルで言ってるのかわからないが、
ゲームの物理なら補完方法(外挿/内挿)の違いでしかないと思う。
>970
「まるっきり別物に見える二つが実は繋がっていた」という偉大な発見が数学に与えたインパクトは絶大。
実はもの凄くいい点ついてるよ。
973 :
名前は開発中のものです。:2007/03/11(日) 17:11:42 ID:JBiyLwiL
>>966 >>967 スマブラは知らんが、移動、落下、吹っ飛びは加減乗除ができれば大丈夫だろう。
>>968 微積代数幾何が人並みに分かっていれば微積代数幾何の単位が取れるな。
スマスマとはあまり関係ない。
>>969 ぜってーだな!?
>>970 うむ。天と地ほどに違うね。天は上方向、地は下方向だからな。
>>971 ゲームの物理とは関係ないと思うぞ。彼はむしろ、ニュートンの生き様を聞きたい
のだ。
>>972 そう!俺と河中麻系、俺と熊田曜子みたいなもんだ。二人とも普段はヒキなんだって。
>>973 >>18は2年前に亡くなってる。残念だ。最後の言葉は「モーション生成の・・・バー
ジョンアップを・・・」だったらしい。
975 :
名前は開発中のものです。:2007/03/24(土) 00:08:33 ID:jE9mmGMT
宇宙での宇宙船の動きをシミュレートできるやつとかないすか?
フライングバイとか
スイングバイじゃなくて?
フライングバイセクシャル
>>975 いちばん簡単な部類じゃないか。文系高卒の俺でもできるくらいの。
ファインマン物理学Iでも読みながら考えなさい。
ゲームに使う物理学なんて義務教育の範囲内だって事だろ。
表紙に出てるのが放物線って時点で、内容はお察しじゃね?
でも、この板で出てくる物理学的疑問の90%には答えてくれそうだwww
981 :
名前は開発中のものです。: