Vector3

StockSharp.Xaml.Charting.Rendering.HighQualityRasterizer.Agg.VectorMath

3次元ベクトルを3次元の2次元の2次元の2次元の浮動小数点数で表現します。

実装: IEquatable<Vector3>

コンストラクター

Vector3
public Vector3(double x, double y, double z)
vector3 = Vector3(x, y, z)

新しいVector3を構成します。

x
ベクトル3のxコンポーネント。
y
y コンポーネントの Vector3 。
z
ベクトル3のzコンポーネント。
Vector3
public Vector3(Vector2 v, double z)
vector3 = Vector3(v, z)

与えられたVector2d から新しいインスタンスを構成します。

v
コンポーネントをコピーするVector2d。
z
Vector3
public Vector3(Vector3 v)
vector3 = Vector3(v)

与えられたVector3d から新しいインスタンスを構成します。

v
コンポーネントをコピーするVector3d。
Vector3
public Vector3(Vector4 v)
vector3 = Vector3(v)

与えられたVector4d から新しいインスタンスを構成します。

v
コンポーネントをコピーするVector4d。

プロパティ

Length
public double Length { get; }
value = vector3.Length

ベクトルの長さ(大きさ)を取得します。

LengthFast
public double LengthFast { get; }
value = vector3.LengthFast

ベクトルの長さ(大きさ)の近似値を取得します。

LengthSquared
public double LengthSquared { get; }
value = vector3.LengthSquared

ベクトルの長さ(大きさ)の正方形を取得します。

Xy
public Vector2 Xy { get; set; }
value = vector3.Xy
vector3.Xy = value

このインスタンスのXとYコンポーネントでOpenTK.Vector2dを受け取り、または設定します。

メソッド

Add
public static void Add(Vector3 a, Vector3 b, Vector3 result)
Vector3.Add(a, b, result)

2つのベクトルを追加します。

a
左のオペランド。
b
右オペランド。
result
業務実績
Add
public static Vector3 Add(Vector3 a, Vector3 b)
result = Vector3.Add(a, b)

2つのベクトルを追加します。

a
左のオペランド。
b
右オペランド。

戻り値: 業務実績

BaryCentric
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 がなければ
BaryCentric
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 の線形組み合わせ

CalculateAngle
public static void CalculateAngle(Vector3 first, Vector3 second, double result)
Vector3.CalculateAngle(first, second, result)

2つのベクトル間の角度(半径)を計算します。

first
最初のベクトル。
second
2番目のベクトル。
result
ベクトル間の角度(ラジアン)。
CalculateAngle
public static double CalculateAngle(Vector3 first, Vector3 second)
result = Vector3.CalculateAngle(first, second)

2つのベクトル間の角度(半径)を計算します。

first
最初のベクトル。
second
2番目のベクトル。

戻り値: ベクトル間の角度(ラジアン)。

Clamp
public static void Clamp(Vector3 vec, Vector3 min, Vector3 max, Vector3 result)
Vector3.Clamp(vec, min, max, result)

ベクトルを指定した最小限かつ最大ベクトルに固定する

vec
入力ベクトル
min
最小ベクトル
max
最大ベクトル
result
クランプされたベクトル
Clamp
public static Vector3 Clamp(Vector3 vec, Vector3 min, Vector3 max)
result = Vector3.Clamp(vec, min, max)

ベクトルを指定した最小限かつ最大ベクトルに固定する

vec
入力ベクトル
min
最小ベクトル
max
最大ベクトル

戻り値: クランプされたベクトル

ComponentMax
public static Vector3 ComponentMax(Vector3 a, Vector3 b)
result = Vector3.ComponentMax(a, b)

コンポーネントを2つのベクトルの最大の計算

a
ファースト・オペランド
b
第2オペランド

戻り値: コンポーネント単位で最大

ComponentMax
public static void ComponentMax(Vector3 a, Vector3 b, Vector3 result)
Vector3.ComponentMax(a, b, result)

コンポーネントを2つのベクトルの最大の計算

