Vector3

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

使用三个双精度浮点数表示3D向量。

实现: IEquatable<Vector3>

构造函数

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

构造出一个新的矢量3。

x
矢量3的x组件.
y
矢量3的y组件.
z
矢量3的z个元件.
Vector3
public Vector3(Vector2 v, double z)
vector3 = Vector3(v, z)

从给定的矢量2d 构造出一个新实例。

v
向量2d 复制组件从 。
z
Vector3
public Vector3(Vector3 v)
vector3 = Vector3(v)

从给定的矢量3d 构造出新实例。

v
向量3d 复制组件从。
Vector3
public Vector3(Vector4 v)
vector3 = Vector3(v)

从给定的矢量4d 构造出一个新实例。

v
向量4d 复制组件从 。

属性

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 组件的 X OpenTK.Vector2d 。

方法

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

添加两个向量 。

a
左行经.
b
右行经.
result
运营结果.
Add
public static Vector3 Add(Vector3 a, Vector3 b)
result = Vector3.Add(a, b)

添加两个向量 。

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)

使用 Barycentr 坐标将3 个矢量内插

a
初入向量.
b
第二输入矢量.
c
第三入向量.
u
第一贝利克星坐标.
v
第二贝利克星座坐标.
result
输出矢量. a 当u=v=0, b 当u=1, v=0, c 当u=0, v=1, 和 a,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)

使用 Barycentr 坐标将3 个矢量内插

a
第一次输入矢量
b
第二输入矢量
c
第三个输入矢量
u
第一个以贝利为中心坐标
v
第二贝利克星座坐标

返回值: a 当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)

计算两个向量之间的角(以弧度计)。

first
初向量相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相
second
第二向量相.
result
向量之间的角 (弧度).
CalculateAngle
public static double CalculateAngle(Vector3 first, Vector3 second)
result = Vector3.CalculateAngle(first, second)

计算两个向量之间的角(以弧度计)。

first
初向量相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相
second
第二向量相.

返回值: 向量之间的角 (弧度).

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)

计算两个向量的组件最大值

a
首个操作
b
第二行 :

返回值: 组件最大值

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

计算两个向量的组件最大值

a
首个操作
b
第二行 :
result
组件最大值
ComponentMin
public static Vector3 ComponentMin(Vector3 a, Vector3 b)
result = Vector3.ComponentMin(a, b)

计算两个向量的最小组件

a
首个操作
b
第二行 :

返回值: 最低成分

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

计算两个向量的最小组件

a
首个操作
b
第二行 :
result
最低成分
Cross
public static void Cross(Vector3 left, Vector3 right, Vector3 result)
Vector3.Cross(left, right, result)

将两个向量的十字( 向量) 产品聚集在一起

left
首个操作
right
第二行 :
result
两种投入的交叉产品

返回值: 两种投入的交叉产品

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

将两个向量的十字( 向量) 产品聚集在一起

left
首个操作
right
第二行 :

返回值: 两种投入的交叉产品

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)

计算两个向量的点( scalar) 产物

left
首个操作
right
第二行 :
result
两种投入的点出产物
Dot
public static double Dot(Vector3 left, Vector3 right)
result = Vector3.Dot(left, right)

计算两个向量的点( scalar) 产物

left
首个操作
right
第二行 :

返回值: 两种投入的点出产物

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

指示此实例和指定对象在一个错误范围内是否相等。

OtherVector
ErrorValue

返回值: 如果情况相等,则属实;否则,则属实。

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

指示当前矢量是否等于另一个矢量。

other
与此向量进行比较的向量 。

返回值: 如果当前矢量与矢量参数相等,则为真;否则,为假。

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

指示此实例与指定的对象是否相等。

obj
要比较的对象 。

返回值: 如果情况相等,则属实;否则,则属实。

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
混合因子。 a 当混合=0, b 当混合=1。

返回值: a 当混合=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
混合因子。 a 当混合=0, b 当混合=1。
result
a 当混合=0, b 当混合=1, 否则为线性组合
Max
public static Vector3 Max(Vector3 left, Vector3 right)
result = Vector3.Max(left, right)

返回最小分数的矢量3d

left
左侧操作
right
右行键

返回值: 最小矢量3

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

返回最小分数的矢量3d

left
左侧操作
right
右行键

返回值: 最小矢量3

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)

添加两个实例。

left
初一释.
right
二证相.

返回值: 算出的结果.

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)

以平分一个实例。

vec
例为.
scale
斯伽罗.

返回值: 算出的结果.

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

比较两个平等的例子。

left
初一释.
right
二证相.

返回值: 正确,如果左等右;否则是虚假的。

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

比较了不平等的两个情况。

left
初一释.
right
二证相.

返回值: 没错,如果左侧不等于右;否则就是假的。

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

乘以一相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相

scale
斯伽罗.
vec
例为.

返回值: 算出的结果.

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

乘以一相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相

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 .

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

减作二相.

left
初一释.
right
二证相.

返回值: 算出的结果.

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)

从另一个矢量中减掉一个矢量

a
首个操作
b
第二行 :

返回值: 减去结果

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

从另一个矢量中减掉一个矢量

a
首个操作
b
第二行 :
result
减去结果
ToString
public override string ToString()
result = vector3.ToString()

返回一个代表当前矢量3的 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)

由给定矩阵转换一个矢量3d,并预测由此而来向量4返回矢量3

vec
要变换的向量
mat
期望的转变

返回值: 变形向量

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

由给定矩阵转换一个矢量3d,并预测由此而来向量4d返回到矢量3d

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, 1),即翻译部分被忽略 。

vec
要变换的向量
mat
期望的转变
result
变形向量
TransformVector
public static Vector3 TransformVector(Vector3 vec, Matrix4X4 mat)
result = Vector3.TransformVector(vec, mat)

由给定矩阵转换方向向量 假设矩阵有一个下行 (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

定义字节中矢量3d 结构的大小。

UnitX
public static readonly Vector3 UnitX
value = Vector3.UnitX

定义指向X轴的单位长矢量3d。

UnitY
public static readonly Vector3 UnitY
value = Vector3.UnitY

定义指向 Y 轴的单位长矢量3d。

UnitZ
public static readonly Vector3 UnitZ
value = Vector3.UnitZ

/// 定义指向Z轴的单位长矢量3d.

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。