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

S3Vector

3DCG用のベクトルクラス(immutable)

Static Method Summary

Static Public Methods
public static

3点を通る平面の法線、接線、従法線を計算します。 A, B, C の3点を通る平面の法線と、UV座標による接線、従法線を求めます。 A, B, C の3点の時計回りが表だとした場合、表方向へ延びる法線となります。

public static

3点が時計回りか判定します。

Constructor Summary

Public Constructor
public

ベクトルを作成します。

Member Summary

Public Members
public

w成分(遠近除算用)

public

x成分

public

y成分

public

z成分

Method Summary

Public Methods
public

ベクトル同士の加算を行います。

public

自身のクローンを作成します。

public

2つのベクトルの外積を計算します。

public

2つのベクトルの内積を計算します。

public

各成分が等しいか判定します。

public

tgtへの方向ベクトルを取得します。

public

tgtへの正規化された方向ベクトルを取得します。

public

tgtとの距離を返します。

public

有限かどうか判定します。

public

非数かどうか判定します。

public

実数かどうか判定します。

public

各成分の最大値を持つ新しいベクトルを返します。

public

各成分の最小値を持つ新しいベクトルを返します。

public

mix(tgt: S3Vector, alpha: number): S3Vector

2つのベクトル間を線形補間します。

public

ベクトルの各成分にスカラー、ベクトル、または行列を掛けます。

public

各成分を反転したベクトルを返します。

public

ノルム(二乗和の平方根、長さ)を計算します。

public

ノルムの2乗値(高速、平方根なし)を返します。

public

正規化した新しいベクトルを返します。

public

pushed(array: Array<number>, num: number)

配列に成分をプッシュします。

public

w成分のみ変更した新しいベクトルを返します。

public

x成分のみ変更した新しいベクトルを返します。

public

y成分のみ変更した新しいベクトルを返します。

public

z成分のみ変更した新しいベクトルを返します。

public

ベクトル同士の減算を行います。

public

ベクトルのハッシュ値を返します。

public

toInstanceArray(Instance: {new(array: number[])}, dimension: number): *

他の型のインスタンスに変換します(配列化)。

public

ベクトルを文字列化します。

Static Public Methods

public static getNormalVector(posA: S3Vector, posB: S3Vector, posC: S3Vector, uvA: S3Vector, uvB: S3Vector, uvC: S3Vector): S3NormalVector source

3点を通る平面の法線、接線、従法線を計算します。 A, B, C の3点を通る平面の法線と、UV座標による接線、従法線を求めます。 A, B, C の3点の時計回りが表だとした場合、表方向へ延びる法線となります。

Params:

NameTypeAttributeDescription
posA S3Vector

点A

posB S3Vector

点B

posC S3Vector

点C

uvA S3Vector
  • optional

UV座標A

uvB S3Vector
  • optional

UV座標B

uvC S3Vector
  • optional

UV座標C

Return:

S3NormalVector

public static isClockwise(A: S3Vector, B: S3Vector, C: S3Vector): boolean | null source

3点が時計回りか判定します。

Params:

NameTypeAttributeDescription
A S3Vector
B S3Vector
C S3Vector

Return:

boolean | null

時計回り:true、反時計回り:false、判定不可:null

Public Constructors

public constructor(x: number, y: number, z: number, w: number) source

ベクトルを作成します。

Params:

NameTypeAttributeDescription
x number

x成分

y number

y成分

z number
  • optional
  • default: 0.0

z成分

w number
  • optional
  • default: 1.0

w成分(遠近除算用)

Public Members

public w: number source

w成分(遠近除算用)

public x: number source

x成分

public y: number source

y成分

public z: number source

z成分

Public Methods

public add(tgt: S3Vector): S3Vector source

ベクトル同士の加算を行います。

Params:

NameTypeAttributeDescription
tgt S3Vector

Return:

S3Vector

加算結果

public clone(): S3Vector source

自身のクローンを作成します。

Return:

S3Vector

複製されたベクトル

public cross(tgt: S3Vector): S3Vector source

2つのベクトルの外積を計算します。

Params:

NameTypeAttributeDescription
tgt S3Vector

Return:

S3Vector

外積ベクトル