a
ファースト・オペランド
b
第2オペランド
result
コンポーネント単位で最大
ComponentMin
public static Vector3 ComponentMin(Vector3 a, Vector3 b)
result = Vector3.ComponentMin(a, b)

コンポーネント単位の最小値の2つのベクトルを計算する

a
ファースト・オペランド
b
第2オペランド

戻り値: コンポーネント単位の最小値

ComponentMin
public static void ComponentMin(Vector3 a, Vector3 b, Vector3 result)
Vector3.ComponentMin(a, b, result)

コンポーネント単位の最小値の2つのベクトルを計算する

a
ファースト・オペランド
b
第2オペランド
result
コンポーネント単位の最小値
Cross
public static void Cross(Vector3 left, Vector3 right, Vector3 result)
Vector3.Cross(left, right, result)

2つのベクトルの十字(ベクトル)プロダクトを計算して下さい

left
ファースト・オペランド
right
第2オペランド
result
2つの入力の交差プロダクト

戻り値: 2つの入力の交差プロダクト

Cross
public static Vector3 Cross(Vector3 left, Vector3 right)
result = Vector3.Cross(left, right)

2つのベクトルの十字(ベクトル)プロダクトを計算して下さい

left
ファースト・オペランド
right
第2オペランド

戻り値: 2つの入力の交差プロダクト

Divide
public static Vector3 Divide(Vector3 vector, Vector3 scale)
result = Vector3.Divide(vector, scale)

ベクトル(スケール)のコンポーネントによってベクトルを分割します。

vector
左のオペランド。
scale
右オペランド。

戻り値: 運転結果

Divide
public static void Divide(Vector3 vector, double scale, Vector3 result)
Vector3.Divide(vector, scale, result)

スカラーでベクトルを分割します。

vector
左のオペランド。
scale
右オペランド。
result
運転結果
Divide
public static Vector3 Divide(Vector3 vector, double scale)
result = Vector3.Divide(vector, scale)

スカラーでベクトルを分割します。

vector
左のオペランド。
scale
右オペランド。

戻り値: 運転結果

Divide
public static void Divide(Vector3 vector, Vector3 scale, Vector3 result)
Vector3.Divide(vector, scale, result)

ベクトル(スケール)のコンポーネントによってベクトルを分割します。

vector
左のオペランド。
scale
右オペランド。
result
運転結果
Dot
public static void Dot(Vector3 left, Vector3 right, double result)
Vector3.Dot(left, right, result)

2つのベクトルのドット(スカラー)製品を計算する

left
ファースト・オペランド
right
第2オペランド
result
2つの入力の点プロダクト
Dot
public static double Dot(Vector3 left, Vector3 right)
result = Vector3.Dot(left, right)

2つのベクトルのドット(スカラー)製品を計算する

left
ファースト・オペランド
right
第2オペランド

戻り値: 2つの入力の点プロダクト

Equals
public bool Equals(Vector3 OtherVector, double ErrorValue)
result = vector3.Equals(OtherVector, ErrorValue)

このインスタンスと指定されたオブジェクトがエラー範囲内で等しいかどうかを示します。

OtherVector
ErrorValue

戻り値: インスタンスが等しい場合、true です。そうしないと false です。

Equals
public bool Equals(Vector3 other)
result = vector3.Equals(other)

現在のベクトルが別のベクトルと等しいかどうかを示します。

other
このベクトルと比べるベクトル。

戻り値: 現行のベクトルがベクトルパラメーターと等しい場合、true です。そうしないと false です。

Equals
public override bool Equals(object obj)
result = vector3.Equals(obj)

このインスタンスと指定されたオブジェクトが等しいかどうかを指示します。

obj
比較するオブジェクト。

戻り値: インスタンスが等しい場合、true です。そうしないと false です。

GetHashCode
public override int GetHashCode()
result = vector3.GetHashCode()

このインスタンスのハッシュコードを返します。

戻り値: このインスタンスのハッシュコードをSystem.Int32に含める。

GetNormal
public Vector3 GetNormal()
result = vector3.GetNormal()

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

