##### Ninjaライブラリ - ビュー関数

# njCalcScreen

点の透視投影

### 書式

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

### 引数

  *p | 3Ｄ空間上の点座標
  *sx | 投影後のｘ座標
  *sy | 投影後のｙ座標

### 戻値

  OK | 投影結果が描画領域内にある
  NG | 投影結果が描画領域内に無い

### 解説

  指定した3Ｄ空間上の点をスクリーンに透視投影し、スクリーン座標を求めます。 結果を *sxと*syで示し、その座標がスクリーン内にあればOKを、なければNGを返します。

### 用例

      3Ｄ空間上の点(1000, 1000, 1000)をスクリーンに投影した後のスクリーン座標を求めます。
      NJS_POINT3 p;
      Float sx, sy;
      p.x = 1000.f;
      p.y = 1000.f;
      p.z = 1000.f;
      sbInitSystem( NJD_RESOLUTION_640x480_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
      njCalcScreen(&p, &sx, &sy);
      結果
      NG
      sx = 820.000000, sy = 740.000000

### 備考

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

### 参照

  sbInitSystem()
  njSetScreen()
  njSetAspect()
  njClipZ()

njCalcScreen

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998