ゲームのための物理(力学)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
02/04/08 17:38ID:dlksSYkA例えば、坂道を転がる球の加速度だったら。
その球の密度が一様ならば、慣性モーメントは(2/5)MR^2なので
dV/dt = 5*g*sinθ/7;
と表せるよとか。
他にも剛体運動、力積とか語ってください。
0645643
04/07/11 18:59ID:6WfdSZuvでしょ。
0646643
04/07/11 19:01ID:6WfdSZuv当たった瞬間で寸止めしておき、物体間のエネルギー交換をしておくということです。
0647名前は開発中のものです。
04/07/11 23:04ID:L4QcjmvWそういうワガママが通じるプラットフォームだけで
作り続けられることを祈っておいてやるよ
0648名前は開発中のものです。
04/07/11 23:09ID:j7YGQS/50649名前は開発中のものです。
04/07/11 23:18ID:DjIuzFY1フェードアウト組が
涌いてくるんだよ
0650639
04/07/11 23:32ID:nlwuxChRそれいいアイデアすね。ゲーム向き!
採用させてもらっちゃいます。ありがとうござます。
>>642
個人的にとても興味がある単語がならんでて、いいなーと
ちょっとうらやましいです。
SEはつまらないですよ・・。数学使わないし・・。
個人的には、材料力学や流体力学が効いてるゲームが
超おもしろそうと思ってます。
>>643
シェーダーでマクローリン展開ですか・・
いっそのこと、物理計算全般を専用ボード等に任せてしまえればいいのにね。
CPUは物理諸元の指定やイベントドリブンなとこを扱えばいいみたいな。
0651名前は開発中のものです。
04/07/11 23:49ID:k8nFCFcR0652名前は開発中のものです。
04/07/12 00:14ID:x9G4Zj2F物理計算専用ボード&チップ。
ttp://jun.artcompsci.org/papers/grape_comptoday9905/grape_comptoday9905.html
ゲーム機に積めたらすごいことになるけど、値段がちょっと……。
0653639
04/07/12 00:37ID:9Xwjmc87ごめん。ハードでの非線形計算の難解さ?は理解してないのだけれど、
ゲーム用途であれば、線形近似したものできっと十分でしょ?
あと、有限要素法なんかもリアルタイムでゴリゴリ解いちゃうみたいな。
重要なのは、よく使う物理モデル等が組み込まれていて、最適化されてることかな。
ゲームでどう使われるかというと、例えば剣をモンスターに向かって振り下ろすとき、
モンスターの体への食い込みを有限要素法で計算したり、
モンスターの表面がつるつるですべって、バランスをくずすプレイヤーの運動を計算したり、
モンスターのよろいに、はね返されて剣が折れたり、腕に振動が来たりみたいな。
諸元を与えるだけで、結果がでてくる。素敵なボード。
>>652
うわ。すごい。読ませていただきます。
0654名前は開発中のものです。
04/07/12 01:21ID:9Xwjmc87ゲームごとに回路を書き換えちゃう。
そうなると、プログラマの手にはおえなくなるね。チップの専門家登場。
http://member.nifty.ne.jp/fpga/start.html
0655名前は開発中のものです。
04/07/13 10:08ID: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次ぐらいで止めていても
解にそう差は出ないもんですか?
0656名前は開発中のものです。
04/07/13 11:28ID:/CvgO/Ka計算結果を
プロットすれば
いいだろが
この怠け者
己の用途に適した精度を選べばいいんだよ。
0657名前は開発中のものです。
04/07/13 11:39ID:mqn4RiL+正解
0658名前は開発中のものです。
04/07/13 11:47ID:VjeNZG6v0659名前は開発中のものです。
04/07/13 11:53ID:/CvgO/Ka0660名前は開発中のものです。
04/07/13 12:16ID:hctXK+7Sんだな、まんどくせがってねえで
やってみるべぎだよな。わりな。
>>658-659
ttp://yukai.jp/~rwf/note/math/taylor/99.gif
これがい?
これみっとやっぱ7次ぐらいがいいみてぇだな。
どもな。
0661名前は開発中のものです。
04/07/13 12:46ID:/CvgO/Ka0662名前は開発中のものです。
04/07/13 13:30ID:e99RBpbHfloat math_sin( float fRad ) {
__asm
{
fld dword ptr [fRad]
fsin ;←こいつが何ステートだかが問題だが。少なくとも近似式解くより速そうだ。
}
}
0663名前は開発中のものです。
04/07/13 15:31ID:8Vlr85G7そういうのは、次数を上げると桁落ちが激しくてできる限り低次で計算をするようにしたほうがいい結果になるッス。
んて、低次の計算で精度を上昇するためには、係数に細工を入れてテーラー展開の値から少しずらす訳なんだけどこれのやり方が幾つかあって
一番簡単なのは、最少二乗法という物で多項式近似をしてみるといいです。
やり方は「統計学」「最少二乗法」「多項式」「曲線の当てはめ」辺りで検索して下さい
double 精度の{ sin(x) , x }の組をサンプルにして当てはめた関数を探って係数を求めるといいです。
必要精度は誤差の二乗和を参考にして次数は決定してやってやればいいかと思います。
他にもエルミート関数から攻める方法とかいろいろあります。
今一まとまってなくてすんまそ
0664名前は開発中のものです。
04/07/13 17:11ID:Aoo+TQQn>2、例えば、多項式 [ x^8 + ax^7 + bx^6 + cx^5 + dx^4 + ex^3 + fx^2 + gx + h = 0 ]
>があったとして、この根を求めたい場合
>こんな8次まで使わなくても、例えば4次ぐらいで止めていても
>解にそう差は出ないもんですか?
解xと係数の大きさによる。
解の桁を大まかに見積もれば各項の大きさが判るので、
大きい項だけで計算してもそれなりの近似は得られる。
精度を上げるには近似を初期値にして元の式を解く。
(計算誤差よりも小さい項は無視しても可)
0665名前は開発中のものです。
04/07/13 20:49ID:Q2z7u57h参考までになんだけれど、
随分昔にやったので、うっすらとしか記憶に残ってないんだけど、2の問題は sin とかの逆関数を求めたいってことなのかな?
もしそうだとすると、この種の級数には反転公式っていう
y=a+bx+cx^2+...
を
x=A+By+Cy^2+...
に反転する公式があったはず、公式集とか探してみたら何か出てくるかもよ。
0666名前は開発中のものです。
04/07/15 14:18ID:9sR90p1I統計学とかメビウスの反転公式とかですかね?
アルティメット難し杉
0667名前は開発中のものです。
04/07/15 16:18ID:JJUiGMY4やさしく解説できないのが悲しい
0668名前は開発中のものです。
04/07/15 18:27ID:9sR90p1I関数 : f3 * x3 + f2 * x2 + f1 * x1 + f0 * x0 = F(x) があったとして
横軸を[x]グループ、縦軸を[f]グループをとった2Dのグラフを作り
各点それぞれにバランスがよくなるような直線を求め、
その直線を使って、任意の[x]から[f]を求めるって感じでいいですか?
0669名前は開発中のものです。
04/07/15 20:42ID:U/3mv6yKちょっと違う気がしますぅ
例えば、近似したい関数を 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 = 誤差の合計
0670名前は開発中のものです。
04/07/15 20:42ID:U/3mv6yK誤差は最少の点は、誤差の増減量が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 の値の平方根の大体三倍ぐらいが最大誤差になっています。
以上を公式表片手にガリガリ解きますです。
0671名前は開発中のものです。
04/07/16 03:47ID:RojksAWoなるほど。すげーな。こういう方法考えた奴もオレと同じ人間かと思うと鬱になる。
これニューラルネットワークの元祖っぽい。
0672名前は開発中のものです。
04/07/16 04:18ID:yLghgX0t0673名前は開発中のものです。
04/07/16 10:24ID:e15GZ7Enとてもわかりやすい説明、ありがとうございました。
しかし、ガリガリ手計算ですか・・脳卒中で死ねるかも。
>>671
理系の大学生はこういうの普通にやってるんでしょうかね。
マジ尊敬しますよ。
しかし、編微分=0の連立方程式って定石っぽいですね
よくみかけます。
0674名前は開発中のものです。
04/07/16 10:41ID:ames6jZ40675名前は開発中のものです。
04/07/16 10:49ID:TWlB95CU0676名前は開発中のものです。
04/07/16 11:54ID:BupQ8XcZめんどっちかったら、区分求積法でどーぞ
2^10程度に分割すればsinのような連続関数なら十分制度がとれますです
計算は、区分の合計値の累積計算のけた落ち注意、でっかい値とちっちゃい値を足すと死ねます。
0677煩悩 ◆MISAdcEpTM
04/07/23 03:51ID:99H07CeO0678677
04/07/23 03:52ID:99H07CeO0679名前は開発中のものです。
04/08/02 08:40ID:DbO7SxmT0680名前は開発中のものです。
04/08/02 08:50ID:07o4uf2lこの質問は釣りとみた。
0681名前は開発中のものです。
04/08/02 18:51ID:SbHQVttZ0682名前は開発中のものです。
04/08/22 23:50ID:K+cTxRNb0683名前は開発中のものです。
04/08/23 10:03ID:rdoa/+Id0684名前は開発中のものです。
04/08/23 11:25ID:pHDMCxcm0685名前は開発中のものです。
04/08/24 14:03ID:13Gj+qmaとっかかりのないガラスにもくっついていられるらしい
というわけでファンデルワールス力で張り付くアクションキボンヌ
0686名前は開発中のものです。
04/08/24 15:31ID:cW3BCz0Y0687名前は開発中のものです。
04/08/24 16:06ID:5Vm6MZAQこの方程式で微分方程式の意味が一目瞭然な方程式をみせてくれ。
0688名前は開発中のものです。
04/08/24 20:48ID:QFEI7dtt>微分方程式の意味が一目瞭然な方程式
意味が分からないんだけど。(微分方程式はどれも微分方程式でしょ)
頻出とか典型という話なら、初歩的な力学計算に
用いる運動方程式などが挙げられるけど?
『とにもかくにもまず微分方程式だ。』が言えるんだから
一目瞭然な方程式というものを1つ例示してくれない?
0689名前は開発中のものです。
04/08/26 01:36ID:UUHENdZEたぶん差分方程式という言葉を知らないのだと思。
>>687
まずはルンゲ食ったから。
http://www.google.com/search?num=50&hl=ja&ie=UTF-8&c2coff=1&q=%E3%83%AB%E3%83%B3%E3%82%B2%E3%82%AF%E3%83%83%E3%82%BF&lr=lang_ja
0690名前は開発中のものです。
04/08/26 10:19ID:hXTtbGto0691名前は開発中のものです。
04/08/26 18:04ID:gac6U/WCしかしまずはっていうならオイラー法じゃないの?
0692名前は開発中のものです。
04/09/04 15:16ID:JFEnWzOOこういうのか?
0693名前は開発中のものです。
04/11/04 16:36:24ID:yb+ESHZsやっぱ音も物理的に計算して出しているんでしょうか?
例
金属が時速○○Mで○○にぶつかったときの音
などなど
0694名前は開発中のものです。
04/11/05 02:35:04ID:7SiGCtnr電子楽器の世界には物理モデル音源なんてのもあるがな。
0695名前は開発中のものです。
04/11/05 18:20:09ID:VZlYExfD693が考えてる程のことじゃないかもしれないけど
今のサウンドエンジンのトレンドは、マテリアル(テクスチャ)に
音情報埋め込んでおいて、ドンブラ効果とかオクルージョンとかは
ある程度自動的にやってくれる
0696名前は開発中のものです。
04/11/06 01:20:27ID:ZpG01QOc0697名前は開発中のものです。
04/11/06 02:31:30ID:PcUZvm2C0698名前は開発中のものです。
04/11/07 03:45:15ID:AA5JviZ5もちろんオブジェクト同士の衝突音は
マテリアルに割り当てられてるサウンドから適当に発音される
>>696
「ガイシュツじゃなくてキシュツだろ!」って突っ込んじゃう人ですか?
0699名前は開発中のものです。
04/11/07 22:37:47ID:wcS1kDveこういうのなら文脈で解るけど、ドンブラは初めて見たので何事かとオモタ
ちなみにgoogleで2件(w
0700名前は開発中のものです。
04/11/09 19:23:01ID:AtLUI4h60701名前は開発中のものです。
04/11/16 01:19:47ID:+AP75s660702名前は開発中のものです。
04/11/16 17:56:11ID:9BByUej70703名前は開発中のものです。
04/11/16 18:09:55ID:uUMZOQ+E0704名前は開発中のものです。
04/11/16 21:27:49ID:zgJKdSrC0705名前は開発中のものです。
04/11/17 19:27:50ID:j6oxnDYS0706名前は開発中のものです。
04/11/17 22:08:36ID:fLjZv7nhそれは力学なのか?
もしや肛門の圧力と外へ出るちからとウンコの量をもとに
シミュレートするってことか?
お尻から便器までの高さと腰の回転も計算に入れないと無理っぽいな
こういうのってどの分野に含まれるんだろ?
0707名前は開発中のものです。
04/11/18 10:01:35ID:0oKMVdoN0708名前は開発中のものです。
04/11/20 20:48:06ID:ShzGxwIf0709名前は開発中のものです。
04/11/21 12:44:40ID:OSMFR4g4ここは参考になるか
ttp://homepage2.nifty.com/eman/dynamics/collision.html
0710名前は開発中のものです。
04/11/21 13:24:47ID:jEWV/din残念ながら一次元の衝突と二次元の衝突は
文字通り次元が違うのよ
0711名前は開発中のものです。
04/11/21 13:48:12ID:Q4QHmyrs>文字通り次元が違うのよ
>残念ながら一次元の衝突と二次元の衝突は
>文字通り次元が違うのよ
>残念ながら一次元の衝突と二次元の衝突は
>文字通り次元が違うのよ
0712名前は開発中のものです。
04/11/21 20:57:58ID:/uXrflFM0713名前は開発中のものです。
04/11/22 01:28:08ID:yyK/QESpそれだと反発係数がry
0714名前は開発中のものです。
04/11/22 02:49:23ID:qEnNUllRどのへんで一次元限定の話だと思ったのよ?
0715名前は開発中のものです。
04/11/22 11:04:18ID:yyK/QESp710のどこでベクトルの向きが考慮されてるんだ?
0716709
04/11/22 15:02:45ID:vf82nHzB>>709の式は多次元でもボールの正面衝突ならそのまま使える。
重心がずれて当たった場合は、
ボールが壁に斜めに衝突した場合を考えれば分かる筈。
0717名前は開発中のものです。
04/11/22 15:27:35ID:yyK/QESp>重心がずれて当たった場合は、
>ボールが壁に斜めに衝突した場合を考えれば分かる筈。
俺もはじめはそうかと思っていたが、そんな単純じゃないんだよ。
ていうかぶっちゃけ708は誰にも不可能。
0718名前は開発中のものです。
04/11/22 16:45:30ID:rnABpuU6ヤヤウケ
残念ながら二次元のゲームと三次元のゲームは
文字通り次元が違うのよ
残念ながら二次元の女と三次元の女は
文字通り次元が違うのよ
とか、ちょっとそこらへんの板で使ってくる。
0719名前は開発中のものです。
04/11/22 18:27:08ID:gYTBBmS/質量の異なる2つの剛体球同士の衝突計算ができない、と。
0720名前は開発中のものです。
04/11/22 21:06:50ID:Uf66t4QN衝突後の点の反射角度と速度って求めるの難しいでしょうか?
こういうのが載ってるサイトや書籍ってありますか?
0721名前は開発中のものです。
04/11/22 22:20:39ID:yyK/QESpおまえはできるのか?
0722名前は開発中のものです。
04/11/22 22:54:44ID:QdoFrIbr0723名前は開発中のものです。
04/11/22 23:38:52ID:6NCszWA+漏れの高校は1年のとき化学しかないんだぞ、まいったか
0724名前は開発中のものです。
04/11/23 00:09:51ID:dO8guEyN1年:生物
2年:化学
3年:物理
だったなぁ・・・
0725名前は開発中のものです。
04/11/23 00:27:46ID:pnQIehN9大学初年度の力学の教科書でも載ってるのになあ。
できもしないことを口先だけであーだこーだと。
「ゲーム制作者」のあまりのレベルの低さに唖然。
0726名前は開発中のものです。
04/11/23 00:44:16ID:q5cvYOFI教科書に載ってる事を鵜呑みにした後、その先の思考は忘れてないよな?
どうせ上でやってるのは言葉遊びに過ぎないだろうよ
0727名前は開発中のものです。
04/11/23 01:00:09ID:pnQIehN9>教科書に載ってる事を鵜呑みにした後、その先の思考は忘れてないよな?
「思考」した香具師には言えないセリフだな。
先生が言ってたセリフをそのまま言っても説得力ないよ?
もしかして計算できると思って上ではしゃいでた本人ですか?
0728名前は開発中のものです。
04/11/23 01:35:37ID:jhAK6/6zオープンソースの物理エンジンでも見て勉強してみたら?
質量設定できないのなんて無いよ。
0729名前は開発中のものです。
04/11/23 01:38:26ID:QeDsPB0H有名どころでHavokエンジンのデモ
ttp://oldsite.havok.com/xtra/demos/demo-cardemo2.html
0730名前は開発中のものです。
04/11/23 02:54:21ID:ssJYoeu4物体1.ピンポン玉
物体2.ボーリングの玉
として、ボーリングの玉の真上にピンポン玉を垂直に落としてみた。
結果
ピンポン玉はボーリングの玉の上で、ほぼ垂直に跳ね上がった。
>質量が違うと衝突後の方向を決めることができない
……何か大事な条件を忘れていない?
0731名前は開発中のものです。
04/11/23 04:15:25ID:qpKaM3GChttp://www.wakhok.ac.jp/~momma/lec2001/Graphics_Programming/12/lecture12.html
0732名前は開発中のものです。
04/11/23 15:28:40ID:pnQIehN9いや、変数を決める方程式が足りないから理論的に無理なんだけど。
どうして自分で計算してみないでアレコレ言い張ってんの?
>>730
自分で衝突後の方向を指定してりゃ世話ねーな。文系?
0733名前は開発中のものです。
04/11/23 15:54:05ID:Pu12EBcBだから質量が違う物同士の衝突を
シミュレートできるエンジンなんていくらでも有るし、
それを使った市販ゲームをたくさん出てる。
自分が出来ない=不可能って思うのはバカすぎる。
とりあえず>>729のゲームでもやって落ち着け。
0734名前は開発中のものです。
04/11/23 16:09:54ID:3gXyI7gsその中でいかにソレっぽく見せるかがプログラマの腕の見せ所だろ。
理論にこだわりすぎて結局何も出来ないのはただの無能。
0735名前は開発中のものです。
04/11/23 16:13:04ID:3gXyI7gs>どうして自分で計算してみないでアレコレ言い張ってんの?
>自分で衝突後の方向を指定してりゃ世話ねーな。文系?
あと根拠もなしに他人に対して変な思い込みするのは
バカっぽく見えるからやめたほうがいいよ。
0736名前は開発中のものです。
04/11/23 16:35:15ID:h0d5FA2i0737名前は開発中のものです。
04/11/23 23:27:59ID:26B5QnOo多分、出来ないと言ってる人は中学生くらいで、運動量保存の法則を使って
自力で解いてるんだろうな。頑張ってるなと思った。
その先のヒントとしては、エネルギー保存の法則を使うと残りの式が導かれるので
あとは連立方程式として解けるようになるよ。エネルギーは運動エネルギーね。
0738名前は開発中のものです。
04/11/24 02:57:53ID:23ptainm衝突後の2物体の速度という4成分が求まるはずないじゃん。
ゲーム用の物理エンジンでは1成分を勝手に決めてるから計算できてるように見えるだけ。
ちなみに壁との衝突だと壁は動かないから求めるのは2成分だけだな。
できると言い張ってる人たちの特徴:
1.自分で計算しないくせに「計算できる」と繰り返す。
2.根拠を示せと言いつつ自分は示さない。または根拠にならない根拠で威張る。
3.「できないことを鵜呑みにするな」と言いつつ、自分は物理エンジンの結果を鵜呑みにする。
0739名前は開発中のものです。
04/11/24 03:01:22ID:23ptainmていうか「質量 異なる 衝突」でぐぐるとトップに出てくる。
計算はおろか検索すら自分ではせずにわめくだけの馬鹿だらけだったってことだな。
ttp://physics.atnifty.com/pdf/970314.pdf
0740名前は開発中のものです。
04/11/24 03:08:20ID:23ptainm1.「おまえが計算できないだけだろ」(自分が計算できる証拠は出さない)
2.「ハイハイすごいですねえ、わかったからもう寝れば?」(なかったことにしたい)
3.「なに粘着してんのコイツ?」(議論に無関係な非難)
0741名前は開発中のものです。
04/11/24 03:47:33ID:UvvY9Sqrだからゲーム用なんだから計算できてるように見えればそれで十分だろ。
それで何が問題なの?頭固すぎ。
0742730
04/11/24 10:49:30ID:BGzjpSUv>>739のpdfの場合、
質量が異なる「質点」2つの衝突だから衝突後の運動ベクトルが決定できません。
しかし、ゲーム用の物理エンジンでは大きさのある剛体同士の衝突を扱います。
この場合に働く力は衝突面に対して垂直な方向のみなので、力積の方向成分が固定できます。
……質量が同じボールを使うビリヤードの計算でも絶対に必要なんだが。
0743名前は開発中のものです。
04/11/24 13:39:47ID:a0LmYeg4ttp://homepage2.nifty.com/eman/dynamics/collision.html
をそのまま適用してみた
ttp://venus.aez.jp/uploda/data/dat5/upload11906.lzh
やはり衝突した部分の位置を考慮してないので不自然だな
煽りにくるキチガイはキモイぞ
別に自分が参加するレベルの議論じゃないならわざわざ書き込まなくてもいいだろうに
ただ煽って何がしたいんだ?
自己顕示欲高すぎてキモイ
飲み屋で野球の話してたら、横から絡んでくる知らない酔っ払いオヤジと同じ
まじでキモイ
まぁやろうと思えば確信にさえ触れなければ知ったかぶりで煽ることもできるからな
0744名前は開発中のものです。
04/11/24 14:49:38ID:TTB1LYNB出来ない派・・・現実に即した正しいシミュレーションは出来ない。
発端となった>>708では「正しくシミュレーション」といっている。
このスレのタイトルは「ゲームのための物理(力学)」。
ここで意見の食い違いがあるのかと。
■ このスレッドは過去ログ倉庫に格納されています