Vector3
3次元ベクトルを3次元の2次元の2次元の2次元の浮動小数点数で表現します。
実装: IEquatable<Vector3>
コンストラクター
public Vector3(double x, double y, double z)
vector3 = Vector3(x, y, z)
新しいVector3を構成します。
- x
- ベクトル3のxコンポーネント。
- y
- y コンポーネントの Vector3 。
- z
- ベクトル3のzコンポーネント。
public Vector3(Vector2 v, double z)
vector3 = Vector3(v, z)
与えられたVector2d から新しいインスタンスを構成します。
- v
- コンポーネントをコピーするVector2d。
- z
public Vector3(Vector3 v)
vector3 = Vector3(v)
与えられたVector3d から新しいインスタンスを構成します。
- v
- コンポーネントをコピーするVector3d。
public Vector3(Vector4 v)
vector3 = Vector3(v)
与えられたVector4d から新しいインスタンスを構成します。
- v
- コンポーネントをコピーするVector4d。
プロパティ
public double LengthSquared { get; }
value = vector3.LengthSquared
ベクトルの長さ(大きさ)の正方形を取得します。
public Vector2 Xy { get; set; }
value = vector3.Xy
vector3.Xy = value
このインスタンスのXとYコンポーネントでOpenTK.Vector2dを受け取り、または設定します。
メソッド
public static void Add(Vector3 a, Vector3 b, Vector3 result)
Vector3.Add(a, b, result)
2つのベクトルを追加します。
- a
- 左のオペランド。
- b
- 右オペランド。
- result
- 業務実績
public static Vector3 Add(Vector3 a, Vector3 b)
result = Vector3.Add(a, b)
2つのベクトルを追加します。
- a
- 左のオペランド。
- b
- 右オペランド。
戻り値: 業務実績
public static void BaryCentric(Vector3 a, Vector3 b, Vector3 c, double u, double v, Vector3 result)
Vector3.BaryCentric(a, b, c, u, v, result)
バリセントリック座標を用いた3ベクトルをインターポレート
- a
- 第一入力ベクトル。
- b
- 第二入力ベクトル。
- c
- 第三入力ベクトル。
- u
- 第一線のバリセントリック座標。
- v
- 第二のバリセントリック座標。
- result
- 出力ベクトル。 u=v=0、b が u=1、v=0、c が u=0、v=1 のとき、 線形の組み合わせ、b、c がなければ
public static Vector3 BaryCentric(Vector3 a, Vector3 b, Vector3 c, double u, double v)
result = Vector3.BaryCentric(a, b, c, u, v)
バリセントリック座標を用いた3ベクトルをインターポレート
- a
- 最初の入力ベクトル
- b
- 第二入力ベクトル
- c
- 第三入力ベクトル
- u
- 第一線 バリセントリック座標
- v
- 第二のバリセントリック座標
戻り値: u=v=0 時 b u=1,v=0,c 時 u=0,v=1,a,b,c の線形組み合わせ
public static void CalculateAngle(Vector3 first, Vector3 second, double result)
Vector3.CalculateAngle(first, second, result)
2つのベクトル間の角度(半径)を計算します。
- first
- 最初のベクトル。
- second
- 2番目のベクトル。
- result
- ベクトル間の角度(ラジアン)。
public static double CalculateAngle(Vector3 first, Vector3 second)
result = Vector3.CalculateAngle(first, second)
2つのベクトル間の角度(半径)を計算します。
- first
- 最初のベクトル。
- second
- 2番目のベクトル。
戻り値: ベクトル間の角度(ラジアン)。
public static void Clamp(Vector3 vec, Vector3 min, Vector3 max, Vector3 result)
Vector3.Clamp(vec, min, max, result)
ベクトルを指定した最小限かつ最大ベクトルに固定する
- vec
- 入力ベクトル
- min
- 最小ベクトル
- max
- 最大ベクトル
- result
- クランプされたベクトル
public static Vector3 Clamp(Vector3 vec, Vector3 min, Vector3 max)
result = Vector3.Clamp(vec, min, max)
ベクトルを指定した最小限かつ最大ベクトルに固定する
- vec
- 入力ベクトル
- min
- 最小ベクトル
- max
- 最大ベクトル
戻り値: クランプされたベクトル
public static Vector3 ComponentMax(Vector3 a, Vector3 b)
result = Vector3.ComponentMax(a, b)
コンポーネントを2つのベクトルの最大の計算
- a
- ファースト・オペランド
- b
- 第2オペランド
戻り値: コンポーネント単位で最大
public static void ComponentMax(Vector3 a, Vector3 b, Vector3 result)
Vector3.ComponentMax(a, b, result)
コンポーネントを2つのベクトルの最大の計算
- a
- ファースト・オペランド
- b
- 第2オペランド
- result
- コンポーネント単位で最大
public static Vector3 ComponentMin(Vector3 a, Vector3 b)
result = Vector3.ComponentMin(a, b)
コンポーネント単位の最小値の2つのベクトルを計算する
- a
- ファースト・オペランド
- b
- 第2オペランド
戻り値: コンポーネント単位の最小値
public static void ComponentMin(Vector3 a, Vector3 b, Vector3 result)
Vector3.ComponentMin(a, b, result)
コンポーネント単位の最小値の2つのベクトルを計算する
- a
- ファースト・オペランド
- b
- 第2オペランド
- result
- コンポーネント単位の最小値
public static void Cross(Vector3 left, Vector3 right, Vector3 result)
Vector3.Cross(left, right, result)
2つのベクトルの十字(ベクトル)プロダクトを計算して下さい
- left
- ファースト・オペランド
- right
- 第2オペランド
- result
- 2つの入力の交差プロダクト
戻り値: 2つの入力の交差プロダクト
public static Vector3 Cross(Vector3 left, Vector3 right)
result = Vector3.Cross(left, right)
2つのベクトルの十字(ベクトル)プロダクトを計算して下さい
- left
- ファースト・オペランド
- right
- 第2オペランド
戻り値: 2つの入力の交差プロダクト
public static Vector3 Divide(Vector3 vector, Vector3 scale)
result = Vector3.Divide(vector, scale)
ベクトル(スケール)のコンポーネントによってベクトルを分割します。
- vector
- 左のオペランド。
- scale
- 右オペランド。
戻り値: 運転結果
public static void Divide(Vector3 vector, double scale, Vector3 result)
Vector3.Divide(vector, scale, result)
スカラーでベクトルを分割します。
- vector
- 左のオペランド。
- scale
- 右オペランド。
- result
- 運転結果
public static Vector3 Divide(Vector3 vector, double scale)
result = Vector3.Divide(vector, scale)
スカラーでベクトルを分割します。
- vector
- 左のオペランド。
- scale
- 右オペランド。
戻り値: 運転結果
public static void Divide(Vector3 vector, Vector3 scale, Vector3 result)
Vector3.Divide(vector, scale, result)
ベクトル(スケール)のコンポーネントによってベクトルを分割します。
- vector
- 左のオペランド。
- scale
- 右オペランド。
- result
- 運転結果
public static void Dot(Vector3 left, Vector3 right, double result)
Vector3.Dot(left, right, result)
2つのベクトルのドット(スカラー)製品を計算する
- left
- ファースト・オペランド
- right
- 第2オペランド
- result
- 2つの入力の点プロダクト
public static double Dot(Vector3 left, Vector3 right)
result = Vector3.Dot(left, right)
2つのベクトルのドット(スカラー)製品を計算する
- left
- ファースト・オペランド
- right
- 第2オペランド
戻り値: 2つの入力の点プロダクト
public bool Equals(Vector3 OtherVector, double ErrorValue)
result = vector3.Equals(OtherVector, ErrorValue)
このインスタンスと指定されたオブジェクトがエラー範囲内で等しいかどうかを示します。
- OtherVector
- ErrorValue
戻り値: インスタンスが等しい場合、true です。そうしないと false です。
public bool Equals(Vector3 other)
result = vector3.Equals(other)
現在のベクトルが別のベクトルと等しいかどうかを示します。
- other
- このベクトルと比べるベクトル。
戻り値: 現行のベクトルがベクトルパラメーターと等しい場合、true です。そうしないと false です。
public override bool Equals(object obj)
result = vector3.Equals(obj)
このインスタンスと指定されたオブジェクトが等しいかどうかを指示します。
- obj
- 比較するオブジェクト。
戻り値: インスタンスが等しい場合、true です。そうしないと false です。
public override int GetHashCode()
result = vector3.GetHashCode()
このインスタンスのハッシュコードを返します。
戻り値: このインスタンスのハッシュコードをSystem.Int32に含める。
public static Vector3 Lerp(Vector3 a, Vector3 b, double blend)
result = Vector3.Lerp(a, b, blend)
ベクトルを与えられた2の線形ブレンドである新しいベクトルを返します
- a
- 最初の入力ベクトル
- b
- 第二入力ベクトル
- blend
- ブレンド係数。 ブレンド=0 時、b のときのブレンド=1 。
戻り値: ときのブレンド=0、b ときのブレンド=1、および線形組合せはそうでなければ
public static void Lerp(Vector3 a, Vector3 b, double blend, Vector3 result)
Vector3.Lerp(a, b, blend, result)
ベクトルを与えられた2の線形ブレンドである新しいベクトルを返します
- a
- 最初の入力ベクトル
- b
- 第二入力ベクトル
- blend
- ブレンド係数。 ブレンド=0 時、b のときのブレンド=1 。
- result
- ときのブレンド=0、b ときのブレンド=1、および線形組合せはそうでなければ
public static Vector3 Max(Vector3 left, Vector3 right)
result = Vector3.Max(left, right)
最小限の大きさでVector3dを返す
- left
- 左オペランド
- right
- 右オペランド
戻り値: 最低限のVector3
public static Vector3 Min(Vector3 left, Vector3 right)
result = Vector3.Min(left, right)
最小限の大きさでVector3dを返す
- left
- 左オペランド
- right
- 右オペランド
戻り値: 最低限のVector3
public static Vector3 Multiply(Vector3 vector, double scale)
result = Vector3.Multiply(vector, scale)
スカラーでベクトルをマルチプライズします。
- vector
- 左のオペランド。
- scale
- 右オペランド。
戻り値: 運転結果
public static void Multiply(Vector3 vector, double scale, Vector3 result)
Vector3.Multiply(vector, scale, result)
スカラーでベクトルをマルチプライズします。
- vector
- 左のオペランド。
- scale
- 右オペランド。
- result
- 運転結果
public static Vector3 Multiply(Vector3 vector, Vector3 scale)
result = Vector3.Multiply(vector, scale)
ベクトル(スケール)をコンポーネント別にベクトルをマルチプライズします。
- vector
- 左のオペランド。
- scale
- 右オペランド。
戻り値: 運転結果
public static void Multiply(Vector3 vector, Vector3 scale, Vector3 result)
Vector3.Multiply(vector, scale, result)
ベクトル(スケール)のコンポーネントによってベクトルを多重化します。
- vector
- 左のオペランド。
- scale
- 右オペランド。
- result
- 運転結果
public static void Normalize(Vector3 vec, Vector3 result)
Vector3.Normalize(vec, result)
ベクトルを単位長さにスケール
- vec
- 入力ベクトル
- result
- 正規化ベクトル
public static Vector3 Normalize(Vector3 vec)
result = Vector3.Normalize(vec)
ベクトルを単位長さにスケール
- vec
- 入力ベクトル
戻り値: 正規化ベクトル
public static void NormalizeFast(Vector3 vec, Vector3 result)
Vector3.NormalizeFast(vec, result)
ベクトルを約単位の長さにスケールアップ
- vec
- 入力ベクトル
- result
- 正規化ベクトル
public static Vector3 NormalizeFast(Vector3 vec)
result = Vector3.NormalizeFast(vec)
ベクトルを約単位の長さにスケールアップ
- vec
- 入力ベクトル
戻り値: 正規化ベクトル
public static Vector3 op_Addition(Vector3 left, Vector3 right)
result = Vector3.op_Addition(left, right)
2つのインスタンスを追加します。
- left
- 最初のインスタンス。
- right
- 2番目のインスタンス。
戻り値: 計算の結果。
public static Vector3 op_Division(double numerator, Vector3 vec)
result = Vector3.op_Division(numerator, vec)
ベクトルの各コンポーネントによって区切られた数値子である新しいベクトルを作成します。
- numerator
- vec
戻り値: 計算の結果。
public static Vector3 op_Division(Vector3 vec, double scale)
result = Vector3.op_Division(vec, scale)
scalar でインスタンスを分割します。
- vec
- インスタンス。
- scale
- スカラー
戻り値: 計算の結果。
public static bool op_Equality(Vector3 left, Vector3 right)
result = Vector3.op_Equality(left, right)
平等のための2つのインスタンスを比較します。
- left
- 最初のインスタンス。
- right
- 2番目のインスタンス。
戻り値: 真、左が右に等しい場合、そうでなければfalse。
public static bool op_Inequality(Vector3 left, Vector3 right)
result = Vector3.op_Inequality(left, right)
不平等のための2つのインスタンスを比較します。
- left
- 最初のインスタンス。
- right
- 2番目のインスタンス。
戻り値: 本当は、左が右折しなければ、そうでなければ偽りはそうではありません。
public static Vector3 op_Multiply(double scale, Vector3 vec)
result = Vector3.op_Multiply(scale, vec)
scalar でインスタンスをマルチプライズします。
- scale
- スカラー
- vec
- インスタンス。
戻り値: 計算の結果。
public static Vector3 op_Multiply(Vector3 vec, double scale)
result = Vector3.op_Multiply(vec, scale)
scalar でインスタンスをマルチプライズします。
- vec
- インスタンス。
- scale
- スカラー
戻り値: 計算の結果。
public static Vector3 op_Multiply(Vector3 vecA, Vector3 vecB)
result = Vector3.op_Multiply(vecA, vecB)
コンポーネントは、x*x、y*y、z*z を2つのベクトルを一緒に乗っ越します。
- vecA
- vecB
public static Vector3 op_Subtraction(Vector3 left, Vector3 right)
result = Vector3.op_Subtraction(left, right)
2つのインスタンスを割込みます。
- left
- 最初のインスタンス。
- right
- 2番目のインスタンス。
戻り値: 計算の結果。
public static Vector3 op_UnaryNegation(Vector3 vec)
result = Vector3.op_UnaryNegation(vec)
インスタンスをネゲートします。
- vec
- インスタンス。
戻り値: 計算の結果。
public static Vector3 Subtract(Vector3 a, Vector3 b)
result = Vector3.Subtract(a, b)
別のベクトルから1つのベクトルを抽出する
- a
- ファースト・オペランド
- b
- 第2オペランド
戻り値: 減算の結果
public static void Subtract(Vector3 a, Vector3 b, Vector3 result)
Vector3.Subtract(a, b, result)
別のベクトルから1つのベクトルを抽出する
- a
- ファースト・オペランド
- b
- 第2オペランド
- result
- 減算の結果
public override string ToString()
result = vector3.ToString()
現行のVector3を表すSystem.Stringを返します。
public static void Transform(Vector3[] vecArray, Quaternion rotationQuaternion)
Vector3.Transform(vecArray, rotationQuaternion)
四方回転で配列内のすべてのベクトルを変換します。
- vecArray
- rotationQuaternion
public static void Transform(Vector3 vec, Quaternion quat, Vector3 result)
Vector3.Transform(vec, quat, result)
四方回転でベクトルを変換します。
- vec
- ベクトルを変換する。
- quat
- ベクトルを回転させるための式。
- result
- 動作の結果。
public static void Transform(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.Transform(vec, mat, result)
与えられたマトリックスによってベクトルを変換
- vec
- ベクトルを変換する
- mat
- 目的の変革
- result
- 変換されたベクトル
public static Vector3 Transform(Vector3 vec, Quaternion quat)
result = Vector3.Transform(vec, quat)
四方回転でベクトルを変換します。
- vec
- ベクトルを変換する。
- quat
- ベクトルを回転させるための式。
戻り値: 動作の結果。
public static void Transform(Vector3[] vecArray, Matrix4X4 mat)
Vector3.Transform(vecArray, mat)
与えられた行列で配列内のすべてのベクトルを変換します。
public static Vector3 Transform(Vector3 vec, Matrix4X4 mat)
result = Vector3.Transform(vec, mat)
与えられたマトリックスによってベクトルを変換
- vec
- ベクトルを変換する
- mat
- 目的の変革
戻り値: 変換されたベクトル
public static void TransformNormal(Vector3 norm, Matrix4X4 mat, Vector3 result)
Vector3.TransformNormal(norm, mat, result)
与えられたマトリックスによって通常を変換する
- norm
- 変換するべき普通
- mat
- 目的の変革
- result
- 変形した常態
public static Vector3 TransformNormal(Vector3 norm, Matrix4X4 mat)
result = Vector3.TransformNormal(norm, mat)
与えられたマトリックスによって通常を変換する
- norm
- 変換するべき普通
- mat
- 目的の変革
戻り値: 変形した常態
public static void TransformNormalInverse(Vector3 norm, Matrix4X4 invMat, Vector3 result)
Vector3.TransformNormalInverse(norm, invMat, result)
行列を与えられた(トランスポーズ)で通常変換
- norm
- 変換するべき普通
- invMat
- 目的の変革の逆
- result
- 変形した常態
public static Vector3 TransformNormalInverse(Vector3 norm, Matrix4X4 invMat)
result = Vector3.TransformNormalInverse(norm, invMat)
行列を与えられた(トランスポーズ)で通常変換
- norm
- 変換するべき普通
- invMat
- 目的の変革の逆
戻り値: 変形した常態
public static Vector3 TransformPerspective(Vector3 vec, Matrix4X4 mat)
result = Vector3.TransformPerspective(vec, mat)
与えられたマトリックスによってVector3dを変換し、Vector4をVector3に後押しするプロジェクト
- vec
- ベクトルを変換する
- mat
- 目的の変革
戻り値: 変換されたベクトル
public static void TransformPerspective(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.TransformPerspective(vec, mat, result)
与えられたマトリックスによってVector3dを変換し、Vector4dをVector3dにプロジェクトします
- vec
- ベクトルを変換する
- mat
- 目的の変革
- result
- 変換されたベクトル
public static void TransformPosition(Vector3 pos, Matrix4X4 mat, Vector3 result)
Vector3.TransformPosition(pos, mat, result)
与えられたマトリックスによって位置を変換
- pos
- 変換する位置
- mat
- 目的の変革
- result
- 変形した位置
public static Vector3 TransformPosition(Vector3 pos, Matrix4X4 mat)
result = Vector3.TransformPosition(pos, mat)
与えられたマトリックスによって位置を変換
- pos
- 変換する位置
- mat
- 目的の変革
戻り値: 変形した位置
public static void TransformVector(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.TransformVector(vec, mat, result)
与えられた行列で方向ベクトルを変換します 行列が(0,0,0,1)の一番行を持っていると仮定して、それは翻訳部分は無視されます。
- vec
- ベクトルを変換する
- mat
- 目的の変革
- result
- 変換されたベクトル
public static Vector3 TransformVector(Vector3 vec, Matrix4X4 mat)
result = Vector3.TransformVector(vec, mat)
与えられた行列で方向ベクトルを変換します 行列が(0,0,0,1)の一番行を持っていると仮定して、それは翻訳部分は無視されます。
- vec
- ベクトルを変換する
- mat
- 目的の変革
戻り値: 変換されたベクトル
フィールド
public static readonly Vector3 NegativeInfinity
value = Vector3.NegativeInfinity
負の無限にセットされるすべてのコンポーネントでインスタンスを定義します。
public static readonly Vector3 PositiveInfinity
value = Vector3.PositiveInfinity
正の無限にセットされるすべてのコンポーネントでインスタンスを定義します。
public static readonly int SizeInBytes
value = Vector3.SizeInBytes
バイトのVector3d structのサイズを定義します。
public static readonly Vector3 UnitZ
value = Vector3.UnitZ
/// ユニット長のVector3dを定義して、Z軸に向かってポイントを指す。