座標変換

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 座標変換

by キ選 » 2006年11月30日(木) 23:37

返信送れてすみません。
どうもありがとうございます。少し触ってみたいと思います。
また、自分なりに調べながらいろいろやっているのですが、そっちの方も何とかなりそうな臭いがしてきました。
本当にどうもありがとうございます。

by konisi » 2006年11月29日(水) 22:17

随分前に作ったもので、使い方はよく覚えてませんが・・・

コード: 全て選択

Const PX=350
Const PY=250
Function AX(X AS Double,Y AS Double,C AS Double,D AS Double) AS Double
	AX=Cos(C)*X+Cos(D)*Y+PX
End Function

Function AY(X AS Double,Y AS Double,Z AS Double,C AS Double,D AS Double,E AS Double) AS Double
	AY=((Sin(C)*(-X)+Sin(D)*Y))*Sin(E)+Z*Sin(_System_PI/2-E)+PY
End Function

Function As2D(X AS Double,Y AS Double,Z AS Double,C AS Double,D AS Double,E AS Double,ByRef pnt AS POINTAPI)
    pnt.x=AX(X,Y,C,D)
    pnt.y=AY(X,Y,Z,C,D,E)
End Function
確か、X,Y,Zが3D座標、C,D,Eが3D系をどの位置(角度)から見るか だったと思います。
勘で使ってください。すみません。

それと、遠近法を考慮せずに作ってあるのでそこらへん注意してください。

座標変換

by キ選 » 2006年11月29日(水) 20:38

AB4 + ABDXで3Dゲームを作成中なのですが、行き詰まっています。
3D(ワールド)座標から2D(スクリーン)座標への座標変換の方法がわからずこまっています。

たとえば、画面に3Dのキャラクタが映っていて、そのキャラクタの頭上にキャラクタの名前を表示したい時などの、名前を表示する座標の算出方法がわかりません。

いろいろ調べたのですが、ABでのDirectXプログラムのサンプル、解説などしているサイトが少なく、あまり参考になりませんでした。

ワールド座標からスクリーン座標への座標変換を行う関数などありませんでしょうか?

ページトップ