[過去ログ] ゲームプログラミング相談室【Part5】 (970レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
12
(7): 02/11/08 13:56 ID:mLnGgDjl(1) AAS
わたしも 3D座標をスクリーン座標に変換する方法が知りたいです。

 座標xyzをwで割るらしいのですが、xyzwの求め方がわかりません。
 xyzはただの3D座標なのでしょうか? それとも何かの行列を
 掛けたりしているのでしょうか?
 wはどこからでてくるのでしょうか?

 すみませんが 教えていただけませんか?
 
15
(2): 02/11/08 21:41 ID:??? AAS
>>12
オブジェクトのローカル座標に、ローカル・ワールド変換行列、ワールド・ビュー
変換行列、ビュー・スクリーン変換行列(a.k.a 射影行列) と順にかけて、出てき
た座標を w で割れば良い。

行列だけど、DirectX 使ってるなら SetTransform() に

D3DTS_WORLD
D3DTS_VIEW
省5
20
(1): 12 02/11/09 01:55 ID:s6gdDMqC(1/5) AAS
>>15
ビュー行列 と 射影行列を掛けたものと、 3D座標を 掛けたの
ですが、でた xyzwで 
x/w
y/w
z/w
をやってみたのですよ。 
省4
22: 12 02/11/09 02:14 ID:s6gdDMqC(2/5) AAS
>>21
すばやいレスありがとうございます。

2点をラインで描画しました。

ビュー行列 matView
射影行列  matProj
調べたい座標 Vec
計算後の値 v4
省14
24: 12 02/11/09 03:44 ID:s6gdDMqC(3/5) AAS
>>23
すみません。 たしかに、 640,480のウインドウを値(1.0,1.0)に
する必要がありますが、 このビューポートを実際どのように
使えばいいのか。
25: 12 02/11/09 05:27 ID:s6gdDMqC(4/5) AAS
>>23
 もとめられた値に windowのサイズの半分を掛けて
 あげればよいのでしょうか?

640,480のウインドウなら320,240をそれぞれ掛けてあげる
 x = x*320;
y = y*240;
 それですと 一応それらしき値はでます。
30: 12 02/11/09 17:41 ID:s6gdDMqC(5/5) AAS
>>26
>>ちゅーしんをあーわーせーろー。
 中心ですか
 どうやってあわせるのだろう・・・・・
 視点と注視点から 角度を求めて それを 頂点に掛けて
 あげるのでしょうか・・・
 うーんでも、ビュー行列を掛けたときにすでに入っているような気も
省2
35: 12 02/11/10 03:52 ID:CLex+uUH(1) AAS
>>33

 私も とりあえず、足せば良いのかなと思いやってみたのですが
 うまくいきませんでした。

>あーとーはーじぶーんでなーんとかしれー
 いろいろご指導ありがとうございました。
 
 いろいろ試して見たいと思います。
省1
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s