Vector2

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

使用两个双精度浮点数表示2D向量。

实现: IEquatable<Vector2>

构造函数

Vector2
public Vector2(double x, double y)
vector2 = Vector2(x, y)

构造带有给定坐标的左向量 。

x
X坐标
y
Y坐标

属性

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

获得向量的长度( 宽度 )。

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

获得矢量长度(宽度)的平方。

PerpendicularLeft
public Vector2 PerpendicularLeft { get; }
value = vector2.PerpendicularLeft

获得此矢量左侧的垂直向量 。

PerpendicularRight
public Vector2 PerpendicularRight { get; }
value = vector2.PerpendicularRight

获得此向量右侧的垂直向量 。

方法

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

添加两个向量 。

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

添加两个向量 。

a
左行经.
b
右行经.

返回值: 运营结果.

BaryCentric
public static void BaryCentric(Vector2 a, Vector2 b, Vector2 c, double u, double v, Vector2 result)
Vector2.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 Vector2 BaryCentric(Vector2 a, Vector2 b, Vector2 c, double u, double v)
result = Vector2.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的线性组合时,否则

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

将矢量粘接到给定最小和最大矢量

vec
输入向量
min
最小向量
max
最大向量
result
夹住的向量
Clamp
public static Vector2 Clamp(Vector2 vec, Vector2 min, Vector2 max)
result = Vector2.Clamp(vec, min, max)

将矢量粘接到给定最小和最大矢量

vec
输入向量
min
最小向量
max
最大向量

返回值: 夹住的向量

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

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

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

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

a
首个操作
b
第二行 :

返回值: 组件最大值

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

计算两个向量的最小组件

a
首个操作
b
第二行 :
result
最低成分
ComponentMin
public static Vector2 ComponentMin(Vector2 a, Vector2 b)
result = Vector2.ComponentMin(a, b)

计算两个向量的最小组件

a
首个操作
b
第二行 :

返回值: 最低成分

Cross
public static double Cross(Vector2 left, Vector2 right)
result = Vector2.Cross(left, right)

计算两个向量的交叉产品

left
首个操作
right
第二行 :

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

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

将矢量除以矢量(比例)的成分。

vector
左行经.
scale
右行经.

返回值: 手术结果。

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

将矢量除以矢量( 比例) 的组件 。

vector
左行经.
scale
右行经.
result
手术结果。
Divide
public static Vector2 Divide(Vector2 vector, double scale)
result = Vector2.Divide(vector, scale)

将矢量除以平面。

vector
左行经.
scale
右行经.

返回值: 手术结果。

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

将矢量除以平面。

vector
左行经.
scale
右行经.
result
手术结果。
Dot
public static double Dot(Vector2 left, Vector2 right)
result = Vector2.Dot(left, right)

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

left
首个操作
right
第二行 :

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

Dot
public static void Dot(Vector2 left, Vector2 right, double result)
Vector2.Dot(left, right, result)

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

left
首个操作
right
第二行 :
result
两种投入的点出产物
Equals
public override bool Equals(object obj)
result = vector2.Equals(obj)

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

obj
要比较的对象 。

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

Equals
public bool Equals(Vector2 other)
result = vector2.Equals(other)

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

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

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

Equals
public bool Equals(Vector2 other, double errorRange)
result = vector2.Equals(other, errorRange)

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

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

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

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

返回此实例的散列码 。

返回值: 包含此实例独有的散列码的 System.Int32 。

GetNormal
public Vector2 GetNormal()
result = vector2.GetNormal()

返回此的正态矢量 。

Lerp
public static Vector2 Lerp(Vector2 a, Vector2 b, double blend)
result = Vector2.Lerp(a, b, blend)

返回一个新的矢量,即2个给定矢量的线性混合物

a
第一个输入向量
b
第二个输入向量
blend
混合因子。 a 当混合=0, b 当混合=1。

返回值: a 当混合=0, b 当混合=1, 否则为线性组合

Lerp
public static void Lerp(Vector2 a, Vector2 b, double blend, Vector2 result)
Vector2.Lerp(a, b, blend, result)

返回一个新的矢量,即2个给定矢量的线性混合物

a
第一个输入向量
b
第二个输入向量
blend
混合因子。 a 当混合=0, b 当混合=1。
result
a 当混合=0, b 当混合=1, 否则为线性组合
Max
public static Vector2 Max(Vector2 a, Vector2 b)
result = Vector2.Max(a, b)

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

a
首个操作
b
第二行 :

返回值: 组件最大值

Max
public static void Max(Vector2 a, Vector2 b, Vector2 result)
Vector2.Max(a, b, result)

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

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

计算两个向量的最小组件

a
首个操作
b
第二行 :

返回值: 最低成分