Lerp
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、および線形組合せはそうでなければ

Lerp
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、および線形組合せはそうでなければ
Max
public static Vector3 Max(Vector3 left, Vector3 right)
result = Vector3.Max(left, right)

最小限の大きさでVector3dを返す

left
左オペランド
right
右オペランド

戻り値: 最低限のVector3

Min
public static Vector3 Min(Vector3 left, Vector3 right)
result = Vector3.Min(left, right)

最小限の大きさでVector3dを返す

left
左オペランド
right
右オペランド

戻り値: 最低限のVector3

Multiply
public static Vector3 Multiply(Vector3 vector, double scale)
result = Vector3.Multiply(vector, scale)

スカラーでベクトルをマルチプライズします。

vector
左のオペランド。
scale
右オペランド。

戻り値: 運転結果

Multiply
public static void Multiply(Vector3 vector, double scale, Vector3 result)
Vector3.Multiply(vector, scale, result)

スカラーでベクトルをマルチプライズします。

vector
左のオペランド。
scale
右オペランド。
result
運転結果
Multiply
public static Vector3 Multiply(Vector3 vector, Vector3 scale)
result = Vector3.Multiply(vector, scale)

ベクトル(スケール)をコンポーネント別にベクトルをマルチプライズします。

vector
左のオペランド。
scale
右オペランド。

戻り値: 運転結果

Multiply
public static void Multiply(Vector3 vector, Vector3 scale, Vector3 result)
Vector3.Multiply(vector, scale, result)

ベクトル(スケール)のコンポーネントによってベクトルを多重化します。

vector
左のオペランド。
scale
右オペランド。
result
運転結果
Normalize
public void Normalize()
vector3.Normalize()

ベクトル3dを単位の長さにスケールします。

Normalize
public static void Normalize(Vector3 vec, Vector3 result)
Vector3.Normalize(vec, result)

ベクトルを単位長さにスケール

vec
入力ベクトル
result
正規化ベクトル
Normalize
public static Vector3 Normalize(Vector3 vec)
result = Vector3.Normalize(vec)

ベクトルを単位長さにスケール

vec
入力ベクトル

戻り値: 正規化ベクトル

NormalizeFast
public static void NormalizeFast(Vector3 vec, Vector3 result)
Vector3.NormalizeFast(vec, result)

ベクトルを約単位の長さにスケールアップ

vec
入力ベクトル
result
正規化ベクトル
NormalizeFast
public static Vector3 NormalizeFast(Vector3 vec)
result = Vector3.NormalizeFast(vec)

ベクトルを約単位の長さにスケールアップ

vec
入力ベクトル

戻り値: 正規化ベクトル

NormalizeFast
public void NormalizeFast()
vector3.NormalizeFast()

ベクトル3dを約単位の長さにスケールアップ。

op_Addition
public static Vector3 op_Addition(Vector3 left, Vector3 right)
result = Vector3.op_Addition(left, right)

2つのインスタンスを追加します。

left
最初のインスタンス。
right
2番目のインスタンス。

戻り値: 計算の結果。

op_Division
public static Vector3 op_Division(double numerator, Vector3 vec)
result = Vector3.op_Division(numerator, vec)

ベクトルの各コンポーネントによって区切られた数値子である新しいベクトルを作成します。

numerator
vec

戻り値: 計算の結果。

op_Division
public static Vector3 op_Division(Vector3 vec, double scale)
result = Vector3.op_Division(vec, scale)

scalar でインスタンスを分割します。

vec
インスタンス。
scale
スカラー

戻り値: 計算の結果。

op_Equality
public static bool op_Equality(Vector3 left, Vector3 right)
result = Vector3.op_Equality(left, right)

平等のための2つのインスタンスを比較します。

left
最初のインスタンス。
right
2番目のインスタンス。

戻り値: 真、左が右に等しい場合、そうでなければfalse。

op_Inequality
public static bool op_Inequality(Vector3 left, Vector3 right)
result = Vector3.op_Inequality(left, right)

不平等のための2つのインスタンスを比較します。

