Lumino (C API)
|
算術機能 More...
Functions | |
LNResult | LNVector2_Set (LNVector2 *vec, float x, float y) |
2次元のベクトルのクラスです。 More... | |
LNResult | LNVector2_GetLength (const LNVector2 *vec, float *outLength) |
2D ベクトルの長さを取得します。 More... | |
LNResult | LNVector2_GetSquareLength (const LNVector2 *vec, float *outLength) |
2D ベクトルの長さの2乗を取得します。 More... | |
LNResult | LNVector2_Normalize (const LNVector2 *vec, LNVector2 *outVec) |
2D ベクトルを正規化します。 More... | |
LNResult | LNVector2_NormalizeV (LNVector2 *vec) |
2D ベクトルを正規化します。 More... | |
LNResult | LNVector2_GetLengthD (const LNVector2 *vec, double *length) |
LNResult | LNVector2_GetSquareLengthD (const LNVector2 *vec, double *length) |
LNResult | LNVector3_Set (LNVector3 *vec, float x, float y, float z) |
3 次元ベクトルのクラスです。 More... | |
LNResult | LNVector3_SetVZ (LNVector3 *vec, const LNVector2 *vec2, float z) |
2D ベクトル と Z値 を指定して、3Dベクトルに値を設定します。 More... | |
LNResult | LNVector3_GetLength (const LNVector3 *vec, float *outLength) |
3Dベクトルの長さを取得します。 More... | |
LNResult | LNVector3_GetSquareLength (const LNVector3 *vec, float *outLength) |
3D ベクトルの長さの2乗を計算する More... | |
LNResult | LNVector3_Normalize (const LNVector3 *vec, LNVector3 *outVec) |
3D ベクトルを正規化します。 More... | |
LNResult | LNVector3_NormalizeV (LNVector3 *vec) |
3D ベクトルを正規化します。 More... | |
LNResult | LNVector3_Dot (const LNVector3 *vec1, const LNVector3 *vec2, float *dot) |
2 つの 3D ベクトルの内積を計算します。 More... | |
LNResult | LNVector3_Cross (const LNVector3 *vec1, const LNVector3 *vec2, LNVector3 *outVec) |
2 つの 3D ベクトルの外積を計算します。 More... | |
LNResult | LNVector3_Reflect (const LNVector3 *vec, const LNVector3 *normal, LNVector3 *outVec) |
指定された法線で反射させたベクトルを計算します。 More... | |
LNResult | LNVector3_Slide (const LNVector3 *vec, const LNVector3 *normal, LNVector3 *outVec) |
指定された法線と方向から滑りベクトルを計算します。 More... | |
LNResult | LNVector3_Lerp (const LNVector3 *vec1, const LNVector3 *vec2, float t, LNVector3 *outVec) |
2 つの 3D ベクトル間を線形補間します。 More... | |
LNResult | LNVector3_CatmullRom (const LNVector3 *vec1, const LNVector3 *vec2, const LNVector3 *vec3, const LNVector3 *vec4, float t, LNVector3 *outVec) |
指定された 3D ベクトルを Catmull-Rom 補間します。 More... | |
LNResult | LNVector3_Transform (const LNVector3 *vec, const LNMatrix *mat, LNVector4 *outVec) |
指定された行列を使用して座標変換します。 More... | |
LNResult | LNVector3_TransformCoord (const LNVector3 *vec, const LNMatrix *mat, LNVector3 *outVec) |
指定された行列を使用して座標変換し、結果を w = 1 に射影します。 More... | |
LNResult | LNVector3_GetLengthD (const LNVector3 *vec, double *length) |
LNResult | LNVector3_GetSquareLengthD (const LNVector3 *vec, double *length) |
LNResult | LNVector3_DotD (const LNVector3 *vec1, const LNVector3 *vec2, double *dot) |
LNResult | LNVector3_LerpD (const LNVector3 *vec1, const LNVector3 *vec2, double t, LNVector3 *outVec) |
LNResult | LNVector3_CatmullRomD (const LNVector3 *vec1, const LNVector3 *vec2, const LNVector3 *vec3, const LNVector3 *vec4, double t, LNVector3 *outVec) |
LNResult | LNVector4_Set (LNVector4 *vec, float x, float y, float z, float w) |
4 次元ベクトルのクラスです。 More... | |
LNResult | LNMatrix_Identity (LNMatrix *mat) |
4x4 行列のクラスです。 More... | |
LNResult | LNMatrix_Translate (LNMatrix *mat, float x, float y, float z) |
行列を平行移動します。 More... | |
LNResult | LNMatrix_TranslateVec3 (LNMatrix *mat, const LNVector3 *vec) |
行列を平行移動します。 More... | |
LNResult | LNMatrix_RotateX (LNMatrix *mat, float radian) |
X 軸を回転軸にして行列を回転します。 (ラジアン単位) More... | |
LNResult | LNMatrix_RotateY (LNMatrix *mat, float radian) |
Y 軸を回転軸にして行列を回転します。 (ラジアン単位) More... | |
LNResult | LNMatrix_RotateZ (LNMatrix *mat, float radian) |
Z 軸を回転軸にして行列を回転します。 (ラジアン単位) More... | |
LNResult | LNMatrix_Rotate (LNMatrix *mat, float xRad, float yRad, float zRad, LNRotationOrder rotOrder) |
行列を回転します。 (ラジアン単位) More... | |
LNResult | LNMatrix_RotateVec3 (LNMatrix *mat, const LNVector3 *vec, LNRotationOrder rotOrder) |
行列を回転します。 (ラジアン単位) More... | |
LNResult | LNMatrix_RotateAxis (LNMatrix *mat, const LNVector3 *axis, float radian) |
任意の軸を回転軸にして行列を回転します。 (ラジアン単位) More... | |
LNResult | LNMatrix_RotateQuaternion (LNMatrix *mat, const LNQuaternion *qua) |
クォータニオンを使って行列を回転します。 More... | |
LNResult | LNMatrix_Scale (LNMatrix *mat, float xyz) |
行列をスケーリングします。 More... | |
LNResult | LNMatrix_ScaleXYZ (LNMatrix *mat, float x, float y, float z) |
行列をスケーリングします。 More... | |
LNResult | LNMatrix_ScaleVec3 (LNMatrix *mat, const LNVector3 *scale) |
行列をスケーリングします。 More... | |
LNResult | LNMatrix_Multiply (const LNMatrix *mat1, const LNMatrix *mat2, LNMatrix *matOut) |
行列を乗算します。 More... | |
LNResult | LNMatrix_Inverse (const LNMatrix *mat, LNMatrix *matOut) |
逆行列を求めます。 More... | |
LNResult | LNMatrix_Transpose (const LNMatrix *mat, LNMatrix *matOut) |
転置行列を求めます。 More... | |
LNResult | LNMatrix_ViewTransformLH (const LNVector3 *pos, const LNVector3 *lookAt, const LNVector3 *upDir, LNMatrix *matOut) |
左手座標系ビュー行列を作成します。 More... | |
LNResult | LNMatrix_ViewTransformRH (const LNVector3 *pos, const LNVector3 *lookAt, const LNVector3 *upDir, LNMatrix *matOut) |
右手座標系ビュー行列を作成します。 More... | |
LNResult | LNMatrix_PerspectiveFovLH (float fovY, float aspect, float nearZ, float farZ, LNMatrix *matOut) |
左手座標系射影行列を作成します。 More... | |
LNResult | LNMatrix_PerspectiveFovRH (float fovY, float aspect, float nearZ, float farZ, LNMatrix *matOut) |
右手座標系射影行列作成します。 More... | |
LNResult | LNMatrix_OrthoLH (float width, float height, float nearZ, float farZ, LNMatrix *matOut) |
左手座標系正射影行列作成します。 More... | |
LNResult | LNMatrix_OrthoRH (float width, float height, float nearZ, float farZ, LNMatrix *matOut) |
右手座標系正射影行列作成します。 More... | |
LNResult | LNMatrix_GetRight (const LNMatrix *mat, LNVector3 *outVec) |
右方向を示す 3D ベクトルを取得します。 More... | |
LNResult | LNMatrix_GetUp (const LNMatrix *mat, LNVector3 *outVec) |
上方向を示す 3D ベクトルを取得します。 More... | |
LNResult | LNMatrix_GetFront (const LNMatrix *mat, LNVector3 *outVec) |
正面方向を示す 3D ベクトルを取得します。 More... | |
LNResult | LNMatrix_GetPosition (const LNMatrix *mat, LNVector3 *outVec) |
位置を示す 3D ベクトルを取得します。 More... | |
LNResult | LNMatrix_GetEulerAngles (const LNMatrix *mat, LNVector3 *outVec) |
回転行列からオイラー角を計算します。 More... | |
LNResult | LNMatrix_Decompose (const LNMatrix *mat, LNVector3 *scale, LNQuaternion *rot, LNVector3 *trans) |
行列をスケーリング、回転、移動成分に分解します。 More... | |
LNResult | LNMatrix_TranslateD (LNMatrix *mat, double x, double y, double z) |
LNResult | LNMatrix_RotateXD (LNMatrix *mat, double radian) |
LNResult | LNMatrix_RotateYD (LNMatrix *mat, double radian) |
LNResult | LNMatrix_RotateZD (LNMatrix *mat, double radian) |
LNResult | LNMatrix_RotateD (LNMatrix *mat, double xRad, double yRad, double zRad, LNRotationOrder rotOrder) |
LNResult | LNMatrix_RotateAxisD (LNMatrix *mat, const LNVector3 *axis, double radian) |
LNResult | LNMatrix_ScaleD (LNMatrix *mat, double xyz) |
LNResult | LNMatrix_ScaleXYZD (LNMatrix *mat, double x, double y, double z) |
LNResult | LNMatrix_PerspectiveFovLHD (LNMatrix *mat, double fovY, double aspect, double nearZ, double farZ) |
LNResult | LNMatrix_PerspectiveFovRHD (LNMatrix *mat, double fovY, double aspect, double nearZ, double farZ) |
LNResult | LNMatrix_OrthoLHD (LNMatrix *mat, double width, double height, double nearZ, double farZ) |
LNResult | LNMatrix_OrthoRHD (LNMatrix *mat, double width, double height, double nearZ, double farZ) |
LNResult | LNQuaternion_Set (LNQuaternion *qua, float x, float y, float z, float w) |
クォータニオンのクラスです。 More... | |
LNResult | LNQuaternion_Identity (LNQuaternion *qua) |
単位クォータニオンを作成します。 More... | |
LNResult | LNQuaternion_RotationAxis (const LNVector3 *axis, float r, LNQuaternion *outQua) |
任意の軸を回転軸にして回転するクォータニオンを作成します。 More... | |
LNResult | LNQuaternion_RotationMatrix (const LNMatrix *mat, LNQuaternion *outQua) |
回転行列からクォータニオンを作成します。 More... | |
LNResult | LNQuaternion_RotationYawPitchRoll (float yaw, float pitch, float roll, LNQuaternion *outQua) |
ヨー、ピッチ、およびロールを指定してクォータニオンを作成します。 More... | |
LNResult | LNQuaternion_Normalize (const LNQuaternion *qua, LNQuaternion *outQua) |
クォータニオンを正規化します。 More... | |
LNResult | LNQuaternion_Conjugate (const LNQuaternion *qua, LNQuaternion *outQua) |
クォータニオンの共役を計算します。 More... | |
LNResult | LNQuaternion_Multiply (const LNQuaternion *qua1, const LNQuaternion *qua2, LNQuaternion *outQua) |
2 つのクォータニオンの積を計算します。 More... | |
LNResult | LNQuaternion_Slerp (const LNQuaternion *qua1, const LNQuaternion *qua2, float t, LNQuaternion *outQua) |
2 つのクォータニオンを球面線形補間します。 More... | |
LNResult | LNQuaternion_RotationAxisD (const LNVector3 *axis, float r, LNQuaternion *outQua) |
LNResult | LNQuaternion_RotationYawPitchRollD (float yaw, float pitch, float roll, LNQuaternion *outQua) |
LNResult | LNQuaternion_SlerpD (const LNQuaternion *qua1, const LNQuaternion *qua2, float t, LNQuaternion *outQua) |
算術機能
LNResult LNMatrix_Decompose | ( | const LNMatrix * | mat, |
LNVector3 * | scale, | ||
LNQuaternion * | rot, | ||
LNVector3 * | trans | ||
) |
行列をスケーリング、回転、移動成分に分解します。
[in] | mat | : 処理の基になる行列 |
[out] | rot | : 各軸の回転情報を格納する Quaternion 変数 |
[out] | scale | : 各軸のスケーリング量を格納する Vector3 変数 |
[out] | trans | : 各軸の平行移動量を格納する Vector3 変数 |
回転行列からオイラー角を計算します。
[in] | mat | : 処理の基になる行列 |
[out] | outVec | : 各軸の回転角度(ラジアン)を格納する Vector3 変数 |
正面方向を示す 3D ベクトルを取得します。
[in] | mat | : 処理の基になる行列 |
[out] | outVec | : 結果を格納する Vector3 変数 |
位置を示す 3D ベクトルを取得します。
[in] | mat | : 処理の基になる行列 |
[out] | outVec | : 結果を格納する Vector3 変数 |
右方向を示す 3D ベクトルを取得します。
[in] | mat | : 処理の基になる行列 |
[out] | outVec | : 結果を格納する Vector3 変数 |
上方向を示す 3D ベクトルを取得します。
[in] | mat | : 処理の基になる行列 |
[out] | outVec | : 結果を格納する Vector3 変数 |
4x4 行列のクラスです。
単位行列を作成します。
[out] | mat | : 結果を格納する行列 |
逆行列を求めます。
[in] | mat | : 処理の基になる行列 |
[out] | matOut | : 演算結果を格納する行列 |
行列を乗算します。
[in] | mat1 | : 処理の基になる行列 |
[in] | mat2 | : 処理の基になる行列 |
[out] | matOut | : 結果を格納する行列 |
左手座標系正射影行列作成します。
[in] | width | : ビューの幅 |
[in] | height | : ビューの高さ |
[in] | nearZ | : 近くのビュー平面の Z 値 |
[in] | farZ | : 遠くのビュー平面の Z 値 |
[out] | matOut | : 演算結果を格納する行列 |
右手座標系正射影行列作成します。
[in] | width | : ビューの幅 |
[in] | height | : ビューの高さ |
[in] | nearZ | : 近くのビュー平面の Z 値 |
[in] | farZ | : 遠くのビュー平面の Z 値 |
[out] | matOut | : 演算結果を格納する行列 |
LNResult LNMatrix_PerspectiveFovLH | ( | float | fovY, |
float | aspect, | ||
float | nearZ, | ||
float | farZ, | ||
LNMatrix * | matOut | ||
) |
左手座標系射影行列を作成します。
[in] | fovY | : Y 方向への視野角 (ラジアン単位) |
[in] | aspect | : アスペクト比 |
[in] | nearZ | : 近くのビュー平面の Z 値 |
[in] | farZ | : 遠くのビュー平面の Z 値 |
[out] | matOut | : 演算結果を格納する行列 |
LNResult LNMatrix_PerspectiveFovRH | ( | float | fovY, |
float | aspect, | ||
float | nearZ, | ||
float | farZ, | ||
LNMatrix * | matOut | ||
) |
右手座標系射影行列作成します。
[in] | fovY | : Y 方向への視野角 (ラジアン単位) |
[in] | aspect | : アスペクト比 |
[in] | nearZ | : 近くのビュー平面の Z 値 |
[in] | farZ | : 遠くのビュー平面の Z 値 |
[out] | matOut | : 演算結果を格納する行列 |
LNResult LNMatrix_Rotate | ( | LNMatrix * | mat, |
float | xRad, | ||
float | yRad, | ||
float | zRad, | ||
LNRotationOrder | rotOrder | ||
) |
行列を回転します。 (ラジアン単位)
[in,out] | mat | : 演算結果を格納する行列 |
[in] | xRad | : X 軸を回転軸とした角度 |
[in] | yRad | : Y 軸を回転軸とした角度 |
[in] | zRad | : Z 軸を回転軸とした角度 |
[in] | rotOrder | : 回転順序の指定 |
与えられた引数から回転行列を作り、現在の行列に乗算します。
任意の軸を回転軸にして行列を回転します。 (ラジアン単位)
[in,out] | mat | : 演算結果を格納する行列 |
[in] | axis | : 回転軸を示す Vector3 |
[in] | radian | : 回転角度 |
与えられた引数から回転行列を作り、現在の行列に乗算します。
与えられた軸が正規化されていない場合は正規化したものを使って計算します。
LNResult LNMatrix_RotateQuaternion | ( | LNMatrix * | mat, |
const LNQuaternion * | qua | ||
) |
クォータニオンを使って行列を回転します。
[in,out] | mat | : 演算結果を格納する行列 |
[in] | qua | : 処理の基になる Quaternion |
クォータニオンから回転行列を作り、現在の行列に乗算します。
LNResult LNMatrix_RotateVec3 | ( | LNMatrix * | mat, |
const LNVector3 * | vec, | ||
LNRotationOrder | rotOrder | ||
) |
行列を回転します。 (ラジアン単位)
[in,out] | mat | : 演算結果を格納する行列 |
[in] | vec | : 各軸の回転角度 |
[in] | rotOrder | : 回転順序の指定 |
与えられた引数から回転行列を作り、現在の行列に乗算します。
X 軸を回転軸にして行列を回転します。 (ラジアン単位)
[in,out] | mat | : 演算結果を格納する行列 |
[in] | radian | : 回転角度 ( 軸方向に対して反時計回り ) |
与えられた引数から回転行列を作り、現在の行列に乗算します。
Y 軸を回転軸にして行列を回転します。 (ラジアン単位)
[in,out] | mat | : 演算結果を格納する行列 |
[in] | radian | : 回転角度 |
与えられた引数から回転行列を作り、現在の行列に乗算します。
Z 軸を回転軸にして行列を回転します。 (ラジアン単位)
[in,out] | mat | : 演算結果を格納する行列 |
[in] | radian | : 回転角度 |
与えられた引数から回転行列を作り、現在の行列に乗算します。
行列をスケーリングします。
[in,out] | mat | : 演算結果を格納する行列 |
[in] | xyz | : X Y Z 全ての方向に適用する拡大率 (X Y Z を同じ値で拡大) |
与えられた引数からスケーリング行列を作り、現在の行列に乗算します。
行列をスケーリングします。
[in,out] | mat | : 演算結果を格納する行列 |
[in] | scale | : 各方向の拡大率 |
与えられた引数からスケーリング行列を作り、現在の行列に乗算します。
行列をスケーリングします。
[in,out] | mat | : 演算結果を格納する行列 |
[in] | x | : X 方向の拡大率 |
[in] | y | : Y 方向の拡大率 |
[in] | z | : Z 方向の拡大率 |
与えられた引数からスケーリング行列を作り、現在の行列に乗算します。
行列を平行移動します。
[in,out] | mat | : 演算結果を格納する行列 |
[in] | x | : X 方向の移動量 |
[in] | y | : Y 方向の移動量 |
[in] | z | : Z 方向の移動量 |
与えられた引数から平行移動行列を作り、現在の行列に乗算します。
行列を平行移動します。
[in,out] | mat | : 演算結果を格納する行列 |
[in] | vec | : 移動量 |
与えられた引数から平行移動行列を作り、現在の行列に乗算します。
転置行列を求めます。
[in] | mat | : 処理の基になる行列 |
[out] | matOut | : 演算結果を格納する行列 |
LNResult LNMatrix_ViewTransformLH | ( | const LNVector3 * | pos, |
const LNVector3 * | lookAt, | ||
const LNVector3 * | upDir, | ||
LNMatrix * | matOut | ||
) |
左手座標系ビュー行列を作成します。
[in] | pos | : 視点の位置を示す Vector3 |
[in] | lookAt | : 注視点を示す Vector3 |
[in] | upDir | : 上方向を示す Vector3 |
[out] | matOut | : 演算結果を格納する行列 |
LNResult LNMatrix_ViewTransformRH | ( | const LNVector3 * | pos, |
const LNVector3 * | lookAt, | ||
const LNVector3 * | upDir, | ||
LNMatrix * | matOut | ||
) |
右手座標系ビュー行列を作成します。
[in] | pos | : 視点の位置を示す Vector3 |
[in] | lookAt | : 注視点を示す Vector3 |
[in] | upDir | : 上方向を示す Vector3 |
[out] | matOut | : 演算結果を格納する行列 |
LNResult LNQuaternion_Conjugate | ( | const LNQuaternion * | qua, |
LNQuaternion * | outQua | ||
) |
クォータニオンの共役を計算します。
[in] | qua | : 処理の基になるクォータニオン |
[out] | outQua | : 演算結果を格納する Quaternion 変数 |
LNResult LNQuaternion_Identity | ( | LNQuaternion * | qua | ) |
単位クォータニオンを作成します。
[out] | qua | : 結果を格納する Quaternion 変数 |
LNResult LNQuaternion_Multiply | ( | const LNQuaternion * | qua1, |
const LNQuaternion * | qua2, | ||
LNQuaternion * | outQua | ||
) |
2 つのクォータニオンの積を計算します。
[in] | qua1 | : 処理の基になるクォータニオン |
[in] | qua2 | : 処理の基になるクォータニオン |
[out] | outQua | : 演算結果を格納する Quaternion 変数 |
LNResult LNQuaternion_Normalize | ( | const LNQuaternion * | qua, |
LNQuaternion * | outQua | ||
) |
クォータニオンを正規化します。
[in] | qua | : 処理の基になるクォータニオン |
[out] | outQua | : 演算結果を格納する Quaternion 変数 |
LNResult LNQuaternion_RotationAxis | ( | const LNVector3 * | axis, |
float | r, | ||
LNQuaternion * | outQua | ||
) |
任意の軸を回転軸にして回転するクォータニオンを作成します。
[in] | axis | : 回転軸を示す Vector3 変数 |
[in] | r | : 回転角度 (ラジアン) |
[out] | outQua | : 演算結果を格納する Quaternion 変数 |
与えられた軸が正規化されていない場合は正規化された軸を使用します。
LNResult LNQuaternion_RotationMatrix | ( | const LNMatrix * | mat, |
LNQuaternion * | outQua | ||
) |
回転行列からクォータニオンを作成します。
[in] | mat | : 処理の基になる行列 |
[out] | outQua | : 演算結果を格納する Quaternion 変数 |
LNResult LNQuaternion_RotationYawPitchRoll | ( | float | yaw, |
float | pitch, | ||
float | roll, | ||
LNQuaternion * | outQua | ||
) |
ヨー、ピッチ、およびロールを指定してクォータニオンを作成します。
[in] | yaw | : y 軸を中心とするヨー (ラジアン単位) |
[in] | pitch | : x 軸を中心とするピッチ (ラジアン単位) |
[in] | roll | : z 軸を中心とするロール (ラジアン単位) |
[out] | outQua | : 演算結果を格納する Quaternion 変数 |
LNResult LNQuaternion_Set | ( | LNQuaternion * | qua, |
float | x, | ||
float | y, | ||
float | z, | ||
float | w | ||
) |
クォータニオンのクラスです。
クォータニオンに値を設定します。
[in] | qua | : 値を格納する Quaternion 変数のポインタ |
[in] | x | : X 値 |
[in] | y | : Y 値 |
[in] | z | : Z 値 |
[in] | w | : W 値 |
LNResult LNQuaternion_Slerp | ( | const LNQuaternion * | qua1, |
const LNQuaternion * | qua2, | ||
float | t, | ||
LNQuaternion * | outQua | ||
) |
2 つのクォータニオンを球面線形補間します。
[in] | qua1 | : 処理の基になるクォータニオン |
[in] | qua2 | : 処理の基になるクォータニオン |
[in] | t | : 補間値 |
[out] | outQua | : 演算結果を格納する Quaternion 変数 |
2D ベクトルの長さを取得します。
[in] | vec | : 処理の基になる 2D ベクトル |
[out] | outLength | : ベクトルの長さを格納する変数 |
2D ベクトルの長さの2乗を取得します。
[in] | vec | : 処理の基になる 2D ベクトル |
[out] | outLength | : ベクトルの長さの2乗を格納する変数 |
2D ベクトルを正規化します。
[in] | vec | : 処理の基になる 2D ベクトル |
[out] | outVec | : 演算結果を格納する 2D ベクトル |
2次元のベクトルのクラスです。
2D ベクトルに値を設定します。
[in] | vec | : 値を格納する 2D ベクトル変数のポインタ |
[in] | x | : X 値 |
[in] | y | : Y 値 |
LNResult LNVector3_CatmullRom | ( | const LNVector3 * | vec1, |
const LNVector3 * | vec2, | ||
const LNVector3 * | vec3, | ||
const LNVector3 * | vec4, | ||
float | t, | ||
LNVector3 * | outVec | ||
) |
指定された 3D ベクトルを Catmull-Rom 補間します。
[in] | vec1 | : 処理の基になる 3D ベクトル |
[in] | vec2 | : 処理の基になる 3D ベクトル ( t = 0.0 のときの値 ) |
[in] | vec3 | : 処理の基になる 3D ベクトル ( t = 1.0 のときの値 ) |
[in] | vec4 | : 処理の基になる 3D ベクトル |
[in] | t | : 補間値 ( 0.0 ~ 1.0 ) |
[out] | outVec | : 演算結果を格納する 3D ベクトル |
2 つの 3D ベクトルの外積を計算します。
[in] | vec1 | : 処理の基になる 3D ベクトル |
[in] | vec2 | : 処理の基になる 3D ベクトル |
[out] | outVec | : 演算結果を格納する 3D ベクトル |
2 つの 3D ベクトルの内積を計算します。
[in] | vec1 | : 処理の基になる 3D ベクトル |
[in] | vec2 | : 処理の基になる 3D ベクトル |
[out] | dot | : ベクトルの内積を格納する変数 |
3Dベクトルの長さを取得します。
[in] | vec | : 処理の基になるベクトル |
[out] | outLength | : ベクトルの長さを格納する変数 |
3D ベクトルの長さの2乗を計算する
[in] | vec | : 処理の基になる Vector3 |
[out] | outLength | : ベクトルの長さの2乗を格納する変数 |
LNResult LNVector3_Lerp | ( | const LNVector3 * | vec1, |
const LNVector3 * | vec2, | ||
float | t, | ||
LNVector3 * | outVec | ||
) |
2 つの 3D ベクトル間を線形補間します。
[in] | vec1 | : 処理の基になる 3D ベクトル ( t = 0.0 のときの値 ) |
[in] | vec2 | : 処理の基になる 3D ベクトル ( t = 1.0 のときの値 ) |
[in] | t | : 補間値 ( 0.0 ~ 1.0 ) |
[out] | outVec | : 演算結果を格納する 3D ベクトル |
3D ベクトルを正規化します。
[in] | vec | : 処理の基になる 3D ベクトル |
[out] | outVec | : 演算結果を格納する 3D ベクトル |
指定された法線で反射させたベクトルを計算します。
[in] | vec | : 処理の基になる 3D ベクトル |
[in] | normal | : 面方向を表す法線 3D ベクトル |
[out] | outVec | : 演算結果を格納する 3D ベクトル |
3 次元ベクトルのクラスです。
3Dベクトルに値を設定します。
[in] | vec | : 値を格納する 3D ベクトル変数のポインタ |
[in] | x | : X 値 |
[in] | y | : Y 値 |
[in] | z | : Z 値 |
2D ベクトル と Z値 を指定して、3Dベクトルに値を設定します。
[out] | vec | : 値を格納する 3Dベクトル 変数のポインタ |
[in] | vec2 | : 2D ベクトル |
[in] | z | : Z 値 |
指定された法線と方向から滑りベクトルを計算します。
[in] | vec | : 処理の基になる 3D ベクトル |
[in] | normal | : 面方向を表す法線 3D ベクトル |
[out] | outVec | : 演算結果を格納する 3D ベクトル |
指定された行列を使用して座標変換します。
[in] | vec | : 処理の基になる 3D ベクトル |
[in] | mat | : 処理の基になる 行列 |
[out] | outVec | : 演算結果を格納する 3D ベクトル |
ベクトルを ( x, y, z, 1 ) として座標変換します。 結果の w は出力されません。
結果を w = 1 に射影する (x y z を w で除算) 場合は Vector3TransformCoord() を使用してください。
LNResult LNVector3_TransformCoord | ( | const LNVector3 * | vec, |
const LNMatrix * | mat, | ||
LNVector3 * | outVec | ||
) |
指定された行列を使用して座標変換し、結果を w = 1 に射影します。
[in] | vec | : 処理の基になる 3D ベクトル |
[in] | mat | : 処理の基になる 行列 |
[out] | outVec | : 演算結果を格納する 3D ベクトル |
ベクトルを ( x, y, z, 1 ) として座標変換し、 結果を w = 1 に射影 (x y z を w で除算) します。