public dot(tgt: S3Vector): number source

2つのベクトルの内積を計算します。

Params:

NameTypeAttributeDescription
tgt S3Vector

Return:

number

内積値

public equals(tgt: S3Vector): boolean source

各成分が等しいか判定します。

Params:

NameTypeAttributeDescription
tgt S3Vector

Return:

boolean

全ての成分が等しい場合true

public getDirection(tgt: S3Vector): S3Vector source

tgtへの方向ベクトルを取得します。

Params:

NameTypeAttributeDescription
tgt S3Vector

Return:

S3Vector

tgt-自身のベクトル

public getDirectionNormalized(tgt: S3Vector): S3Vector source

tgtへの正規化された方向ベクトルを取得します。

Params:

NameTypeAttributeDescription
tgt S3Vector

Return:

S3Vector

public getDistance(tgt: S3Vector): number source

tgtとの距離を返します。

Params:

NameTypeAttributeDescription
tgt S3Vector

Return:

number

public isFinite(): boolean source

有限かどうか判定します。

Return:

boolean

public isNaN(): boolean source

非数かどうか判定します。

Return:

boolean

public isRealNumber(): boolean source

実数かどうか判定します。

Return:

boolean

public max(tgt: S3Vector): S3Vector source

各成分の最大値を持つ新しいベクトルを返します。

Params:

NameTypeAttributeDescription
tgt S3Vector

Return:

S3Vector

public min(tgt: S3Vector): S3Vector source

各成分の最小値を持つ新しいベクトルを返します。

Params:

NameTypeAttributeDescription
tgt S3Vector

Return:

S3Vector

public mix(tgt: S3Vector, alpha: number): S3Vector source

2つのベクトル間を線形補間します。

Params:

NameTypeAttributeDescription
tgt S3Vector
alpha number

補間係数(0~1)

Return:

S3Vector

public mul(tgt: number | S3Vector | S3Matrix): S3Vector source

ベクトルの各成分にスカラー、ベクトル、または行列を掛けます。

Params:

NameTypeAttributeDescription
tgt number | S3Vector | S3Matrix

Return:

S3Vector

public negate(): S3Vector source

各成分を反転したベクトルを返します。

Return:

S3Vector

public norm(): number source

ノルム(二乗和の平方根、長さ)を計算します。

Return:

number

ベクトルの長さ

public normFast(): number source

ノルムの2乗値(高速、平方根なし)を返します。

Return:

number

長さの二乗

public normalize(): S3Vector source

正規化した新しいベクトルを返します。

Return:

S3Vector

public pushed(array: Array<number>, num: number) source

配列に成分をプッシュします。

Params:

NameTypeAttributeDescription
array Array<number>
num number

成分数

public setW(w: number): S3Vector source

w成分のみ変更した新しいベクトルを返します。

Params:

NameTypeAttributeDescription
w number

Return:

S3Vector

public setX(x: number): S3Vector source

x成分のみ変更した新しいベクトルを返します。

Params:

NameTypeAttributeDescription
x number

Return:

S3Vector

public setY(y: number): S3Vector source

y成分のみ変更した新しいベクトルを返します。

Params:

NameTypeAttributeDescription
y number

Return:

S3Vector

public setZ(z: number): S3Vector source

z成分のみ変更した新しいベクトルを返します。

Params:

NameTypeAttributeDescription
z number

Return:

S3Vector

public sub(tgt: S3Vector): S3Vector source

ベクトル同士の減算を行います。

Params:

NameTypeAttributeDescription
tgt S3Vector

Return:

S3Vector

減算結果

public toHash(num: number): number source

ベクトルのハッシュ値を返します。

Params:

NameTypeAttributeDescription
num number
  • optional

成分数指定(省略時は1成分)

Return:

number

public toInstanceArray(Instance: {new(array: number[])}, dimension: number): * source

他の型のインスタンスに変換します(配列化)。

Params:

NameTypeAttributeDescription
Instance {new(array: number[])}

配列型のコンストラクタ

dimension number

配列長

Return:

*

変換結果

public toString(num: number): string source

ベクトルを文字列化します。

Params:

NameTypeAttributeDescription
num number
  • optional

成分数指定(省略時は4成分)

Return:

string