Home Manual Reference Source
import S3Camera from 's3js/src/basic/S3Camera.js'
public class | source

S3Camera

3DCGシーンのカメラ(視点)情報を管理するクラス 視点座標、注視点、視野角、描画範囲、各種行列演算などを保持・操作します。

Constructor Summary

Public Constructor
public

constructor(s3system: S3System)

カメラを作成します。

Member Summary

Public Members
public

注視点(カメラが見ている位置ベクトル)

public

視点(カメラの位置ベクトル)

public

描画範囲の最遠面(ファークリップ)

public

上下方向の視野角(度単位)

public

描画範囲の最近接面(ニアクリップ)

public

システムインスタンス

Method Summary

Public Methods
public

X軸回転角を相対的に加算します(度単位)。

public

Y軸回転角を相対的に加算します(度単位)。

public

このカメラのクローン(複製)を作成します。

public

カメラを破棄します(プロパティを初期化)。

public

現在の視線ベクトル(at→eye方向の単位ベクトル)を取得します。

public

カメラと注視点の距離を取得します。

public

カメラの垂直方向(X軸回転)の角度を取得します(度単位)。

public

カメラの水平方向(Y軸回転)の角度を取得します(度単位)。

public

getVPSMatrix(canvas: HTMLCanvasElement): S3VPSMatrix

カメラのビュー・プロジェクション・ビューポート行列(VPS)をまとめて取得します。 通常は描画や座標変換時の各種行列一式の取得に使います。

public

init()

カメラの状態を初期化します(初期パラメータにリセット)。

public

注視点(at)を設定します。

public

setDistance(distance: number)

注視点から一定距離の位置に視点を設定します。

public

setDrawRange(near: number, far: number)

描画範囲(ニア・ファー)を設定します。

public

視点(eye)を設定します。

public

setFovY(fovY: number)

上下方向の視野角を設定します(度単位)。

public

垂直方向(X軸回転)の角度を設定します(度単位)。

public

水平方向(Y軸回転)の角度を設定します(度単位)。

public

カメラのパラメータを文字列で出力します。

public

ワールド座標系で絶対移動します。

public

カメラのローカル座標系で相対移動します。

Public Constructors

public constructor(s3system: S3System) source

カメラを作成します。

Params:

NameTypeAttributeDescription
s3system S3System

S3Systemインスタンス

Public Members

public at: S3Vector source

注視点(カメラが見ている位置ベクトル)

public eye: S3Vector source

視点(カメラの位置ベクトル)

public far: number source

描画範囲の最遠面(ファークリップ)

public fovY: number source

上下方向の視野角(度単位)

public near: number source

描画範囲の最近接面(ニアクリップ)

public sys: S3System source

システムインスタンス

Public Methods

public addRotateX(deg: number) source

X軸回転角を相対的に加算します(度単位)。

Params:

NameTypeAttributeDescription
deg number

加算する角度(度)

public addRotateY(deg: number) source

Y軸回転角を相対的に加算します(度単位)。

Params:

NameTypeAttributeDescription
deg number

加算する角度(度)

public clone(): S3Camera source

このカメラのクローン(複製)を作成します。

Return:

S3Camera

複製されたS3Cameraインスタンス

public dispose() source

カメラを破棄します(プロパティを初期化)。

public getDirection(): S3Vector source

現在の視線ベクトル(at→eye方向の単位ベクトル)を取得します。

Return:

S3Vector

正規化済みの視線方向

public getDistance(): number source

カメラと注視点の距離を取得します。

Return:

number

距離

public getRotateX(): number source

カメラの垂直方向(X軸回転)の角度を取得します(度単位)。

Return:

number

X軸回転角(度)

public getRotateY(): number source

カメラの水平方向(Y軸回転)の角度を取得します(度単位)。

Return:

number

Y軸回転角(度)

public getVPSMatrix(canvas: HTMLCanvasElement): S3VPSMatrix source

カメラのビュー・プロジェクション・ビューポート行列(VPS)をまとめて取得します。 通常は描画や座標変換時の各種行列一式の取得に使います。

Params:

NameTypeAttributeDescription
canvas HTMLCanvasElement

描画先となるcanvas要素

Return:

S3VPSMatrix

public init() source

カメラの状態を初期化します(初期パラメータにリセット)。

public setCenter(at: S3Vector) source

注視点(at)を設定します。

Params:

NameTypeAttributeDescription
at S3Vector

新しい注視点ベクトル

public setDistance(distance: number) source

注視点から一定距離の位置に視点を設定します。

Params:

NameTypeAttributeDescription
distance number

距離

public setDrawRange(near: number, far: number) source

描画範囲(ニア・ファー)を設定します。

Params:

NameTypeAttributeDescription
near number

最近接面

far number

最遠面

public setEye(eye: S3Vector) source

視点(eye)を設定します。

Params:

NameTypeAttributeDescription
eye S3Vector

新しい視点ベクトル

public setFovY(fovY: number) source

上下方向の視野角を設定します(度単位)。

Params:

NameTypeAttributeDescription
fovY number

視野角

public setRotateX(deg: number) source

垂直方向(X軸回転)の角度を設定します(度単位)。

Params:

NameTypeAttributeDescription
deg number

X軸回転角(度)

public setRotateY(deg: number) source

水平方向(Y軸回転)の角度を設定します(度単位)。

Params:

NameTypeAttributeDescription
deg number

Y軸回転角(度)

public toString(): string source

カメラのパラメータを文字列で出力します。

Return:

string

視点・注視点・視野角の情報を含む文字列

public translateAbsolute(v: S3Vector) source

ワールド座標系で絶対移動します。

Params:

NameTypeAttributeDescription
v S3Vector

移動ベクトル

public translateRelative(v: S3Vector) source

カメラのローカル座標系で相対移動します。

Params:

NameTypeAttributeDescription
v S3Vector

移動ベクトル