15/11/20 22:56:05.26 l53BzNRI.net
「ゲームプログラミングのための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 が具体的に何なのか理解できなかった。
ベクトル?だとしても具体的にはどんなベクトルなんだ?
というわけで終了。
107:名前は開発中のものです。
15/11/21 13:33:31.87 mlPcQp43.net
手元にその本ないので、間違ってるかもだけど
平面の方程式 「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>になるってことかな
108:名前は開発中のものです。
15/11/21 22:01:18.13 u8oXEyY0.net
>>106
回答ありがとうございます。
まさか答えが返ってくるとは。
そうなのかもしれないけれど、私には正しいのかどうかわかりません。
最近、「やさしく学べる線形代数」というもっとレベルの低い本を買ったので、
それで勉強してみます。
109:107
16/01/07 16:50:01.66 baXcJFEQ.net
>>106
「やさしく学べる線形代数」を一ヶ月やってから
Eric氏の本をもう一度読み直したら106さんのおっしゃることが正しいと分かりました。
ありがとうございました。
110:名前は開発中のものです。
16/01/08 10:45:42.77 Bq3VIzHQ.net
高校までの数学の基礎知識で充分
あとは仕事しながら理解すればいいだけ
数学が苦手な奴はプログラマーになること自体が間違い
111:名前は開発中のものです。
16/01/08 11:29:59.46 B/wD1J6p.net
高校までと言われてもねえ
東大入試も高校までだし
112:名前は開発中のものです。
16/01/08 22:30:50.12 nj8XASZ4.net
>>109
その言い方は問題だろ
働きながら勉強するのは大変なので、線形代数の勉強だけは高校以上の物を身につけておいたほうが良い。
それにエンジンを作ったことのないゲームプログラマーの方が最近は多いのでは?
ゲームプログラマーでもさほど数学に詳しくない人もいる。
ついでに言えば、数学の知識をほとんど必要としないプログラマーは多い。
ウェブ系とか業務系だとさほど必要ない。
組込みでも必要ないことが多い。物によるが。
113:名前は開発中のものです。
16/01/09 14:31:43.15 dRUQmT91.net
微分なんてゲームじゃ使わんよな
そもそも需要のある考え方なのか疑問
平均でいいだろって思う
114:名前は開発中のものです。
16/01/09 14:34:57.31 dRgRZulg.net
ここゲーム制作スレだぜ
ゲーム系のプログラムは数学必須だろ
IT全般でいえばプログラマーなんて希少な専門職
ほとんどがSEなんて営業兼任の中途半端仕事で数学何それの世界w
115:名前は開発中のものです。
16/01/09 20:22:10.53 kH8CMF0G.net
日本のSEは営業と手配師しかしないし
116:名前は開発中のものです。
16/01/11 18:08:03.26 ZBZAK2Bv.net
それは ぷろじぇくとまねーじゃー という
なんだか無駄な書類ばかり作って足を引っ張る係のような気がしなくもない
117:名前は開発中のものです。
16/01/11 19:47:03.40 KYRtK9Cp.net
日本は上級プログラマーの養成をしないからな
プログラマーよりSEが上のような錯覚を与えて多少プログラムも見れる何でも屋SEとしてこき使う
結果スマホゲー盛時とか上級プログラマーが致命的に不足して超高給になったりと
この後はどうなるのかは知らんが一時的にはいい思いしただろうなあ
118:名前は開発中のものです。
16/01/16 11:30:40.15 GO6IT8Wx.net
微分ってのは高校のとき以来不可解w
時速30kmで瞬間の速さがどうだの考えることに意義あるかね
要するに時速30km前後ってことだからさ
y=2x^2+3が微分したらy=4xになるとかw何の遊びだよって思う
119:名前は開発中のものです。
16/01/16 11:55:21.85 PEcrRFoP.net
>>117
微小の概念自体が不思議だからな
ゼロじゃないのに微小って何だよって言う
しかし、微分を使うとちゃんと宇宙と自然の法則と一致する
もしかしたら時間に最小単位とかがあったりして
120:名前は開発中のものです。
16/01/18 01:29:12.65 j2WXJ3wZ.net
ゲームエンジン使うなら基本的な行列の知識で十分なのかな?
121:名前は開発中のものです。
16/01/18 14:57:50.80 IM1f0BBH.net
微分して畳み込んだ式を積分して3分待てばラーメンが食えるんだよ
文系の俺だってPCMの波形が微積分であれこれやると出てくることくらいは知ってる
122:名前は開発中のものです。
16/01/18 15:35:59.53 U3Mtc/gG.net
>>120
あれこれってw
123:名前は開発中のものです。
16/01/18 19:11:59.58 7anJAmDg.net
三角関数って要するにベクトルだよね?
124:名前は開発中のものです。
16/01/23 20:43:52.74 2t7EOc+2.net
>>119
いいえ。そんなことで3Dゲーム作れるって思わされてるとしたら相当危ないよ
ゲームエンジンステマの情報操作に踊らされてる
自動化ツールを導入しただけで株で500万儲けた、ってのを真に受けるのと同じ
125:名前は開発中のものです。
16/01/23 22:04:08.75 V6WBH/98.net
>>123
作るものによるのでは?
Unityで大作でもないスマホゲーム作るくらいならガチガチに数学の必要もなくね?
もちろん最低限は必要だが
126:名前は開発中のものです。
16/01/23 22:04:32.06 V6WBH/98.net
>>122
ベクトルと関連するけどベクトルそのものではないかと
127:名前は開発中のものです。
16/01/24 19:04:31.72 YuKcV9Os.net
>>124
そんな内容でよければ、ぶっちゃけ逆に3Dゲームである必要性がないんじゃないの
128:名前は開発中のものです。
16/02/14 19:09:33.74 mruxV8Ta.net
数学の知識より物理の知識のほうが大事だと思うが
3Dゲーム作るにしても微積とベクトルと行列ぐらいでしょ
物理はやばい
129:名前は開発中のものです。
16/02/21 02:34:32.06 97sAvS+x.net
ほとんど速度の足し算と三角関数で方が付く。3Dのライブラリリファレンスには必ず原理が書いてあるけど
役に立てられる場面がどれほどあるか
130:名前は開発中のものです。
16/02/21 14:24:50.79 1+kc5ncD.net
ほとんどゲームエンジンを使う側だからそんなもんで大丈夫だよ
作るとなると QP とか統計とか流体とかいろんな数学が必要になってくるけど
131:名前は開発中のものです。
16/02/21 18:35:49.68 GoPdKY9g.net
>>129
ゲームエンジンを自作しているところって大手だけだろうね
最近はカプコンやナムコバンダイでもUE4使っているし、ゲームエンジンの自作も減っていくのかな?
132:名前は開発中のものです。
16/03/03 01:17:42.18 SQktuLO3.net
× 三角関数なんて大人になったら使わない
○ 弾幕シューティングの製作に三角関数は必須
133:名前は開発中のものです。
16/03/12 13:56:24.16 tgbncP0I.net
リーマン幾何学?なんて使わんよね
ユークリッド空間はそもそも仮想の世界で現実にはない
134:名前は開発中のものです。
16/04/20 15:19:28.90 JmmPint/.net
UnityとUEのどちらが主流になるのかな?
135:名前は開発中のものです。
16/04/20 17:25:05.01 D7uN3v5d.net
ゲーム関連のニュースを見るとUEはコンシューマ向けでは結構使われてる印象
Unityもあるにはあるけどどっちかといえばスマホじゃないか?
136:名前は開発中のものです。
16/04/27 11:29:18.27 x5MZbQSs.net
エンジンに頼るから大手でも似たようなゲームばかりになる
描画回りはいいとしても、当たり判定やオブジェクトの挙動まで
ライブラリ依存ってのはどうなんだ
例えば格ゲーでも上級者だとフレーム単位の挙動とか、
内部的にどういう判定をやってるかという話になる
でもエンジン使うとそういう根っこの部分が似たり寄ったりになる
いくら見た目が違っていても実際に遊んでみると
「これアレと同じじゃん」になってしまう
137:名前は開発中のものです。
16/04/27 11:37:33.55 qjzCq6pY.net
>>135
と言っても各社ごとにエンジン作るのも辛くなっている
138:名前は開発中のものです。
16/04/29 01:24:47.23 KY2fNxpS.net
マシンパワーばかり大きくなるもんな
139:名前は開発中のものです。
16/05/12 12:27:45.58 pnODWVPq.net
ふと思ったが渦巻きの動き出すのは難しい
140:名前は開発中のものです。
16/05/12 13:19:47.06 Gvl2XnOA.net
角度を0-360の間でループさせながら半径を減らしていけばおk
141:名前は開発中のものです。
16/05/12 13:39:46.24 Im8voKVD.net
142:渦巻き画像回転させるだけでしょ?
143:名前は開発中のものです。
16/05/13 14:37:34.43 SlO4cbdv.net
>>139
そうだね
半径をじょじょに圧縮で
144:名前は開発中のものです。
16/05/13 20:40:51.82 /zqJepKo.net
ボイラーの方程式
145:名前は開発中のものです。
16/05/14 11:05:23.46 31yJddOo.net
なんでお湯沸かすんだよ
146:名前は開発中のものです。
16/05/14 12:10:19.81 JjLQnHxu.net
オブジェクト座標 Px, Py
移動量 Vx, Vy
とすると、毎フレーム
Px += Vx
Py += Vy
その都度(Vx, Vy)に回転行列をかければ
Pの座標は円軌道になる・・・はず
回転行列のθを毎フレーム小さくしていけば
渦の中心座標を持っていなくても外向きの渦巻になる・・・かもしれない
(ただの思いつき)
147:名前は開発中のものです。
16/05/14 14:17:26.81 It6iCRoq.net
canvas要素の基本的な使い方まとめ
URLリンク(www.h2.dion.ne.jp)
このページ内を、「螺旋」で検索してみ。
8・座標軸変換の章に、渦巻きのコーディングが載っている
148:名前は開発中のものです。
16/06/03 12:43:51.66 bXPH0rp/.net
URLリンク(hooktail.sub.jp)
149:名前は開発中のものです。
16/06/03 12:46:48.44 bXPH0rp/.net
URLリンク(members.jcom.home.ne.jp)
150:名前は開発中のものです。
16/06/03 18:13:51.22 8m9EzKy0.net
微積分てマジに超難しいよな(´・ω・`;)
高校の時に一通りは教わったはずなんだが
今改めて勉強してみようと関連書籍を読んだがチンプンカンプンだ
もうゲーム抜きでいいから単純に子どもに微積分を教えるような本て無いか?
151:名前は開発中のものです。
16/06/03 19:48:59.06 4tgecC5z.net
>>148
微積分と言っても幅広いからなあ
152:名前は開発中のものです。
16/06/04 06:02:12.38 AWl/lgbO.net
「マンガでわかる微積分」みたいな本を買った事があるが
絵と関連させて分かり易いのは最初の10ページぐらいなんだよな
そこから急に数式の嵐になり、博士みたいな人のセリフだけがただ延々と続くようになる
全然マンガで無くなってしまうのはこの手の本によくある詐欺だよな
153:名前は開発中のものです。
16/06/04 13:46:27.34 EpsIydlx.net
>>148
やさしく学べる微分積分
石村 園子
固定リンク: URLリンク(www.amazon.co.jp)
自分はこれで勉強したけど、本当にやさしいかどうかは疑問に思っている
154:名前は開発中のものです。
16/06/04 14:44:46.19 el/qyZ9m.net
マセマの「すばらしく実力がつく!」シリーズ、比較的、分かり易くてマジお勧め
常微分方程式までやれば、ばね振り子の単振動モデルもマスターできる
155:名前は開発中のものです。
16/06/09 16:29:18.67 jkF0mgR5.net
y=2*x^2+4x+2
微分すると
y=4x+4とか
こんなことで接線が求まるのか、へーと思ってた
曲線に関わるときに必要なのかな
156:名前は開発中のものです。
16/06/09 20:11:09.36 QreYL2R8.net
>>153
お前が漫画やアニメのキャラなら
そのセリフを一通り表示した後に
周りの仲間たちが半笑いのジト汗になるという定番エピソードなんだがなw
157:名前は開発中のものです。
16/06/10 15:49:12.43 cYF7WDOo.net
つまらん高笑いだな
そんなに微分を深く理解しているなら
もっと気の利いた突っ込みしろよ
158:名前は開発中のものです。
16/06/10 17:46:39.19 4sI2VlEI.net
>>155が何か勘違いしてる件
159:名前は開発中のものです。
16/07/02 19:46:49.05 AOKMK2oi.net
test
160:名前は開発中のものです。
16/08/04 14:12:44.43 0v1+A7mD.net
数学スレ参考になる。ちょっと協力したい。よく使うのはこの3つ。
確率(ドロップアイテム、勝率調整に利用)
三角関数のcos、sin(2Dなら主に三角関数を覚えれば何とでもなる)
行列と数列(配列の演算で利用)
161:名前は開発中のものです。
16/08/04 14:27:35.22 Dm03VsH3.net
三角関数で一番使うのatan2な気がするw
162:名前は開発中のものです。
16/08/04 14:44:20.73 0v1+A7mD.net
atan2ってことは、キャラからマウス、敵からキャラ等の角度を求めるってことだよね。
確かに多い。実際使用している・・・ww
163:名前は開発中のものです。
16/08/17 20:45:01.58 42+zcCOM.net
遅いレスだが、3Dでも三角関数、得にatan2()は不可欠だよ
そして毎回のようにatan2(x,y)としてしまう
164:名前は開発中のものです。
16/08/21 11:52:15.17 ftAje09C.net
あるあるw
165:名前は開発中のものです。
16/08/21 17:03:19.68 RT7yk/5g.net
沢山使う人いるね
166:名前は開発中のものです。
16/08/22 19:31:09.93 ChGR6Syh.net
数学で習ったあの三角関数がゲーム制作に関係するのか?
疎い人間にはそれがどういう形で使われるのか予想すら出来ない
例えば具体的にどんな挙動に関係してくるのか、簡単に教えてもらえないかな?
決して自分も使えるようになりたいとかいう話でなくあくまで単なる興味なので
適当な例え話みたいなものでいいんだが
167:名前は開発中のものです。
16/08/22 23:12:54.08 hvxAPb8L.net
4方向しかできない量産型和製RPGなら別に三角関数知らなくても作れるけど、
FPS、シューティングゲームのように、マウスを使ってその先に銃弾を撃つとなると、
atan2の角度を求めるが必要。そして弾が飛んでいく処理で、XY座標にSINCOSを足す必要になる。
応用すると、人物のモデルから、UIまで使えるようにはなるよ。
168:名前は開発中のものです。
16/08/22 23:24:27.06 hvxAPb8L.net
アクションゲームでいう弓矢の放物線の落下イメージだともっと分かりやすいか
SIN180~360度の移動。あとは高さを決めて、毎フレームに180度からの角度のプラス値を加えて終了。
169:名前は開発中のものです。
16/08/23 06:38:27.75 zr05JX5o.net
なるほど、ちょっとだけ解ったような気がする
発射した弾道とか物体の落下とかそういう当たり前のように思える動きも
デジでは作者が一から全て指定しなければならない‥という辺りに
もしかしたら関係してるのかな?
170:名前は開発中のものです。
16/08/23 06:51:01.62 mbUZYZfS.net
まあ、リアルタイムを求められる近年のゲームでは三角関数は多用されているね。
ただ、学生の頃の数学にくらべて可視化しながらプログラミングできるから
とても難しいという訳ではないよ。プログラミングを求められる量は年々増えてるけど、
それはハードウェアの性能が上がるから仕方ないね。でも、慣れてきたらコピペで済む処理も多いよ。
171:名前は開発中のものです。
16/08/23 19:28:09.83 xkUFY9+c.net
>>166
・放物線はsin必要ない
・毎フレーム同じ角度を足すのは弧の挙動で、どう考えても数学的に放物線とは別物
>>168
・リアルタイムか否かと、三角関数が必要か、は何の関係もない
・リアルタイムゲームは昔からある
・三角関数は別に高速化のための手段ではない
172:名前は開発中のものです。
16/08/23 19:31:11.34 zeJrK8DK.net
「数学なんて分からなくても、コピペすればすぐできるぜ!」
~5分後
「わーん、どれをコピペすればいいか分からないよーう」
173:名前は開発中のものです。
16/08/23 21:08:40.60 mbUZYZfS.net
>>169
普通にSIN使うでしょ
リアルタイムに三角関数は関係あるでしょ
てか、高速化とは言ってないし
ゲーム製作で必要な数学のスレなのに、関係ない数学の話しするのやめてくれる?
数学板いってくれよまじで。
174:名前は開発中のものです。
16/08/23 23:47:29.48 WYJZlNDP.net
>>169のどこに「ゲーム制作と無関係の数学」の話が書いてるんだろう
てか君が書いてるのは、野球の1塁と3塁を間違えるレベルだよ
ゴネてごまかせる話じゃない
いったいなぜそんなウソを突き通す必要があるの?
2ちゃんなんだし、さっさと立ち去れば恥かかなくてすむじゃない
175:名前は開発中のものです。
16/08/24 10:36:19.00 AtHOyUTQ.net
今はそういうの一切合切物理エンジンとかライブラリで賄うからなあ
176:名前は開発中のものです。
16/08/24 13:39:12.34 T3amD7uQ.net
>>173
最初からそれが言いたかったんだろ?
だが>>166,168みたいに基本的な数学知識もないことには
>>170がオチですよ、と
177:名前は開発中のものです。
16/09/02 18:44:55.53 xzTHYG0a.net
正直オレも基本的な数学知識が全然無いな
でも出来ればそれをタダの馬鹿と切り捨てないで
もう少し実りのある"教えのres"が有ってもいいんじゃないか?
せっかく立ったこういうスレなんだから
バカにも解り易く何かを享受してみようという奴が顕れるのに期待する
178:名前は開発中のものです。
16/09/03 01:44:27.65 LICsDyTx.net
ただひたすら知ってることを全部書けというなら、みんなブログに書くと思う
誠実な質問なら答えるよ
179:名前は開発中のものです。
16/09/15 09:02:17.48 dggnGspC.net
>>175
馬鹿にも二種類いてな
他人のせいにする馬鹿と自分のせいにする馬鹿
180:名前は開発中のものです。
16/09/18 02:04:10.56 KnG7Uvmw.net
行列演算とか四元数とかネットに詳しいページがいくらでもあるから
やる気のある人ならそこを読めば分かる、というのはある
別に誰が悪いわけじゃないが、適当な質問がないことには
181:名前は開発中のものです。
17/12/31 20:05:16.01 /rN76OKL.net
簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
LH57R8CT11
182:名前は開発中のものです。
18/12/07 23:00:37.81 90zBjKtu.net
数学技術のすごいゲームって何?
183:名前は開発中のものです。
21/01/22 18:40:04.68 jW6f9XlE.net
弾幕シューティングゲームって、自機と自弾、敵機と敵弾それぞれ全部総当たりで判定するんでしょうか
184:名前は開発中のものです。
21/01/24 12:21:10.56 TyxA9jFm.net
やらないとすり抜けるぞ。
つまり、自機や自弾は敵にぶつかるが、敵弾は敵や自弾にはぶつからない(一般論)。
185:名前は開発中のものです。
21/01/24 15:38:02.35 kHpXqmSi.net
じゃあ計算量は単純に積になるんですね
シューティングゲームがゲームの入門に向くって言われている理由の一端が見えた気がします
186:名前は開発中のものです。
21/02/02 13:09:39.67 /gK/BSRL.net
弾幕シューは自機自弾敵機敵弾それぞれの総当たりなんてやらない
自機から遠い敵弾が当たる事なんてあり得ないし逆もそう
だから四分木ってアルゴリズムを使って衝突が発生し得ない弾を計算から除く
総当たりの計算量をO(k^2)からO(log n)まで減らせる
187:名前は開発中のものです。
21/06/28 16:59:10.98 zyj+fT3L.net
>弾幕シューは自機自弾敵機敵弾それぞれの総当たりなんてやらない
これって本当なの?
敵の弾は自機にしか当たらない、と仮定を置くと、
処理時間は O(n^2)でなくて O(n) だと思うんだけど。
ついでに、もし矩形同士の当たり判定だとすると、当たり判定の負荷自体も大きくないから、
ぶっちゃけ、100x100の総当たりで10,000回の当たり判定をしたって、大した負荷にはならないと思うのだが。
もちろん、「複雑な」当たり判定の場合に、事前に判定回数を減らすことについては異議はない。
188:名前は開発中のものです。
21/06/28 18:31:32.57 hyGKQZEf.net
O(n)をO(log n)にできるなら大きな差になり得るな
枚フレーム10000回と枚フレーム7回は全然違う
189:名前は開発中のものです。
21/06/28 20:52:42.15 zyj+fT3L.net
>O(n)をO(log n)にできるなら大きな差になり得るな
これは認めるが、
>毎フレーム10000回と毎フレーム7回は全然違う
ここは 10,000じゃなくて 100 を入れてくれw
190:名前は開発中のものです。
21/06/28 21:43:31.88 GLNT/xTA.net
100が7でも大きな差に見えるけど
191:名前は開発中のものです。
21/06/29 08:48:54.68 5rduNUaF.net
昨日は、上手く説明が書けなかったので反論しなかったが、整理できたぜ。朝風呂ってすげぇな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)になるはず。
これが、ツリーなんて作らないで総当たりでいいんじゃね?の根拠だ。
(ツリー構築コストのオーダーが間違ってたらすまん)
192:名前は開発中のものです。
21/06/29 08:51:54.02 5rduNUaF.net
つまり、
>毎フレーム10000回と毎フレーム7回は全然違う
この書き方に倣うなら、
総当たりが毎フレーム100回に対して、ツリーは毎フレーム350回+7回、ってこと
193:名前は開発中のものです。
21/07/27 16:16:55.84 xy40X6uH.net
反論が来ないので、自己反論でもするか。
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
194:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています