トップページgamedev
981コメント311KB

ゲームのための物理(力学)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/04/08 17:38ID:dlksSYkA
ゲームに必要な物理(力学)を語るスレッド。

例えば、坂道を転がる球の加速度だったら。

その球の密度が一様ならば、慣性モーメントは(2/5)MR^2なので

dV/dt = 5*g*sinθ/7;

と表せるよとか。

他にも剛体運動、力積とか語ってください。
0187名前は開発中のものです。02/04/28 11:09ID:???
>>186
計算機がやるのと人がやるのを区別している時点でダメかも
018818602/04/28 23:28ID:???
>>187
私の言葉が悪かったですね。
逆行列を求めるときのクラーメルの公式のように、
一定の処理で答えを得る方法があれば知りたかったのです。
手順を不定数繰り返すような方法ではなくて。
そんな方法はない、ととってよいでしょうか?
0189名前は開発中のものです。02/04/30 02:51ID:usumw5wg
ムーア・ペンローズの一般化逆行列ってどう?
0190 02/05/01 22:02ID:hP64kl/k
フェルマーの最終定理の証明もできないやつがゲーム業界くるなよ。
このまえなんかテーラー展開すら知らないドキュソが来た。
0191名前は開発中のものです。02/05/01 22:08ID:???
テイラー展開ぐらいで天狗になるなドキュソ。
0192名前は開発中のものです。02/05/01 22:41ID:???
あたしって、旅慣れてるから、旅慣れテーラー?
0193名前は開発中のものです。02/05/01 22:42ID:???
フェルマーの最終定理の証明できるくらいで威張ってるならばゲーム業界くるなよ。
このまえなんかテーラー展開で威張ってるドキュソが来た。
0194名前は開発中のものです。02/05/01 22:49ID:???
やっぱりゴールドバッハ予想くらい証明できないとね
0195名前は開発中のものです。02/05/01 23:58ID:???
お前ら寒いよ。
0196名前は開発中のものです。02/05/02 13:12ID:???
バナナで釘が打てるくらい寒い。
0197名前は開発中のものです。02/05/03 11:58ID:IYsMvn.w
最近は、円周率を3で教えるとか
0198名前は開発中のものです。02/05/03 12:44ID:???
いいっちゃ良いよね。
計算の内容さえ理解できれば。> π
0199名前は開発中のものです。02/05/03 15:11ID:???
最近はマラソンも42kmでよいそうだ。
0200名前は開発中のものです。02/05/03 16:13ID:???
世界一不正確な円周率 = 4 だって。ギネスに載ってたよ。
0201名前は開発中のものです。02/05/03 18:29ID:???
3じゃないって事さえ教えれば良いと思うがどうだろ。
でもπ=3だと正六角形の一辺の辺と円の半径が同じならば
どちらも周囲の長さは同じ罠。
あと円周率は3って決めつける厨房教師もでてきそう。
ほら、反比例のグラフを定規で書かすやつみたいに。
0202名前は開発中のものです。02/05/04 00:29ID:4m79E84c
玉が転がるときの
転がり摩擦と滑り摩擦はどう違うの?
0203名前は開発中のものです。02/05/04 03:26ID:SDeID7JM
静摩擦と動摩擦
0204名前は開発中のものです。02/05/04 09:34ID:gi.FYHWY
膣圧
http://natto.2ch.net/test/read.cgi/voice/1018497314/
0205名前は開発中のものです。02/05/08 00:46ID:wjoxu7eY
正直、流体力学はゲームに使えるの?

あと、渦なしの水面が
>>(∂/∂t)^2 z = k Δz  (ただし、Δ = (∂/∂x)^2 + (∂/∂y)^2)
になるのはなぜか教えてちょ。
0206名前は開発中のものです。02/05/08 12:31ID:???
ひとよひとよってなんのことかおしえてちょ
0207名前は開発中のものです。02/05/08 18:18ID:???
スーパーマリオで慣性の法則が何たるかが分かった奴もこの世には居るはずだ。
0208名前は開発中のものです。02/05/10 08:22ID:???
>>205
解が波動関数になってそれっぽいから.
渦無しって粘性ゼロという意味だっけ.
量子力学でそんな話があったような無かったような

