ゲームのための物理(力学)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
02/04/08 17:38ID:dlksSYkA例えば、坂道を転がる球の加速度だったら。
その球の密度が一様ならば、慣性モーメントは(2/5)MR^2なので
dV/dt = 5*g*sinθ/7;
と表せるよとか。
他にも剛体運動、力積とか語ってください。
0625名前は開発中のものです。
04/06/18 12:00ID:fgcAvitrv=a^3/b^3
aは厨パワー
bはパッチ
0626名前は開発中のものです。
04/06/18 13:13ID:BMXm3Ikx0627名前は開発中のものです。
04/06/18 16:38ID:xHeZzj8T>>626
IDがBMXカコイイ。
>>624
IDがEMUカコワルイ。ROM厨は氏ね
0628名前は開発中のものです。
04/06/18 21:43ID:F29KhlRt0629名前は開発中のものです。
04/06/18 21:57ID:xHeZzj8T0630名前は開発中のものです。
04/06/21 00:30ID:N/rTx0YDをVisualStudio.NET2003で実装しようとしたのですが、「コンストラクタ
の宣言に戻り値の型が含まれています」というエラーが出ます。このコン
パイラでは使えないのでしょうか。
0631名前は開発中のものです。
04/06/21 00:36ID:X4sdLydqC++は忘れたし、その本もってないが、
コンストラクタは戻り値持てないんじゃなかった?
関数の前にvoidついてたら外すとか。
0632名前は開発中のものです。
04/06/21 00:45ID:N/rTx0YDinline Vector::Vector(void)
{
x = 0;
y = 0;
}
//コンストラクタ
inline Vector::Vector(float xi, float yi)
{
x = xi;
y = yi;
}
コンストラクタはこれです。
0633632
04/06/21 00:54ID:N/rTx0YD0634名前は開発中のものです。
04/06/21 10:36ID:qOJWro2I0635名前は開発中のものです。
04/06/22 04:19ID:mg7GE6my0636名無しさん@そうだ選挙に行こう
04/07/11 11:47ID:/yFc1fy2dtの時間内に、1個の物体が2個の物体に連続して
衝突するような場合、どのようにしたらいいか迷っています。
まぁ所詮ゲームということで、考慮しないというのもありとは
思うけど、速度が速い場合にすりぬけとかしそうで・・
ビリヤードゲームとかどうやってるのでしょうか
0637名無しさん@そうだ選挙に行こう
04/07/11 14:28ID:8VEeCcnxそれで同時判定になったとしても誤差はだいたい10分の1だぞ。
0638名無しさん@そうだ選挙に行こう
04/07/11 14:46ID:k8nFCFcRこことかどーよ?
ttp://www.se.cs.titech.ac.jp/~oda/tips/billiard.html
0639名無しさん@そうだ選挙に行こう
04/07/11 16:04ID:lYJpyuro計算量も10倍になるからね〜
まぁ画面表示の処理よりは、軽いのかな。
>>638
ども。衝突を感知したら、そこだけdtを短くして計算するということですね。
というかこのひとのビリヤードアプレット見てたら、
とりあえず多少雑でもいいや、という気になってきました。w
あと、この人のアルゴリズム論に「滑る剛体」って書いてあるけど、
摩擦も回転エネルギーも式に出てこない・・、質点の力学じゃん!みたいな。
参考になりました。どうもでした。
0640名無しさん@そうだ選挙に行こう
04/07/11 18:23ID:r8Nk5A0eゲームとしてはそれっぽく見えればいいので、
いかに処理を端折るかが大事。
「(2Dの)クォータービューのプログラムを作るのに三角関数が…」
とかアフォなことを言い出すようになっては
ゲームプログラマ失格。
0641名無しさん@そうだ選挙に行こう
04/07/11 18:47ID:6WfdSZuvそういう場合は、当たっても球たちをそのフレームは動かさない。
力(加速度x質量として)だけ与えておく。
この動かさないというところが、最大∬F/m dtの誤差になるわけだが。
0642名無しさん@そうだ選挙に行こう
04/07/11 18:53ID:JnYo6778ゲームのジャンルによってはそうかも知れなけど、
3Dゲームだと、どれだけ自然現象を正確にゲーム内に取り込めるかが
議論の中心になってるよ。
物理シミュは当然のこと、AI、機械工学、自然科学の知識まで求められて、もう最悪。
0643名無しさん@そうだ選挙に行こう
04/07/11 18:55ID:6WfdSZuv2Dには2Dのテクがあるけど、今どきsinテーブル使えとか言う人ですか?
シェーダーでマクローリン展開する時代ですよ。
Quaterだったら3Dでやっちゃった方がめちゃ楽。
0644名無しさん@そうだ選挙に行こう
04/07/11 18:58ID:/iADttXZ0645643
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年:物理
だったなぁ・・・
■ このスレッドは過去ログ倉庫に格納されています