1人でゲームが作れるように修行します。2 (487レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
122: SGGK ◆6pZCoAtaxk [sage] 2010/11/04(木) 22:06:09 ID:vVAyUmeW(1) AAS
>>121>118118(1): SGGK ◆6pZCoAtaxk [sage] 2010/10/30(土) 23:45:10 ID:DMcbgP8e(1) AAS
ま…まだ無理な感じ。何週間じゃなくて何カ月と書いておけばよかった…。
やっぱりある程度の知識が無いと理解が進まないような気がしてきた。
ある程度知識を持ってる前提でちょっとわからない用語を調べるのにはネットは役立つけど、
今の自分は3Dに関しほとんどが知らない用語ばかりで思考が進まないので勉強が足りないと感じた、
遠回りだろうけど、本屋に行きそこに置いてあった中から1冊選んで来た。
「実例で学ぶ3D数学」←生き物を表紙に多用しているオライリーシリーズのひとつで、前スレでもこの本を紹介してくれていた人がいた。
今は第7章で108ページまで読んだけど、自分には難しい内容。
式の証明があまり無い様で、わからない箇所については「そういうものなんだ」ということにして先に読み進めているところ。
9章(〜194ページ)まで読み終わったら、もう一度上記について考える予定。
の本の学習がなかなか進まなかったため、ご無沙汰してしまいました。(汗;
ときどき停止するかもしれませんが頑張ります。
本の方は8章(〜144ページ)で一区切り。とりあえず8章まで読めればなんとかなりそうなので9章までの予定は中止。
14章も一部分だけ読んでみた。残りは必要なときが来たら挑戦するつもり。
>>116116(8): 名前は開発中のものです。 [sage] 2010/10/10(日) 07:27:55 ID:iMXoTcjW(1) AAS
一般的な方法としては、
・E=視点座標、つまりカメラの位置をあらわす位置ベクトル
・L=投影面における視点からマウスカーソルまでの半直線ベクトル
から、仮想空間内の任意の物体との交差判定、交差位置特定がきる。
Eは、普通、プログラム上で管理されている。
Lは、FOV(視野錘台)を自分で管理されているなら容易に計算できるが、
投影変換行列の逆行列を使っても計算できると思う(そういう便利な関数があるかもしれない)。
L = Mproj.inv x (mouseX,mouseY,1)T
Mprij.inv = 投影変換行列の逆行列
(mouseX,mouseY,1) = マウスの座標(正規化装置座標系、同次座標表現)
特に、フィールドのような単一平面との交点計算は、
・O=原点(フィールド面上にあること)
・N=フィールドの法線ベクトル(正規化ベクトル)
に対して、Eがフィールドの表面にあると限定した場合、
LとNの内積が0以上の場合、交差しない(マウスカーソルは天空を指している)
さもなければ、
・h= フィールド面からEまでの高さ((E-O)とNの内積)
から、
・t= -h/(LとNの内積)
を求めれば、目的とするフィールド上の点Fは、
・F= E+L*t
のような手順で計算できるはず。
あとは、(F-O)をフィールドの座標軸(X-O)(Y-O)で分解すれば、2次元座標に戻せる。
うろ覚えで書いているので細かい間違いがあるかも知れないが(違ってたら乞指摘)、
ゆっくりでいいんで、参考にしてもらえれば嬉しい。
頑張れ!
氏のをもう一度読んでみたところあともう少しでわかりそうな気がしてきたので、
あとはネット検索で投影変換行列を調べてみる予定。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s