##### Ninja Library - スクリーン関数

# njCalcScreen

3D空間上の点の透視投影変換

### 書式

> `int njCalcScreen( p, sx, sy )
> NJS_POINT3 *p
> Float *sx
> Float *sy
> `

### 引数

> p | 3D空間上の点のカメラ座標表現
> sx | 投影後のx座標
> sy | 投影後のy座標

### 戻り値

> TRUE | 投影結果が描画領域内にある
> FALSE | 投影結果が描画領域内に無い

### 解説

> 指定した3D空間上の点をスクリーンに透視投影し、スクリーン座標を求めます。

> 3D 空間上の点は、カメラ座標表現で指定します。

> 結果を*sxと*syで示し、その座標がスクリーン内にあればTRUE、無ければFALSEが戻ります。

> なお、スクリーン座標（2D 座標）は、ハードウェア座標のX,Y 成分に一致します。

### 用例

>     ３次元空間上のカメラ座標が(1000, 1000, 1000)の点をスクリーンに
>     投影した後のスクリーン座標を求めます。
>     NJS_POINT3 p;
>     Float sx, sy;
>     p.x = 1000.f;
>     p.y = 1000.f;
>     p.z = 1000.f;

>     njCalcScreen(&p, &sx, &sy);
>     /* Result */
>     NG
>     sx : 820.000000, sy : 740.000000

### 備考

> この関数による計算結果にはスクリーン、アスペクト比、ニアクリッピング、ファークリッピング、および描画領域の設定が反映されます。

### 参照

> njInitSystem() | グラフィックシステムの初期化
> njSetScreen() | スクリーンの設定
> njSetAspect() | スクリーンの縦横比の設定
> njClipZ() | ニアクリップ／ファークリップの範囲指定

njCalcScreen

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000