GETSPOSによるZ値の変換
World_ZScreen_Z近似値INT(近似値)
21677700016777000.9816777000
1033549923354992.183354992
100335040335040.20335040
200167265167265.09167265
300111340111340.06111340
4008337783377.5483377
5006660066600.0366600
6005541555415.0255415
7004742547425.7347425
8004143341433.7641433
9003677336773.3436773
10003304533045.0133045
20001626716267.4916267
30001067410674.9910674
400078787878.747878
500062006200.996200
600050825082.495082
700042834283.564283
800036843684.363684
900032183218.323218
1000028452845.492845
2000011671167.731167
30000608608.48608
40000328328.86328
50000161161.08161
600004949.2349
6553611.991
6566311.002021
6566400.994230

実測値と近似値のグラフ
World_Z→Screen_Z変換近似式

・World_Z:ワールド座標系におけるカメラ視線上の直線距離
・Screen_Z:GETSPOSによって得られるZ値
カメラ1の位置を(0,0,0)、回転角を(0,0,0)とした場合、
GETSPOS Screen_X, Screen_Y, Screen_Z, 1, 0, 0, World_Z
という関係になります。
上記の変換式はWorld_Zが2以上の場合に適用されます。
2未満の場合は、若干の誤差はありますが、「16777200(最大値)」としてしまって、実用上ほとんど問題ないかと思われます。
また、World_Z = 2〜65664の各整数値において、11個の値について±1の誤差が生じます。

戻る