正直使えないのでは?
毎フレームFEM解くのは量子コンピュータ待ちか
0209名前は開発中のものです。02/05/11 16:42ID:???
某掲示板からのコピペですが、
----------------------------------------------------------
剛体に同じ力を加えても、重心の加速度は同じで、
角加速度が違ってくるのは、同じ力積なのにエネルギーが
変わるから変な気がするんですが、誰か教えてもらえませんか?

それとも自分の考えが間違っていますか?
-----------------------------------------------------------
ってどうなんでしょう?
0210名前は開発中のものです。02/05/11 18:50ID:???
力積とエネルギー(仕事)は根本的に単位が違うよ。
「力積が同じでエネルギー変化が異なる」という例は、
ほかにもいくらでも考えられるよ。
0211名前は開発中のものです。02/05/13 23:48ID:WAy/mj8A
>209
そもそもどうやって力積を求めているのか、
そこをちゃんと理解してないのでは?
0212名前は開発中のものです。02/05/14 02:02ID:???
http://www-2.cs.cmu.edu/~baraff/sigcourse/notesd1.pdf
の最後に、その問題について解説してるみたい。
0213名前は開発中のものです。02/05/14 21:49ID:.e.pT2og
 
0214名前は開発中のものです。02/05/17 11:28ID:WVs5nPNA
剛体間のヒンジ拘束はどういった拘束条件になるのでしょうか?
点拘束(ボールジョイント)二つ付けると過拘束になって
数値的に不安定になりそうです.
ボールジョイント+スライダジョイントでしょうか.
0215名前は開発中のものです。02/05/17 18:35ID:GL4pTvyU
ヒンジ拘束ってどういう拘束?
二つの剛体が完全に一体化されている状態?
0216名前は開発中のものです。02/05/17 19:04ID:???
ヒジとかヒザみたいな1自由度の拘束だよ
0217名前は開発中のものです。02/05/17 19:18ID:???
ヒンジなんてハイカラな用語使うなよ。
日本人なら蝶番(ちょうつがい)と言え。
0218名前は開発中のものです。02/05/17 19:31ID:???
>蝶番拘束
構造力学で静定,不静定ってのを習いましたがそんな感じです
0219名前は開発中のものです。02/05/17 21:56ID:???
ボールジョイント2つだとたしかに不静定になるけど、数値計算的に
不安定ってことはないと思うよ。ただ、解が一意に決まらなくなるので、
拘束力ベクトルの長さを最小にする、みたいな条件を適当に付加すれば
解を決めることができるようになる。
0220名前は開発中のものです。02/05/18 14:20ID:r7tHRVkg
拘束の運動方程式ってみんなどんな方法で解いているんですかね?
連立微分方程式?連立代数方程式?
ニュートン力学で解いている方も居ますよね?
022121402/05/18 21:35ID:???
>>219
なるほど勉強になります
>>220のどれで解いているのか解りませんが,
拘束力を加速度(もしくは速度と撃力)の関係を連立方程式で解いて,積分すると拘束される.
という感じです.力だからニュートン力学かな?
{拘束点間の相対速度}={拘束撃力}{質量とか慣性モーメントとかの行列}
これをそのままニ点間(6行6列)で組み立てても,一意に求まらない?
で,なにか条件つけて未知数5個にするわけですかね?
んー数学もっと勉強しておくんだった...
022222002/05/18 21:43ID:ur3STz7o
214さんはまだ拘束運動はうまく行ってないんですか?

219さんは詳しいですね。
やっぱり連立代数方程式を反復法とかで解いたんでしょうか?
0223名前は開発中のものです。02/05/18 21:55ID:???
ここすごいね
http://cgi3.tky.3web.ne.jp/~tkano/
0224名前は開発中のものです。02/05/18 22:22ID:???
KanoたんのRigidBodyは拘束運動はやってないよ
022521402/05/18 22:31ID:???
ボールジョイント(点で拘束)なら上手く動いています.
どっかのスレにある触手みたいな感じ.
60FPSとかだと誤差の蓄積でずれて多少の補正は必要で,
内力でコントロールとかは出来ていませんが.