left
最初のインスタンス。
right
2番目のインスタンス。

戻り値: 本当は、左が右折しなければ、そうでなければ偽りはそうではありません。

op_Multiply
public static Vector3 op_Multiply(double scale, Vector3 vec)
result = Vector3.op_Multiply(scale, vec)

scalar でインスタンスをマルチプライズします。

scale
スカラー
vec
インスタンス。

戻り値: 計算の結果。

op_Multiply
public static Vector3 op_Multiply(Vector3 vec, double scale)
result = Vector3.op_Multiply(vec, scale)

scalar でインスタンスをマルチプライズします。

vec
インスタンス。
scale
スカラー

戻り値: 計算の結果。

op_Multiply
public static Vector3 op_Multiply(Vector3 vecA, Vector3 vecB)
result = Vector3.op_Multiply(vecA, vecB)

コンポーネントは、x*x、y*y、z*z を2つのベクトルを一緒に乗っ越します。

vecA
vecB
op_Subtraction
public static Vector3 op_Subtraction(Vector3 left, Vector3 right)
result = Vector3.op_Subtraction(left, right)

2つのインスタンスを割込みます。

left
最初のインスタンス。
right
2番目のインスタンス。

戻り値: 計算の結果。

op_UnaryNegation
public static Vector3 op_UnaryNegation(Vector3 vec)
result = Vector3.op_UnaryNegation(vec)

インスタンスをネゲートします。

vec
インスタンス。

戻り値: 計算の結果。

Subtract
public static Vector3 Subtract(Vector3 a, Vector3 b)
result = Vector3.Subtract(a, b)

別のベクトルから1つのベクトルを抽出する

a
ファースト・オペランド
b
第2オペランド

戻り値: 減算の結果

Subtract
public static void Subtract(Vector3 a, Vector3 b, Vector3 result)
Vector3.Subtract(a, b, result)

別のベクトルから1つのベクトルを抽出する

a
ファースト・オペランド
b
第2オペランド
result
減算の結果
ToString
public override string ToString()
result = vector3.ToString()

現行のVector3を表すSystem.Stringを返します。

Transform
public static void Transform(Vector3[] vecArray, Quaternion rotationQuaternion)
Vector3.Transform(vecArray, rotationQuaternion)

四方回転で配列内のすべてのベクトルを変換します。

vecArray
rotationQuaternion
Transform
public static void Transform(Vector3 vec, Quaternion quat, Vector3 result)
Vector3.Transform(vec, quat, result)

四方回転でベクトルを変換します。