Min
public static void Min(Vector2 a, Vector2 b, Vector2 result)
Vector2.Min(a, b, result)

计算两个向量的最小组件

a
首个操作
b
第二行 :
result
最低成分
Multiply
public static void Multiply(Vector2 vector, double scale, Vector2 result)
Vector2.Multiply(vector, scale, result)

用平板刀将矢量相乘.

vector
左行经.
scale
右行经.
result
手术结果。
Multiply
public static Vector2 Multiply(Vector2 vector, Vector2 scale)
result = Vector2.Multiply(vector, scale)

将矢量乘以组件为矢量(比例)。

vector
左行经.
scale
右行经.

返回值: 手术结果。

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

将矢量乘以矢量(比例)的成分。

vector
左行经.
scale
右行经.
result
手术结果。
Multiply
public static Vector2 Multiply(Vector2 vector, double scale)
result = Vector2.Multiply(vector, scale)

用平板刀将矢量相乘.

vector
左行经.
scale
右行经.

返回值: 手术结果。

Normalize
public static Vector2 Normalize(Vector2 vec)
result = Vector2.Normalize(vec)

将矢量缩放到单位长度

vec
输入向量

返回值: 正常化的向量

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

将矢量缩放到单位长度

vec
输入向量
result
正常化的向量
Normalize
public void Normalize()
vector2.Normalize()

将矢量2缩放到单位长度。

NormalizeFast
public static Vector2 NormalizeFast(Vector2 vec)
result = Vector2.NormalizeFast(vec)

将矢量缩放到大约单位长度

vec
输入向量

返回值: 正常化的向量

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

将矢量缩放到大约单位长度

vec
输入向量
result
正常化的向量
op_Addition
public static Vector2 op_Addition(Vector2 left, Vector2 right)
result = Vector2.op_Addition(left, right)

添加两个实例。

left
左证相.
right
正确的例子。

返回值: 手术结果.

op_Division
public static Vector2 op_Division(double f, Vector2 vec)
result = Vector2.op_Division(f, vec)

将缩放器除以实例的明智组件。

vec
斯伽罗.
f
例为.

返回值: 手术结果.

op_Division
public static Vector2 op_Division(Vector2 vec, double f)
result = Vector2.op_Division(vec, f)

以平分一个实例。

vec
例为.
f
斯伽罗.

返回值: 手术结果.

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

比较两个平等的例子。

left
左证相.
right
正确的例子。

返回值: 诚然,如果这两种情况是平等的;否则是虚假的。

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

比较两个单数。

left
左证相.
right
正确的例子。

返回值: 的确,如果情况不相等;否则就是虚假的。

op_Multiply
public static Vector2 op_Multiply(double f, Vector2 vec)
result = Vector2.op_Multiply(f, vec)

用平板刀来乘法

f
斯伽罗.
vec
例为.

返回值: 手术结果.

op_Multiply
public static Vector2 op_Multiply(Vector2 vec, double f)
result = Vector2.op_Multiply(vec, f)

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

vec
例为.
f
斯伽罗.

返回值: 手术结果.

op_Subtraction
public static Vector2 op_Subtraction(Vector2 left, Vector2 right)
result = Vector2.op_Subtraction(left, right)

减作二相.

left
左证相.
right
正确的例子。

返回值: 手术结果.

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

忽略了一个例子。

vec
例为.

返回值: 手术结果.

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

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

a
首个操作
b
第二行 :
result
减去结果
Subtract
public static Vector2 Subtract(Vector2 a, Vector2 b)
result = Vector2.Subtract(a, b)

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

a
首个操作
b
第二行 :

返回值: 减去结果

ToString
public override string ToString()
result = vector2.ToString()

返回代表当前实例的 System.String 。

Transform
public static void Transform(Vector2 vec, Quaternion quat, Vector2 result)
Vector2.Transform(vec, quat, result)

通过四角旋转来改变向量。

vec
向量变相.
quat
将矢量由四角旋转。
result
手术结果.
Transform
public static Vector2 Transform(Vector2 vec, Quaternion quat)
result = Vector2.Transform(vec, quat)

通过四角旋转来改变向量。

vec
向量变相.
quat
将矢量由四角旋转。

返回值: 手术结果.

字段

One
public static readonly Vector2 One
value = Vector2.One

定义一个所有组件设置为 1 的实例 。

SizeInBytes
public static readonly int SizeInBytes
value = Vector2.SizeInBytes

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

UnitX
public static Vector2 UnitX
value = Vector2.UnitX

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

UnitY
public static Vector2 UnitY
value = Vector2.UnitY

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

x
public double x
value = vector2.x

这件事情的X坐标

y
public double y
value = vector2.y

这件事情的Y坐标

Zero
public static Vector2 Zero
value = Vector2.Zero

定义0长矢量2d。