全然理解していませんが,
解析力学+ロボット工学にでてくる方法(ラグランジュ方式?)のがいいのですかね.
ロボット工学の成績は20点くらいだったなぁ・・
022622002/05/18 22:48ID:ur3STz7o
>225

目で見てわかるほどの誤差が出ますか…。
私の場合、微分方程式+重心に働く力、とかなら誤差も無くうまく行くんですけど
外部から撃力が働くと難しいんですよね。

ロボット工学とかはかなり知識を積み上げないと難しいですね。
未定乗数ってなんなんでしょ?
022721402/05/18 23:32ID:???
>微分方程式+重心に働く力
ちょちょっと無学なものでよく解りませんが誤差が無いのはいいことですえ.

一応いろんな人が見ていると思うので簡単に私の方法を書いておきます
今は無き「こってり屋」さんに書いてあったのそのままですが,
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法みたいになる?
022822002/05/19 00:14ID:rC1StVSg
結局求められるのは拘束力の大きさ&向きですか?
それから2物体にその力を加えてΔt経過後の剛体の状態を求める、と。

拘束力の向きってどうやって決められるんでしょうかね?
緩和法って非線形計画法とかの一種でしょうか?
無知でごめんなさい。
022922002/05/19 09:38ID:vEaFH5.k
ぼけてたかも。
連立方程式を解けばおのずと拘束力のベクトルが得られるんでしょうね…。

v1' = v2' という拘束条件で解けば大丈夫そうですね。
拘束力が増えたら連立させる式を増やせば対応できるとか…?
023021402/05/19 09:49ID:???
yes,thats right
0231名前は開発中のものです。02/05/19 10:08ID:???
んー、ゲームと関係あるのかな?このスレ・・・
0232名前は開発中のものです。02/05/19 10:13ID:???
ぶっちゃけ、個人で作るレベルのゲームでここまでするモノは、ない。
技術でもとかならご存じの通りやっている人間も多くいるが。
0233名前は開発中のものです。02/05/19 10:25ID:???
>>231 キミが関係ないだけではないかな。
0234名前は開発中のものです。02/05/19 10:56ID:???
>>232の日本語はよくわからないけど、「個人で作るレベルのゲーム」ってなんだろう・・・
こういうのを理解して動かせるものを持ってきてくれる新人さんがいると嬉しいねぇ。

話はそれるけどPSのパネキットって、あれだけの関節数分を全て連立方程式を
立てて解いてるとは思いにくい。
空気抵抗が極端に大きな世界にすれば、もっと擬似的な方法でも上手く動いて
いるように見せられるのかな?
0235名前は開発中のものです。02/05/19 17:28ID:???
とりあえず点拘束とスライダー拘束(一方向だけ移動可能)
を用いて蝶番上手く行きました.
対称行列になるように工夫して
SOR法を共役勾配法に変えたら数回で収束するようになりました.
>>231
一応ゲームでのキャラクタの動きに使えないかなと思っております
0236名前は開発中のものです。02/05/20 00:13ID:???
>>228緩和法ってなんでしょうか・・・反復法のまちがいでした
激しくsage
0237名前は開発中のものです。02/05/20 02:07ID:???
>>234
>関節数分を全て連立方程式を立てて解いてるとは思いにくい

解析解という意味でなら「ご明察」。普通は解かない。
0238名前は開発中のものです。02/05/20 06:36ID:???
これからは物理学の時代
023923402/05/20 22:41ID:???
>>237
解析解を直接は求めないという意味で、反復計算で解を求めるペナルティ法と
似たような感じの計算になるんでしょうか?

お互い力を与え合った後に位置のみ拘束、とか・・・
そのままではあまり上手く行きそうな気はしないですが。
0240名前は開発中のものです。02/06/12 19:31ID:tp.yTmZ.
お勧め力学書籍あれば教えてー。
特に揚力についてそれらしい方法が知りたいのです。
0241◆AmigaVLA02/06/13 02:26ID:???
>>240
英語OK!多少冗長でも良い、というなら O'REILLY の Physics for Game Developers
の7章あたりで。
0242名前は開発中のものです。02/06/13 07:49ID:ie16BrZQ
>241
その本って日本の本屋で売ってるとこありますかね?
やっぱり注文?
0243名前は開発中のものです。02/06/13 08:41ID:???
O'REILLYは良書が多いよね(´ー`)y-~~