vec
ベクトルを変換する。
quat
ベクトルを回転させるための式。
result
動作の結果。
Transform
public static void Transform(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.Transform(vec, mat, result)

与えられたマトリックスによってベクトルを変換

vec
ベクトルを変換する
mat
目的の変革
result
変換されたベクトル
Transform
public static Vector3 Transform(Vector3 vec, Quaternion quat)
result = Vector3.Transform(vec, quat)

四方回転でベクトルを変換します。

vec
ベクトルを変換する。
quat
ベクトルを回転させるための式。

戻り値: 動作の結果。

Transform
public static void Transform(Vector3[] vecArray, Matrix4X4 mat)
Vector3.Transform(vecArray, mat)

与えられた行列で配列内のすべてのベクトルを変換します。

Transform
public static Vector3 Transform(Vector3 vec, Matrix4X4 mat)
result = Vector3.Transform(vec, mat)

与えられたマトリックスによってベクトルを変換

vec
ベクトルを変換する
mat
目的の変革

戻り値: 変換されたベクトル

TransformNormal
public static void TransformNormal(Vector3 norm, Matrix4X4 mat, Vector3 result)
Vector3.TransformNormal(norm, mat, result)

与えられたマトリックスによって通常を変換する

norm
変換するべき普通
mat
目的の変革
result
変形した常態
TransformNormal
public static Vector3 TransformNormal(Vector3 norm, Matrix4X4 mat)
result = Vector3.TransformNormal(norm, mat)

与えられたマトリックスによって通常を変換する

norm
変換するべき普通
mat
目的の変革

戻り値: 変形した常態

TransformNormalInverse
public static void TransformNormalInverse(Vector3 norm, Matrix4X4 invMat, Vector3 result)
Vector3.TransformNormalInverse(norm, invMat, result)

行列を与えられた(トランスポーズ)で通常変換

norm
変換するべき普通
invMat
目的の変革の逆
result
変形した常態
TransformNormalInverse
public static Vector3 TransformNormalInverse(Vector3 norm, Matrix4X4 invMat)
result = Vector3.TransformNormalInverse(norm, invMat)

行列を与えられた(トランスポーズ)で通常変換

norm
変換するべき普通
invMat
目的の変革の逆

戻り値: 変形した常態

TransformPerspective
public static Vector3 TransformPerspective(Vector3 vec, Matrix4X4 mat)
result = Vector3.TransformPerspective(vec, mat)

与えられたマトリックスによってVector3dを変換し、Vector4をVector3に後押しするプロジェクト

vec
ベクトルを変換する
mat
目的の変革

戻り値: 変換されたベクトル

TransformPerspective
public static void TransformPerspective(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.TransformPerspective(vec, mat, result)

与えられたマトリックスによってVector3dを変換し、Vector4dをVector3dにプロジェクトします

vec
ベクトルを変換する
mat
目的の変革
result
変換されたベクトル
TransformPosition
public static void TransformPosition(Vector3 pos, Matrix4X4 mat, Vector3 result)
Vector3.TransformPosition(pos, mat, result)

与えられたマトリックスによって位置を変換

pos
変換する位置
mat
目的の変革
result
変形した位置
TransformPosition
public static Vector3 TransformPosition(Vector3 pos, Matrix4X4 mat)
result = Vector3.TransformPosition(pos, mat)

与えられたマトリックスによって位置を変換

pos
変換する位置
mat
目的の変革

戻り値: 変形した位置

TransformVector
public static void TransformVector(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.TransformVector(vec, mat, result)

与えられた行列で方向ベクトルを変換します 行列が(0,0,0,1)の一番行を持っていると仮定して、それは翻訳部分は無視されます。

vec
ベクトルを変換する
mat
目的の変革
result
変換されたベクトル
TransformVector
public static Vector3 TransformVector(Vector3 vec, Matrix4X4 mat)
result = Vector3.TransformVector(vec, mat)

与えられた行列で方向ベクトルを変換します 行列が(0,0,0,1)の一番行を持っていると仮定して、それは翻訳部分は無視されます。

vec
ベクトルを変換する
mat
目的の変革

戻り値: 変換されたベクトル

フィールド

NegativeInfinity
public static readonly Vector3 NegativeInfinity
value = Vector3.NegativeInfinity

負の無限にセットされるすべてのコンポーネントでインスタンスを定義します。

One
public static readonly Vector3 One
value = Vector3.One

1 に設定する全てのコンポーネントでインスタンスを定義します。

PositiveInfinity
public static readonly Vector3 PositiveInfinity
value = Vector3.PositiveInfinity

正の無限にセットされるすべてのコンポーネントでインスタンスを定義します。

SizeInBytes
public static readonly int SizeInBytes
value = Vector3.SizeInBytes

バイトのVector3d structのサイズを定義します。

UnitX
public static readonly Vector3 UnitX
value = Vector3.UnitX

X軸に向かってポイントする、単長のVector3dを定義します。

UnitY
public static readonly Vector3 UnitY
value = Vector3.UnitY

Y軸に向かってポイントする、単長のVector3dを定義します。

UnitZ
public static readonly Vector3 UnitZ
value = Vector3.UnitZ

/// ユニット長のVector3dを定義して、Z軸に向かってポイントを指す。

x
public double x
value = vector3.x

ベクトル3のXコンポーネント。

y
public double y
value = vector3.y

ベクトル3のYコンポーネント。

z
public double z
value = vector3.z

ベクトル3のZコンポーネント。

Zero
public static readonly Vector3 Zero
value = Vector3.Zero

ゼロレンダベター3を定義します。