X



ゲーム製作で必要な数学の知識
0142名前は開発中のものです。
垢版 |
2016/05/13(金) 20:40:51.82ID:/zqJepKo
ボイラーの方程式
0144名前は開発中のものです。
垢版 |
2016/05/14(土) 12:10:19.81ID:JjLQnHxu
オブジェクト座標 Px, Py
移動量 Vx, Vy
とすると、毎フレーム
  Px += Vx
  Py += Vy
その都度(Vx, Vy)に回転行列をかければ
Pの座標は円軌道になる・・・はず

回転行列のθを毎フレーム小さくしていけば
渦の中心座標を持っていなくても外向きの渦巻になる・・・かもしれない
(ただの思いつき)
0145名前は開発中のものです。
垢版 |
2016/05/14(土) 14:17:26.81ID:It6iCRoq
canvas要素の基本的な使い方まとめ
http://www.h2.dion.ne.jp/~defghi/canvasMemo/canvasMemo.htm

このページ内を、「螺旋」で検索してみ。
8・座標軸変換の章に、渦巻きのコーディングが載っている
0148名前は開発中のものです。
垢版 |
2016/06/03(金) 18:13:51.22ID:8m9EzKy0
微積分てマジに超難しいよな(´・ω・`;)
高校の時に一通りは教わったはずなんだが
今改めて勉強してみようと関連書籍を読んだがチンプンカンプンだ
もうゲーム抜きでいいから単純に子どもに微積分を教えるような本て無いか?
0150名前は開発中のものです。
垢版 |
2016/06/04(土) 06:02:12.38ID:AWl/lgbO
「マンガでわかる微積分」みたいな本を買った事があるが
絵と関連させて分かり易いのは最初の10ページぐらいなんだよな
そこから急に数式の嵐になり、博士みたいな人のセリフだけがただ延々と続くようになる
全然マンガで無くなってしまうのはこの手の本によくある詐欺だよな
0151名前は開発中のものです。
垢版 |
2016/06/04(土) 13:46:27.34ID:EpsIydlx
>>148
やさしく学べる微分積分
石村 園子
固定リンク: http://www.amazon.co.jp/dp/4320016335

自分はこれで勉強したけど、本当にやさしいかどうかは疑問に思っている
0152名前は開発中のものです。
垢版 |
2016/06/04(土) 14:44:46.19ID:el/qyZ9m
マセマの「すばらしく実力がつく!」シリーズ、比較的、分かり易くてマジお勧め
常微分方程式までやれば、ばね振り子の単振動モデルもマスターできる
0153名前は開発中のものです。
垢版 |
2016/06/09(木) 16:29:18.67ID:jkF0mgR5
y=2*x^2+4x+2
微分すると
y=4x+4とか
こんなことで接線が求まるのか、へーと思ってた
曲線に関わるときに必要なのかな
0154名前は開発中のものです。
垢版 |
2016/06/09(木) 20:11:09.36ID:QreYL2R8
>>153
お前が漫画やアニメのキャラなら
そのセリフを一通り表示した後に
周りの仲間たちが半笑いのジト汗になるという定番エピソードなんだがなw
0155名前は開発中のものです。
垢版 |
2016/06/10(金) 15:49:12.43ID:cYF7WDOo
つまらん高笑いだな
そんなに微分を深く理解しているなら
もっと気の利いた突っ込みしろよ
0157名前は開発中のものです。
垢版 |
2016/07/02(土) 19:46:49.05ID:AOKMK2oi
test
0158名前は開発中のものです。
垢版 |
2016/08/04(木) 14:12:44.43ID:0v1+A7mD
数学スレ参考になる。ちょっと協力したい。よく使うのはこの3つ。
確率(ドロップアイテム、勝率調整に利用)
三角関数のcos、sin(2Dなら主に三角関数を覚えれば何とでもなる)
行列と数列(配列の演算で利用)
0160名前は開発中のものです。
垢版 |
2016/08/04(木) 14:44:20.73ID:0v1+A7mD
atan2ってことは、キャラからマウス、敵からキャラ等の角度を求めるってことだよね。
確かに多い。実際使用している・・・ww
0161名前は開発中のものです。
垢版 |
2016/08/17(水) 20:45:01.58ID:42+zcCOM
遅いレスだが、3Dでも三角関数、得にatan2()は不可欠だよ
そして毎回のようにatan2(x,y)としてしまう
0164名前は開発中のものです。
垢版 |
2016/08/22(月) 19:31:09.93ID:ChGR6Syh
数学で習ったあの三角関数がゲーム制作に関係するのか?
疎い人間にはそれがどういう形で使われるのか予想すら出来ない

例えば具体的にどんな挙動に関係してくるのか、簡単に教えてもらえないかな?
決して自分も使えるようになりたいとかいう話でなくあくまで単なる興味なので
適当な例え話みたいなものでいいんだが
0165名前は開発中のものです。
垢版 |
2016/08/22(月) 23:12:54.08ID:hvxAPb8L
4方向しかできない量産型和製RPGなら別に三角関数知らなくても作れるけど、
FPS、シューティングゲームのように、マウスを使ってその先に銃弾を撃つとなると、
atan2の角度を求めるが必要。そして弾が飛んでいく処理で、XY座標にSINCOSを足す必要になる。
応用すると、人物のモデルから、UIまで使えるようにはなるよ。
0166名前は開発中のものです。
垢版 |
2016/08/22(月) 23:24:27.06ID:hvxAPb8L
アクションゲームでいう弓矢の放物線の落下イメージだともっと分かりやすいか
SIN180〜360度の移動。あとは高さを決めて、毎フレームに180度からの角度のプラス値を加えて終了。
0167名前は開発中のものです。
垢版 |
2016/08/23(火) 06:38:27.75ID:zr05JX5o
なるほど、ちょっとだけ解ったような気がする
発射した弾道とか物体の落下とかそういう当たり前のように思える動きも
デジでは作者が一から全て指定しなければならない‥という辺りに
もしかしたら関係してるのかな?
0168名前は開発中のものです。
垢版 |
2016/08/23(火) 06:51:01.62ID:mbUZYZfS
まあ、リアルタイムを求められる近年のゲームでは三角関数は多用されているね。
ただ、学生の頃の数学にくらべて可視化しながらプログラミングできるから
とても難しいという訳ではないよ。プログラミングを求められる量は年々増えてるけど、
それはハードウェアの性能が上がるから仕方ないね。でも、慣れてきたらコピペで済む処理も多いよ。
0169名前は開発中のものです。
垢版 |
2016/08/23(火) 19:28:09.83ID:xkUFY9+c
>>166
・放物線はsin必要ない
・毎フレーム同じ角度を足すのは弧の挙動で、どう考えても数学的に放物線とは別物

>>168
・リアルタイムか否かと、三角関数が必要か、は何の関係もない
・リアルタイムゲームは昔からある
・三角関数は別に高速化のための手段ではない
0170名前は開発中のものです。
垢版 |
2016/08/23(火) 19:31:11.34ID:zeJrK8DK
「数学なんて分からなくても、コピペすればすぐできるぜ!」

〜5分後

「わーん、どれをコピペすればいいか分からないよーう」
0171名前は開発中のものです。
垢版 |
2016/08/23(火) 21:08:40.60ID:mbUZYZfS
>>169
普通にSIN使うでしょ
リアルタイムに三角関数は関係あるでしょ
てか、高速化とは言ってないし
ゲーム製作で必要な数学のスレなのに、関係ない数学の話しするのやめてくれる?
数学板いってくれよまじで。
0172名前は開発中のものです。
垢版 |
2016/08/23(火) 23:47:29.48ID:WYJZlNDP
>>169のどこに「ゲーム制作と無関係の数学」の話が書いてるんだろう

てか君が書いてるのは、野球の1塁と3塁を間違えるレベルだよ
ゴネてごまかせる話じゃない
いったいなぜそんなウソを突き通す必要があるの?
2ちゃんなんだし、さっさと立ち去れば恥かかなくてすむじゃない
0175名前は開発中のものです。
垢版 |
2016/09/02(金) 18:44:55.53ID:xzTHYG0a
正直オレも基本的な数学知識が全然無いな
でも出来ればそれをタダの馬鹿と切り捨てないで
もう少し実りのある"教えのres"が有ってもいいんじゃないか?
せっかく立ったこういうスレなんだから
バカにも解り易く何かを享受してみようという奴が顕れるのに期待する
0176名前は開発中のものです。
垢版 |
2016/09/03(土) 01:44:27.65ID:LICsDyTx
ただひたすら知ってることを全部書けというなら、みんなブログに書くと思う

誠実な質問なら答えるよ
0178名前は開発中のものです。
垢版 |
2016/09/18(日) 02:04:10.56ID:KnG7Uvmw
行列演算とか四元数とかネットに詳しいページがいくらでもあるから
やる気のある人ならそこを読めば分かる、というのはある

別に誰が悪いわけじゃないが、適当な質問がないことには
0179名前は開発中のものです。
垢版 |
2017/12/31(日) 20:05:16.01ID:/rN76OKL
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

LH57R8CT11
0181名前は開発中のものです。
垢版 |
2021/01/22(金) 18:40:04.68ID:jW6f9XlE
弾幕シューティングゲームって、自機と自弾、敵機と敵弾それぞれ全部総当たりで判定するんでしょうか
0182名前は開発中のものです。
垢版 |
2021/01/24(日) 12:21:10.56ID:TyxA9jFm
やらないとすり抜けるぞ。
つまり、自機や自弾は敵にぶつかるが、敵弾は敵や自弾にはぶつからない(一般論)。
0183名前は開発中のものです。
垢版 |
2021/01/24(日) 15:38:02.35ID:kHpXqmSi
じゃあ計算量は単純に積になるんですね
シューティングゲームがゲームの入門に向くって言われている理由の一端が見えた気がします
0184名前は開発中のものです。
垢版 |
2021/02/02(火) 13:09:39.67ID:/gK/BSRL
弾幕シューは自機自弾敵機敵弾それぞれの総当たりなんてやらない
自機から遠い敵弾が当たる事なんてあり得ないし逆もそう
だから四分木ってアルゴリズムを使って衝突が発生し得ない弾を計算から除く
総当たりの計算量をO(k^2)からO(log n)まで減らせる
0185名前は開発中のものです。
垢版 |
2021/06/28(月) 16:59:10.98ID:zyj+fT3L
>弾幕シューは自機自弾敵機敵弾それぞれの総当たりなんてやらない

これって本当なの?

敵の弾は自機にしか当たらない、と仮定を置くと、
処理時間は O(n^2)でなくて O(n) だと思うんだけど。

ついでに、もし矩形同士の当たり判定だとすると、当たり判定の負荷自体も大きくないから、
ぶっちゃけ、100x100の総当たりで10,000回の当たり判定をしたって、大した負荷にはならないと思うのだが。


もちろん、「複雑な」当たり判定の場合に、事前に判定回数を減らすことについては異議はない。
0186名前は開発中のものです。
垢版 |
2021/06/28(月) 18:31:32.57ID:hyGKQZEf
O(n)をO(log n)にできるなら大きな差になり得るな
枚フレーム10000回と枚フレーム7回は全然違う
0187名前は開発中のものです。
垢版 |
2021/06/28(月) 20:52:42.15ID:zyj+fT3L
>O(n)をO(log n)にできるなら大きな差になり得るな
これは認めるが、

>毎フレーム10000回と毎フレーム7回は全然違う
ここは 10,000じゃなくて 100 を入れてくれw
0189名前は開発中のものです。
垢版 |
2021/06/29(火) 08:48:54.68ID:5rduNUaF
昨日は、上手く説明が書けなかったので反論しなかったが、整理できたぜ。朝風呂ってすげぇな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)になるはず。

これが、ツリーなんて作らないで総当たりでいいんじゃね?の根拠だ。
(ツリー構築コストのオーダーが間違ってたらすまん)
0190名前は開発中のものです。
垢版 |
2021/06/29(火) 08:51:54.02ID:5rduNUaF
つまり、
>毎フレーム10000回と毎フレーム7回は全然違う

この書き方に倣うなら、
総当たりが毎フレーム100回に対して、ツリーは毎フレーム350回+7回、ってこと
0191名前は開発中のものです。
垢版 |
2021/07/27(火) 16:16:55.84ID:xy40X6uH
反論が来ないので、自己反論でもするか。

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
レスを投稿する


ニューススポーツなんでも実況