◎正当な理由による書き込みの削除について: 生島英之とみられる方へ:
ゲーム製作で必要な数学の知識->画像>1枚
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/gamedev/1170387853/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。
わからなかったらここで聞けばいいじゃない
なるべく詳しく日本語で質問してね
自分で調べられない奴は何をやっても駄目。
~終了~
\ ¦ /
\ ¦ /
/ ̄ ̄ ヽ,
/ ', / _/\/\/\/|_
\ ノ//, {0} /¨`ヽ {0} ,ミヽ / \ /
\ / く l ヽ._.ノ ', ゝ \ < バーカ! >
/ /⌒ リ `ー'′ ' ⌒\ \ / \
(  ̄ ̄⌒ ⌒ ̄ _)  ̄|/\/\/\/ ̄
` ̄ ̄`ヽ /´ ̄
| |
--- ‐ ノ |
/ ノ ----
/ ∠_
-- | f\ ノ  ̄`丶.
| | ヽ__ノー─-- 、_ ) - _
. | | / /
| | ,' /
/ / ノ | ,' \
/ / | / \
/_ノ / ,ノ 〈 \
( 〈 ヽ.__ \ \
ヽ._> \__)
クソスレ立てた
>>1が1日たったら別人として質問する
そんなパターンがありますよね
加減乗除と論理演算と三角関数が分かればいいんじゃね?
こういう糞スレでは、何のゲームを作るのかという前提条件すら定義せず、
いきなり結論を提示する馬鹿がしたり顔で出てくるのは何でだろう?
削除依頼くらいの数学の知識があればいんじゃないか?
3D組むんだったらクォータニオンが使えないと苦労するな。
>>11 2Dでもアクション系だったら少し使うけどな。
STGのオブジェクト軌道は普通ベクトルの概念をベースに考えるし、
特殊な軌道を描くときに曲線のパラメタ表示や微分を使ったりもする。
弾の狙い方向では回転行列なんかも必要になるな。
そのベースになる三角関数はもちろん不可欠。逆三角関数も使えないと何かと困る。
アクションだと、重力が存在するから等加速度運動の理解がいるな。
まあ言えることは、
2Dゲーム=高卒程度の数学力
3Dゲーム=大卒程度の数学力
が必要ってことか。
個人的にアクションに使う重力は、物理計算でリアルにするより
多少インチキくさいほうがゲームらしくて好き。
マリオみたいにさ。
数学ないと厳しいのは当たり判定かな。
当たり取るのは公式で一発だけど、衝突後の処理は
ベクトル行列を使いこなせないと絶対つまると思う。
>>13 行列、ベクトル、三角関数、微分積分がある程度分かれば
高卒、大卒、2D、3D問わず個人製作のクオリティの範囲でなら大抵のゲームは作れるよ
行列とベクトルと三角関数が分からなければ3Dは絶対ムリだと思うのはモレだけか?
微積なんぞは知らなくてもなんとかなる。
意外と盲点なのは確率かな。こいつが出来ると仕上がりの高級感が違う・・・・。
>>19 ユニットの経路選択に使うダイクストラとかモロに数学じゃね?
ダイクストラって数学か?
単なるアルゴリズムって気がするが。
計算を数学と捉えるなら数学じゃね?
所詮、計算機だし。
数学とアルゴリズムの境界線ってどこにあるんだろう?
ほとんどゲームでカウンタとかが必要だから足し算は必要だな!
2Dゲームだったら行列はいらんだろ。
三角関数くらいか?
ばか正直にやらなくてもそれらしくごまかせばいい。
2Dでも行列いるよ…。
画像をアフィン変換するのに使った。
高校は理系だった。
lim→∞
積分関数なんか必要ないやん。と思ってたら、
3Dグラフィックスの数学では 大いに必要だった。面食らったわ。
学校で習った知識がの一つ一つ役に立つかどうかなんて
役に立つ時が来ないと気づかない
教科書引っ張り出して自学すればいいだろw
言語やライブラリのを勉強するのと何ら変わらない。
必要になったときに何を勉強すればいいか分かる程度に知識があれば問題無いと
俺は思ってる。
>>32 Yes そうなんですよー。
>>33 8年漬けた綺麗な綺麗なチャート式 漬け物 がございます。
いやー蔵から出してみたら、寝ちゃう。
マイクロソフトのサイトの、なかなか改行してくれなくて
やたら横に文章を読むのに 似ているこの辛さ。
>>34 そう。それがいい。
>>35 藁。蔵に入れてちゃ、そりゃ伸びない。
ジャンプの放物線なんですが
x値は等感覚で増やしy値を加速的に増やすと確かに放物線を描くのだけど
下にいくほど速くなってしまいます
一定の速度でジャンプするにはどうすればいいでしょう?
スーパーマリオのようなジャンプを実装したいのです
最初から過疎スレか質問スレにしかならんだろうと思ってたし
ついにこの日が来たかと一瞬思ったが
質問者のあまりのセンスに吹いた
>>37 y=c(x-a)(x-b)
って関数がどんなグラフになるか知ってる?
ラジアンなんて全く知らなかった。スーパーアラビアンなら知ってた。
速さ一定で放物線を描きたいのなら
それには「曲線の長さ」という考えが必要だな
数年前までは高校の数学IIIだったのだけど、改正で
今は大学初年級の微積の内容ということになった
>>39 パラメトリック曲線上を動く点の速さを一定にするのは
意外と難しいと思うんだけれど
一定値を超えたらy値を等間隔で増やすとダメかな
スーパーマリオでも一定速度で放物線は描いてないんじゃないのかな
そんな複雑なことはしてない気がする
用途によってはマジで
>>44を実行してテーブルにでもしてた方が
手っ取り早いんじゃね?
曲線の長さじゃ面倒だから二点間を擬似的に直線として扱うと多少楽?
ただし、当然二点間が広がるほど誤差も広がるけど。
x = u
y = u^2
とすると,du に対する長さ変化の2乗は
( (dx/du)^2 + (dy/du)^2 ) du
= ( 1^2 + (2u)^2 ) du
= ( 4u^2 + 1 ) du
よって,du = dt / ( 4u^2 + 1 ) とすればよく
dt / du = 4u^2 + 1
t = (4/3) u^3 + u
式は合ってるが、tを求めてどうするんだ?w
du = dt / ( 4u^2 + 1 )
を時間で積分してuを求めんと。
実際に使う分には差分式でよいので、Cで簡単に書くならこうかね?
u += dt / ( 4*u*u + 1 );
予想通りのレスじゃないかw
どうせ分かってるだろうが数値積分の誤差の問題だし別にいいじゃね?
んなこといってたら等加速度運動もv+=a; p+=v;の式すら使えなくなるぜ
>>49 具体的にy=x^2の時の
x,yの値をプロットするとどうなる?
とりあえず、始めの点が(0,0)その次の点が(1,1)だとして、
その次の点は(1.25,1.5625)?
>>52 ごめん、計算したらとんでもない値になった…
ってか、
>>48の式がどうせ合ってると思って適当なこと言ったけど式おかしくない?
パラメトリック曲線X(θ)に対するθ微分をX~(θ)として距離s=s(θ)とすると
dθ/ds = 1 / ||X~(θ)||
(θn - θn-1) / ⊿s = 1 / ||X~(θ)||
θn - θn-1 = ⊿s / ||X~(θ)||
θ += ⊿s / ||X~(θ)||
さっきの場合なら
θ += ⊿s / sqrt( 4*u*u + 1 );
初めの点が(0,0)で次の点が(1,1)ってことは⊿s=1なので、
次はθ=1.4472 くらい ⇒ ( 1.4472, 2.0943 )
最初、随分短くなってるような気がしておかしいなと思ったんだけど
この場合0~1の間を直線で近似しちゃってるし、仕方ないかも
あーごめんルートつけるの忘れてた
0から1までとかって長い区間を近似するなら、
端点じゃなくて中央での値を使ったほうがよさそう
中心差分が出来るならそっちのがいいね
現実はy=ax^2のa=1の場合って
22ピクセル進んだら画面上端から画面下端までまっさかさまだし、
そっちのパラメータの問題な気もするがw
すごいなあ
ところで楕円の描き方おしえてもらえないでしょうか?
>>66の様子をリアルに描画するのは結構できたらすごそうだ
点を打つ。
無限遠から見たことにしてくれと説明書に書く。
高校時代は文系です
ですが将来はゲームのプログラマーにでもなろうかなあ…
なんて思ってたけど
行列、ベクトル、三角関数、微分積分
全くわからず、
>>48 >>54なんてチンプンカンプン
どこの国の言葉だよ、って感じ
俺はプログラマーにはならない方が良いと痛感しました
ならない方が良いじゃなくて絶対無理ですね
ありがとうございました。
分からない事は無視して別の方法でやればいいんじゃね?
絶対に必要なら分かる奴に頼めばいいし
行列、ベクトル、三角関数、微分積分を知っている必要は必ずしもないが、
行列、ベクトル、三角関数、微分積分を理解できる程度の頭がないと無理。
というか、ゲームプログラマー自体は
理解できてもならないほうがいいかもね
ゲーム以外なら別に普通にプログラマとして食ってけるよ
へー ゲーム作るのって大変なんだなぁ
まあそういうのはキモヲタ君たちにまかせるしか方法ないな
がんばっていいゲーム作ってね。
去?的!
\ ¦ /
\ ¦ /
/ ̄ ̄ ヽ,
/ ', / _/\/\/\/|_
\ ノ//, {0} /¨`ヽ {0} ,ミヽ / \ >>76 /
\ / く l ヽ._.ノ ', ゝ \ < バーカ! >
/ /⌒ リ `ー'′ ' ⌒\ \ / \
(  ̄ ̄⌒ ⌒ ̄ _)  ̄|/\/\/\/ ̄
` ̄ ̄`ヽ /´ ̄
| |
--- ‐ ノ |
/ ノ ----
/ ∠_
-- | f\ ノ  ̄`丶.
| | ヽ__ノー─-- 、_ ) - _
. | | / /
| | ,' /
/ / ノ | ,' \
/ / | / \
/_ノ / ,ノ 〈 \
( 〈 ヽ.__ \ \
ヽ._> \__) ________
| |
| / ̄ ̄ ヽ, |
| / ', |
| {0} /¨`ヽ {0}, !
|.l ヽ._.ノ ', |
リ `ー'′ ',|
| |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
5代目 ジュウシマツ住職
とりあえず線形(ベクトル、行列、射影とか)がわからんことには
3Dの世界は始まらんと思うのだがどうだろうか。
間違った。
“行列式展開法の定義”でググれば出てくると思う。
RPGで命中率ってどうやればいいだろう。
いまんところRand関数で10個か100個とって、当りの数字と外れの数字の数
たとえば1~4までならアタリ 5~10まではミスとかやってるんだけど
これじゃどうも純粋な命中率4割とは行かない気がする。
もっと精度のいい計算式とかプログラムないですかね
何の言語のRand関数を使ってるのか知らんが
それはRand関数の精度の問題じゃなく、多分君のコードがおかしい
エスパーしてみたところ、Rand関数が返す乱数の範囲
(例:0~32767とか)を考慮していないのが原因だとわかった
Perlつかってま
独学だからいろいろと怪しい反面、関数は一々それ単体でいろいろテストしてから使うようにしてる
乱数の範囲はちゃんと設定してますよ。整数の0~9か0~99の値出すようにして+1してる
だから返す値は1~10ないし1~100なんだけど
なーんか、均一に値がでないきがするんですよ。これで十分なのかもしれないけれど
もっといいやり方があれば知りたいな、って思って
Perlなら浮動小数で値を返すから
Perl(9)とかやれば0.0~10.0の範囲で乱数を返すはず
$hit = 0;
for($n=0;$n<10000;$n++){
if(Rand(10) <= 4.0){$hit+=1;}
}
$命中率 = $hit/10000;
# このコードで$命中率が0.4前後になってればRandは正常に乱数を返している
× Perl(9)とかやれば0.0~10.0の範囲で乱数を返すはず
○ Perl(10)とかやれば0.0~10.0の範囲で乱数を返すはず
× $命中率 = $hit/10000;
○ $命中率 = $hit/10000.0;
かな。Perlの構文忘れた。算術時の暗黙の型変換ルールとかあったよな
>89
おお!ありがとうございます。だしかにこうやれば命中率でますね
ひたすらrandの返す値を記録して返す値ごとの頻度とかみてた自分が馬鹿みたいだ
ああ・・・自分は少数とかめんどくさいからiって思って
intでrandの返す値を整数化してたんですが
どうもそのせいで命中率が+1割増えてしまっていたみたいです
少数のまま使えばこっちの思惑通りの命中率になってくれました。
本当にありがとう
今頃になって気付いたがPerl(9)とかPerl(10)てなんだww
酒入ってるとわけ分からんな、俺の書き込みは
>>96 回転がある時点でSin Cosが出るから
100
カメラは、座標(Cx,Cy,Cz)、水平方向の回転角θh、垂直方向の回転角θp、水平視野角θhv、垂直視野角θpv、y座標の正の方向が天井です。
点(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),(x4,y4,z4)で構成されている平面を見た時
この平面の各頂点の座標は、サイズX*Yで左上を(0,0)とする画面に映す時どのような座標に変換されるでしょうか
与えられる情報はCx,Cy,Cz,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,X,Y,M(*)です
(*)水平視野角θhvと垂直視野角θpvは画面サイズX,Yと視野角倍率Mを入力すると自動で決まります
こんな感じの座標変換が1発でできたら便利なので定形にしたいのですがどうしたら良いでしょうか。
ぷろぐらむでつかうのは微分より積分の方が多いかな?
「ゲームプログラミングのための3Dグラフィックス数学」(Eric Lengyel著、日本語版)を読んだが、途中で挫折した。
P84の下の方の
「平面を4次元ベクトルとして表すと便利である。
N・Q + D = 0 を満たす点Qで構成される平面を表すために、省略記法<N, D>を用いる。
三次元の点を、w座標が1の4次元同次座標として扱えば、式(4.12)は d = L・Qと書ける。
ここで、L = <N, D>とおいた。このとき、L・Q = 0 ならば、点Qは平面上にある。」
ここで平面 L が具体的に何なのか理解できなかった。
ベクトル?だとしても具体的にはどんなベクトルなんだ?
というわけで終了。
手元にその本ないので、間違ってるかもだけど
平面の方程式 「ax+by+cz+d=0」(a,b,c,dは定数、x,y,zは平面上の点)
3次元上の点Qをwが1の4次元同時座標として扱うので、Q=(x, y, z, 1)
L=(a, b, c, d)とすれば「L・Q = 0」(内積を展開すればax+by+cz+d=0)
なので、平面Lは具体的には「L=(a, b, c, d)」
計算上はベクトルと同じだけど、平面はベクトルではないので、
平面の法線ベクトル「N=(a, b, c)」から省略表記として<N, d>になるってことかな
>>106 回答ありがとうございます。
まさか答えが返ってくるとは。
そうなのかもしれないけれど、私には正しいのかどうかわかりません。
最近、「やさしく学べる線形代数」というもっとレベルの低い本を買ったので、
それで勉強してみます。
>>106 「やさしく学べる線形代数」を一ヶ月やってから
Eric氏の本をもう一度読み直したら106さんのおっしゃることが正しいと分かりました。
ありがとうございました。
高校までの数学の基礎知識で充分
あとは仕事しながら理解すればいいだけ
数学が苦手な奴はプログラマーになること自体が間違い
>>109 その言い方は問題だろ
働きながら勉強するのは大変なので、線形代数の勉強だけは高校以上の物を身につけておいたほうが良い。
それにエンジンを作ったことのないゲームプログラマーの方が最近は多いのでは?
ゲームプログラマーでもさほど数学に詳しくない人もいる。
ついでに言えば、数学の知識をほとんど必要としないプログラマーは多い。
ウェブ系とか業務系だとさほど必要ない。
組込みでも必要ないことが多い。物によるが。
微分なんてゲームじゃ使わんよな
そもそも需要のある考え方なのか疑問
平均でいいだろって思う
ここゲーム制作スレだぜ
ゲーム系のプログラムは数学必須だろ
IT全般でいえばプログラマーなんて希少な専門職
ほとんどがSEなんて営業兼任の中途半端仕事で数学何それの世界w
それは ぷろじぇくとまねーじゃー という
なんだか無駄な書類ばかり作って足を引っ張る係のような気がしなくもない
日本は上級プログラマーの養成をしないからな
プログラマーよりSEが上のような錯覚を与えて多少プログラムも見れる何でも屋SEとしてこき使う
結果スマホゲー盛時とか上級プログラマーが致命的に不足して超高給になったりと
この後はどうなるのかは知らんが一時的にはいい思いしただろうなあ
微分ってのは高校のとき以来不可解w
時速30kmで瞬間の速さがどうだの考えることに意義あるかね
要するに時速30km前後ってことだからさ
y=2x^2+3が微分したらy=4xになるとかw何の遊びだよって思う
>>117 微小の概念自体が不思議だからな
ゼロじゃないのに微小って何だよって言う
しかし、微分を使うとちゃんと宇宙と自然の法則と一致する
もしかしたら時間に最小単位とかがあったりして
ゲームエンジン使うなら基本的な行列の知識で十分なのかな?
微分して畳み込んだ式を積分して3分待てばラーメンが食えるんだよ
文系の俺だってPCMの波形が微積分であれこれやると出てくることくらいは知ってる
>>119 いいえ。そんなことで3Dゲーム作れるって思わされてるとしたら相当危ないよ
ゲームエンジンステマの情報操作に踊らされてる
自動化ツールを導入しただけで株で500万儲けた、ってのを真に受けるのと同じ
>>123 作るものによるのでは?
Unityで大作でもないスマホゲーム作るくらいならガチガチに数学の必要もなくね?
もちろん最低限は必要だが
>>122 ベクトルと関連するけどベクトルそのものではないかと
>>124 そんな内容でよければ、ぶっちゃけ逆に3Dゲームである必要性がないんじゃないの
数学の知識より物理の知識のほうが大事だと思うが
3Dゲーム作るにしても微積とベクトルと行列ぐらいでしょ
物理はやばい
ほとんど速度の足し算と三角関数で方が付く。3Dのライブラリリファレンスには必ず原理が書いてあるけど
役に立てられる場面がどれほどあるか
ほとんどゲームエンジンを使う側だからそんなもんで大丈夫だよ
作るとなると QP とか統計とか流体とかいろんな数学が必要になってくるけど
>>129 ゲームエンジンを自作しているところって大手だけだろうね
最近はカプコンやナムコバンダイでもUE4使っているし、ゲームエンジンの自作も減っていくのかな?
× 三角関数なんて大人になったら使わない
○ 弾幕シューティングの製作に三角関数は必須
リーマン幾何学?なんて使わんよね
ユークリッド空間はそもそも仮想の世界で現実にはない
ゲーム関連のニュースを見るとUEはコンシューマ向けでは結構使われてる印象
Unityもあるにはあるけどどっちかといえばスマホじゃないか?
エンジンに頼るから大手でも似たようなゲームばかりになる
描画回りはいいとしても、当たり判定やオブジェクトの挙動まで
ライブラリ依存ってのはどうなんだ
例えば格ゲーでも上級者だとフレーム単位の挙動とか、
内部的にどういう判定をやってるかという話になる
でもエンジン使うとそういう根っこの部分が似たり寄ったりになる
いくら見た目が違っていても実際に遊んでみると
「これアレと同じじゃん」になってしまう
>>135 と言っても各社ごとにエンジン作るのも辛くなっている
角度を0-360の間でループさせながら半径を減らしていけばおk
オブジェクト座標 Px, Py
移動量 Vx, Vy
とすると、毎フレーム
Px += Vx
Py += Vy
その都度(Vx, Vy)に回転行列をかければ
Pの座標は円軌道になる・・・はず
回転行列のθを毎フレーム小さくしていけば
渦の中心座標を持っていなくても外向きの渦巻になる・・・かもしれない
(ただの思いつき)
canvas要素の基本的な使い方まとめ
http://www.h2.dion.ne.jp/~defghi/canvasMemo/canvasMemo.htm
このページ内を、「螺旋」で検索してみ。
8・座標軸変換の章に、渦巻きのコーディングが載っている
微積分てマジに超難しいよな(´・ω・`;)
高校の時に一通りは教わったはずなんだが
今改めて勉強してみようと関連書籍を読んだがチンプンカンプンだ
もうゲーム抜きでいいから単純に子どもに微積分を教えるような本て無いか?
「マンガでわかる微積分」みたいな本を買った事があるが
絵と関連させて分かり易いのは最初の10ページぐらいなんだよな
そこから急に数式の嵐になり、博士みたいな人のセリフだけがただ延々と続くようになる
全然マンガで無くなってしまうのはこの手の本によくある詐欺だよな
>>148 やさしく学べる微分積分
石村 園子
固定リンク:
http://www.amazon.co.jp/dp/4320016335 自分はこれで勉強したけど、本当にやさしいかどうかは疑問に思っている
マセマの「すばらしく実力がつく!」シリーズ、比較的、分かり易くてマジお勧め
常微分方程式までやれば、ばね振り子の単振動モデルもマスターできる
y=2*x^2+4x+2
微分すると
y=4x+4とか
こんなことで接線が求まるのか、へーと思ってた
曲線に関わるときに必要なのかな
>>153 お前が漫画やアニメのキャラなら
そのセリフを一通り表示した後に
周りの仲間たちが半笑いのジト汗になるという定番エピソードなんだがなw
つまらん高笑いだな
そんなに微分を深く理解しているなら
もっと気の利いた突っ込みしろよ
数学スレ参考になる。ちょっと協力したい。よく使うのはこの3つ。
確率(ドロップアイテム、勝率調整に利用)
三角関数のcos、sin(2Dなら主に三角関数を覚えれば何とでもなる)
行列と数列(配列の演算で利用)
atan2ってことは、キャラからマウス、敵からキャラ等の角度を求めるってことだよね。
確かに多い。実際使用している・・・ww
遅いレスだが、3Dでも三角関数、得にatan2()は不可欠だよ
そして毎回のようにatan2(x,y)としてしまう
数学で習ったあの三角関数がゲーム制作に関係するのか?
疎い人間にはそれがどういう形で使われるのか予想すら出来ない
例えば具体的にどんな挙動に関係してくるのか、簡単に教えてもらえないかな?
決して自分も使えるようになりたいとかいう話でなくあくまで単なる興味なので
適当な例え話みたいなものでいいんだが
4方向しかできない量産型和製RPGなら別に三角関数知らなくても作れるけど、
FPS、シューティングゲームのように、マウスを使ってその先に銃弾を撃つとなると、
atan2の角度を求めるが必要。そして弾が飛んでいく処理で、XY座標にSINCOSを足す必要になる。
応用すると、人物のモデルから、UIまで使えるようにはなるよ。
アクションゲームでいう弓矢の放物線の落下イメージだともっと分かりやすいか
SIN180~360度の移動。あとは高さを決めて、毎フレームに180度からの角度のプラス値を加えて終了。
なるほど、ちょっとだけ解ったような気がする
発射した弾道とか物体の落下とかそういう当たり前のように思える動きも
デジでは作者が一から全て指定しなければならない‥という辺りに
もしかしたら関係してるのかな?
まあ、リアルタイムを求められる近年のゲームでは三角関数は多用されているね。
ただ、学生の頃の数学にくらべて可視化しながらプログラミングできるから
とても難しいという訳ではないよ。プログラミングを求められる量は年々増えてるけど、
それはハードウェアの性能が上がるから仕方ないね。でも、慣れてきたらコピペで済む処理も多いよ。
>>166 ・放物線はsin必要ない
・毎フレーム同じ角度を足すのは弧の挙動で、どう考えても数学的に放物線とは別物
>>168 ・リアルタイムか否かと、三角関数が必要か、は何の関係もない
・リアルタイムゲームは昔からある
・三角関数は別に高速化のための手段ではない
「数学なんて分からなくても、コピペすればすぐできるぜ!」
~5分後
「わーん、どれをコピペすればいいか分からないよーう」
>>169 普通にSIN使うでしょ
リアルタイムに三角関数は関係あるでしょ
てか、高速化とは言ってないし
ゲーム製作で必要な数学のスレなのに、関係ない数学の話しするのやめてくれる?
数学板いってくれよまじで。
>>169のどこに「ゲーム制作と無関係の数学」の話が書いてるんだろう
てか君が書いてるのは、野球の1塁と3塁を間違えるレベルだよ
ゴネてごまかせる話じゃない
いったいなぜそんなウソを突き通す必要があるの?
2ちゃんなんだし、さっさと立ち去れば恥かかなくてすむじゃない
今はそういうの一切合切物理エンジンとかライブラリで賄うからなあ
>>173 最初からそれが言いたかったんだろ?
だが
>>166,168みたいに基本的な数学知識もないことには
>>170がオチですよ、と
正直オレも基本的な数学知識が全然無いな
でも出来ればそれをタダの馬鹿と切り捨てないで
もう少し実りのある"教えのres"が有ってもいいんじゃないか?
せっかく立ったこういうスレなんだから
バカにも解り易く何かを享受してみようという奴が顕れるのに期待する
ただひたすら知ってることを全部書けというなら、みんなブログに書くと思う
誠実な質問なら答えるよ
>>175 馬鹿にも二種類いてな
他人のせいにする馬鹿と自分のせいにする馬鹿
行列演算とか四元数とかネットに詳しいページがいくらでもあるから
やる気のある人ならそこを読めば分かる、というのはある
別に誰が悪いわけじゃないが、適当な質問がないことには
簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
LH57R8CT11
弾幕シューティングゲームって、自機と自弾、敵機と敵弾それぞれ全部総当たりで判定するんでしょうか
やらないとすり抜けるぞ。
つまり、自機や自弾は敵にぶつかるが、敵弾は敵や自弾にはぶつからない(一般論)。
じゃあ計算量は単純に積になるんですね
シューティングゲームがゲームの入門に向くって言われている理由の一端が見えた気がします
弾幕シューは自機自弾敵機敵弾それぞれの総当たりなんてやらない
自機から遠い敵弾が当たる事なんてあり得ないし逆もそう
だから四分木ってアルゴリズムを使って衝突が発生し得ない弾を計算から除く
総当たりの計算量をO(k^2)からO(log n)まで減らせる
>弾幕シューは自機自弾敵機敵弾それぞれの総当たりなんてやらない
これって本当なの?
敵の弾は自機にしか当たらない、と仮定を置くと、
処理時間は O(n^2)でなくて O(n) だと思うんだけど。
ついでに、もし矩形同士の当たり判定だとすると、当たり判定の負荷自体も大きくないから、
ぶっちゃけ、100x100の総当たりで10,000回の当たり判定をしたって、大した負荷にはならないと思うのだが。
もちろん、「複雑な」当たり判定の場合に、事前に判定回数を減らすことについては異議はない。
O(n)をO(log n)にできるなら大きな差になり得るな
枚フレーム10000回と枚フレーム7回は全然違う
>O(n)をO(log n)にできるなら大きな差になり得るな
これは認めるが、
>毎フレーム10000回と毎フレーム7回は全然違う
ここは 10,000じゃなくて 100 を入れてくれw
昨日は、上手く説明が書けなかったので反論しなかったが、整理できたぜ。朝風呂ってすげぇなw
ここで考えないといけないのは、ツリー構築コスト。
N個の物体のツリーを作成するのに必要なコストは、O(N logN)だ。(合ってる?)
N個「同士」の当たり判定をする場合、
総当たり‥‥ O(N^2)
ツリー‥‥ツリー構築に O(N logN)、当たり判定で O(N logN)。
総合で O(N logN)になるので、Nが大きい場合はツリーのほうが圧倒的有利
ここまでは、お互いに、大きな認識相違はないと思う。
一方、N個と自機(1個)の当たり判定の場合は、
総当たり‥‥ O(N)
ツリー‥‥ツリー構築に O(N logN)、当たり判定に O(1 * logN)。総合でO(N logN)になるはず。
これが、ツリーなんて作らないで総当たりでいいんじゃね?の根拠だ。
(ツリー構築コストのオーダーが間違ってたらすまん)
つまり、
>毎フレーム10000回と毎フレーム7回は全然違う
この書き方に倣うなら、
総当たりが毎フレーム100回に対して、ツリーは毎フレーム350回+7回、ってこと
反論が来ないので、自己反論でもするか。
190は、敵が多数vs自機1機の場合だけど、
自機だって、当たり判定が必要な弾を撃つ。
敵100機と自機+弾2発の場合
総当たり=100*3=300回、ツリー=350+7*3=371回(総当たり有利)
敵100機と自機+弾3発の場合
総当たり=100*4=400回、ツリー=350+7*4=378回(ツリー有利)
ツリー構築コスト350ってのはツリーに有利に設定した値だけど、
10発も弾を撃てればツリーのほうが確実に有利になる。
(自弾と敵弾の当たり判定が不要なら、総当たりがもうちょい有利になるけど)
とはいえ、10,000回の当たり判定をやったって 1ms~2ms程度(俺の7年前のLetsNoteで計測)
自機がべらぼうに弾を撃つんじゃなければ、どっちでもいいやw
lud20250213041210このスレへの固定リンク: http://5chb.net/r/gamedev/1170387853/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。
TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
>50
>100
>200
>300
>500
>1000枚
新着画像
↓「ゲーム製作で必要な数学の知識->画像>1枚 」を見た人も見ています:
・統計学って高校数学の知識あれば余裕?
・就職先が僕が大学で履修しなかった数学の知識が必須っぽくてヤバい、これから大学の図書館に行って予習しなきゃ
・今シーズン雪中キャンプやるんだが必要なものや最低限の知識教えれ
・数学の豆知識
・会計士試験に必要な数学力
・金持ちになるに必要な数学をおしえてくれ
・3DCG製作に始めようと思う 何が必要なのかおしえろ
・大学以降の数学において重要なのは受験数学力よりも文章読解力じゃね?
・天才数学者とか出てくるけど作者の知能が追いついてない感じの漫画無い?
・【数学】天才数学者が二次方程式の簡単な解き方を考案!「推測も暗記も必要ない」
・【数学】 天才数学者が二次方程式の簡単な解き方を考案!「推測も暗記も必要ない」 2019/12/29
・集合論は人間の外界認識方法に基づいているため、より正しく数学を論ずることができない
・頭の,数学をやってゆくために最も肝要な部分が破壊されてしまったという確信が日毎に強くなってゆく
・有識者「異世界アニメ中止したけど、声優・出版社・作者・絵師・製作委員会全員不幸になってますよね」
・【悲報】イスラエル人、クソバカだった、、、 識字率も読解力も数学的思考力も問題解決能力も低すぎる
・有識者「ルックバックは製作監督絵コンテ脚本キャラデザ作監原画半分を全て一人の人がやってアニメの常識をぶち壊した」
・Unityでゲーム作りたいからおまいらの知識貸してくれ
・石田「マスクがないって話題になるけどステイホームを意識してたらマスクは使わない。本当に必要な人だけがマスクを買うべき」
・安価でゲーム製作
・ゲーム製作雑談スレ
・ゲーム製作雑談スレ
・夏だねぇゲーム製作雑談スレ
・■ ゲーム製作技術板自治03
・夏もゲーム製作雑談スレッド
・ノベルゲーム製作について語ろう
・108日のゲーム製作雑談スレ
・ゲーム製作 雑談スレ【part9】
・雨にも負けずゲーム製作雑談スレ
・ゲーム製作 雑談スレ【part20】
・ゲーム製作 雑談スレ【part2】
・ネオ・ニューゲーム製作雑談スレ
・完走したゲーム製作雑談スレッド
・GPL/LGPL等ライセンスとゲーム製作 3
・ゲーム製作者になれるならどんなゲーム作りたい?
・自由なゲーム製作を阻害する特許ってある?
・すぐ落ちるけどめげないゲーム製作雑談スレ
・【 Ryzen 】 ゲーム、動画、MMD、製作総合 Part1
・続編で失敗するゲームって製作者頭おかしいんじゃないの
・新ジャンル『幼女980円(税)』ゲーム化製作スレ
・ゲーム製作雑談スレ/Let's Make Games on VIP8
・ゲームをつまらなくした三要素、巨大な製作費、ポリコレ
・【数学】120年前に提案のパズル解法、ついに解決 日米チームが証明 [牛乳トースト★]
・【悲報】吉田製作所、念願のガレージ付きマイホームが完成するも設計ミスで車が入れられず終わる……
・【ゲーム】製作費130億円以上フォースポークンが大爆死!社運を賭けたスクエニ咽び泣く
・【天才】アレPこと吉田直樹、フロムより先にブラッドボーンのようなゲームを製作していた模様
・クリス松村「ポケモンGOを即刻停止しろ。ゲーム配信会社、製作者は街中をゲームセンターにした責任をとれ」
・ライフゲームの考案などで知られる数学者のジョン・ホートン・コンウェイ氏がコロナウィルスで死去83歳
・ワイ(65cm)「もきゅっ…もきゅぅっ…もきゅぅうぅぅぅっ!!!!😭」←ゲームの製作が間に合わなくて泣いてる
・【台韓】「何撮ってるんだよ!顔隠さなきゃいけないから」暴行事件の隆大介…製作チームがお詫び、出演は取り止めへ[03/23]
・【芸能】本田翼「ゲーム作ってみたい」夢かなう、オンラインゲーム「にょろっこ」製作総指揮に「昨日は眠れなかった。こんなの久しぶり」 [爆笑ゴリラ★]
・裁判逃げの知識スレ
・やっぱり物語で必要なのって
・cpuの知識あるJボーイきて
・リニアってなんで必要なの???
・あなたの知っていると役立つ知識16
・あなたの知っていると役立つ知識13
・会社を起業する為に必要な力と知識を教えて下さい。
・スマホで必要な機能、無用な機能
・腕時計の知識はどこから仕入れてるの
・90年代までの知識しかないおじさんたち
・セキュリティの知識ってどこで学べる?
・イスラム国で必要なアラビア語教えて
・知識0の俺にDJになるのに必要なことを教えてくれ
・その程度の知識でよく究極の料理が名乗れたね
・続・90年代までの知識しかないおじさんたち
・広告の知識だけで魔剣伝説を語り合うスレ
22:42:14 up 96 days, 23:41, 0 users, load average: 6.52, 6.46, 6.87
in 1.2490739822388 sec
@1.2490739822388@0b7 on 072311
|