CやC++のお薦め書で、よく独習シリーズとか
挙げられるけど、私はO'REILLY本を強く推したい所。
0244名前は開発中のものです。02/06/13 09:06ID:???
サルベージキタ━━━━━━(゚∀゚)━━━━━━━!!
0245◆AmigaVLA02/06/13 11:34ID:???
>>242
俺は田舎者なんでBARNES&NOBLE(元fatbrain)で注文しましたが、東京とか
だと売ってる店もあるんでは?
0246名前は開発中のものです。02/06/13 15:11ID:???
なんでAmazonを使わないのかにゃん?
0247◆AmigaVLA02/06/13 16:32ID:???
クーポンあったから。
0248名前は開発中のものです。02/06/19 22:22ID:???
http://www.ipa.go.jp/NBP/13nendo/13mito/mdata/6-61.htm
0249名前は開発中のものです。02/06/22 17:16ID:???
鉛直に立っている質量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))

全然違う気が。
位置エネルギーが、どうやって出せばいいの分からない。
適当に積分してみたのだが。
というか、力学的エネルギーの保存を使って出せるかどうかも分からない。
0250名前は開発中のものです。02/06/22 19:14ID:???
鉛直に勃ってたら倒れないだろ
0251名前は開発中のものです。02/06/23 00:08ID:???
俺なんて勃ちやしない
0252名前は開発中のものです。02/06/23 09:48ID:ej4bQm5w
Physics for Game Developers
って拘束運動についての解説はある?

>249
棒の太さは限りなく細くて、立てると必ず倒れてしまうってこと?
0253名前は開発中のものです。02/06/23 10:40ID:???
地面に接してる部分が地面に固定されてるかどうかにもよるねえ・・・
0254名前は開発中のものです。02/06/23 10:45ID:ApU4TZAU
>249の式はワケワカラン
等角速度なの?・・で倒れる?
倒れるって事は角速度が増えて行くでしょ。
あと、条件少なすぎます。滑る、滑らないとか。
で250の言うとおり。
0255名前は開発中のものです。02/06/23 11:02ID:???
おまえらあたまよすぎ・・・
オレなんか忠一の問題久々にやったらまったくできてなかった。
0256名前は開発中のものです。02/06/23 13:11ID:???
拘束運動の話題が好きな人がいるようだな。
025724902/06/23 16:10ID:???
すまん。皆の言う通り条件が足りなかった。
確かに鉛直の棒が倒れるわけがないよな。
では、振り子運動のように棒の端を固定し、もう一方の棒の端を持って地面と
水平にして手を離した時の運動は、力学的エネルギーの保存は成り立つのか。
その時の位置エネルギーはどうやって出すのか、聞きたいんですよ。
文章力が無くてスマソ。
025824902/06/23 16:13ID:???
摩擦は考慮しないで、
0259名前は開発中のものです。02/06/23 17:35ID:IirCBvFI
僕も聞きたい。
誰か教えて。
0260名前は開発中のものです。02/06/23 17:53ID:???
>>力学的エネルギーの保存は成り立つのか。
成り立つよ。
話を簡単にするために、棒を針金とし、針金は点の集まりだとする。
地面からの高さhの点の位置エネルギーを 0 から 針金の長さHまで積分
すると、その垂直にたっている針金の位置エネルギーが求まる。
手で、横から押して倒す。教科書的に書けば、「十分にゆっくり押した」
とすれば、手による位置エネルギー増加はゼロ。
地面に倒れきる瞬間、各点は全て地面に対して垂直の速度ベクトル。
と同時に、全点の位置エネルギーがゼロなんで、当初の位置エネルギーは
全て、運動エネルギーに変換されている。

実際、実験してみると分かる。
質量 m はかき消され、空気抵抗を無視すれば、高校生でも鉛筆倒して
概算で求まる。
0261名前は開発中のものです。02/06/23 17:58ID:???
>257
水平だと既に倒れているような。

垂直な状態からほんの少しの初速或いは
角度を持たせて倒れさせるってことか?
0262名前は開発中のものです。02/06/23 18:01ID:???
回答もうでたな、スマソ。
0263名前は開発中のものです。02/06/23 23:03ID:Ufe3tzVY
>260
質点で考えると位置エネルギーは質点の位置で簡単に求まると思うんだけど、
剛体の場合はどう考えるの?
重心においてのみ考えればいいの?(違うかな)
0264名前は開発中のものです。02/06/23 23:05ID:???
>263
ファイナルアンサー
0265名前は開発中のものです。02/06/23 23:07ID:???
実際シミュレーションする場合ってΔt刻みで数値積分するんじゃないの
0266名前は開発中のものです。02/06/23 23:12ID:???
重心が普通に自由落下するんで良いんじゃねーの。
0267名前は開発中のものです。02/06/23 23:56ID:???
>冲刻みで

位置エネルギを?265だけ別の話を始める気がするが。
0268名前は開発中のものです。02/06/24 05:56ID:???
>>265
LV1
0269名前は開発中のものです。02/06/24 18:04ID:pOM.vn2.
>257
位置エネルギだけが知りたいのなら重心位置でmghだ。
すると水平状態から垂直状態まで振った時点で
棒の長さLとすると、位置エネルギが0.5*mgL減ったことに成る。
エネルギ損失が無いと考えると、
棒の回転エネルギ+重心の運動エネルギ=0.5*mgLになる。
0270名前は開発中のものです。02/06/24 18:04ID:???
あげちゃった
0271名前は開発中のものです。02/07/21 22:51ID:9NNV2fVE
age
0272名前は開発中のものです。02/07/22 00:21ID:yfTR8dqc
鎖のシミュレーションは?
0273名前は開発中のものです。02/07/22 04:24ID:???
サルベージキタ━━━━━━(゚∀゚)━━━━━━━!!







でネタは?
0274名前は開発中のものです。02/07/22 17:18ID:0dwZh47I
やっぱ時代は拘束運動だよね。
拘束運動の実装法について話し合いましょうよ。
0275名前は開発中のものです。02/07/22 20:17ID:???
やっぱ時代は高速運動だよね。
冲に対して速度が速すぎる場合について話し合いましょうよ。
0276名前は開発中のものです。02/07/23 05:03ID:???
すみません 猿ぐつわの拘束具合と快感度の関係が上手く表現できません
快感度 K [1/s] = τ * 猿ぐつわの拘束応力 s [N/m^2]
この快感係数τ[kg/ms]は標準的な20代女性ではいくらくらいなのでしょう?
理科年表にも乗っていませんでした お願いします
0277名前は開発中のものです。02/07/23 12:01ID:???
つまらん
0278名前は開発中のものです。02/07/23 23:18ID:???
流体やろう、流体。
∂v/∂t + (v・∇)v = -1/ρ ∇P + ν∇^2 v + F
どだ!
0279名前は開発中のものです。02/07/24 14:34ID:???
>278
移流項カワイイ
0280名前は開発中のものです。02/07/24 22:21ID:???
(v・∇)v <萌えキャラ誕生の予感
0281名前は開発中のものです。02/07/27 18:34ID:???
ν(^∇^2 v <粘着キャラ
0282名前は開発中のものです。02/07/27 23:20ID:???
(ρ ∇P) < ヒロイン
0283名前は開発中のものです。02/08/12 16:32ID:fDEX4cep
age
0284名前は開発中のものです。02/08/12 17:28ID:???
sage
0285名前は開発中のものです。02/08/12 18:33ID:Tqg5mEZ5
2Dで数十セルの等間隔格子の差分式なら余裕で解けそう(経験無し)
対岸まで渡りきるカヌーゲームとかどうよ?
ランダムに岩を配置して(境界条件与える)
障害物流したりしてタイムを競うみたいな。
028628502/08/16 19:17ID:???
とりあえずシミュレーションの部分だけ作ってみたけど
30*20マスで30FPSぐらいしかでない。セレロン450MHz
だれか試してみて。
http://www.kyoto.zaq.ne.jp/shoichi/Navier2D.lzh
■ このスレッドは過去ログ倉庫に格納されています