Vector4

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

使用四个双精度浮点数表示一个4D向量。

实现: IEquatable<Vector4>

构造函数

Vector4
public Vector4(double x, double y, double z, double w)
vector4 = Vector4(x, y, z, w)

构造一个新的矢量4d。

x
矢量4d的x组件.
y
矢量4d的y组件.
z
矢量4d的z组件.
w
矢量4d的w成分.
Vector4
public Vector4(Vector2 v)
vector4 = Vector4(v)

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

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

从给定的矢量3d构造出新的矢量4d.

v
向量3d 复制组件从。
Vector4
public Vector4(Vector3 v, double w)
vector4 = Vector4(v, w)

从指定的矢量3d和w组件构造出新的矢量4d。

v
向量3d 复制组件从。
w
新矢量4的w成分.
Vector4
public Vector4(Vector4 v)
vector4 = Vector4(v)

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

v
向量4d 复制组件从 。

属性

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

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

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

获得矢量长度(宽度)的近似值。

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

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

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

获取或设置带有此实例的 X 和 Y 组件的 X OpenTK.Vector2d 。

Xyz
public Vector3 Xyz { get; set; }
value = vector4.Xyz
vector4.Xyz = value

获取或设置带有此实例的 X, Y 和 Z 组件的 OpenTK.Vector3d 。

方法

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

添加两个向量 。

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

添加两个向量 。

a
左行经.
b
右行经.

返回值: 运营结果.

BaryCentric
public static void BaryCentric(Vector4 a, Vector4 b, Vector4 c, double u, double v, Vector4 result)
Vector4.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 Vector4 BaryCentric(Vector4 a, Vector4 b, Vector4 c, double u, double v)
result = Vector4.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(Vector4 vec, Vector4 min, Vector4 max, Vector4 result)
Vector4.Clamp(vec, min, max, result)

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

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

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

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

返回值: 夹住的向量

Divide
public static Vector4 Divide(Vector4 vector, double scale)
result = Vector4.Divide(vector, scale)

将矢量除以平面。

vector
左行经.
scale
右行经.

返回值: 手术结果。

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

将矢量除以平面。

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

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

vector
左行经.
scale
右行经.

返回值: 手术结果。

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

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

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

计算两个向量的点产物

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

计算两个向量的点产物

left
首个操作
right
第二行 :

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

Equals
public bool Equals(Vector4 other)
result = vector4.Equals(other)

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

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

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

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

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

obj
要比较的对象 。

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

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

返回此实例的散列码 。

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

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

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

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

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

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

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

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

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

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

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

a
首个操作
b
第二行 :

返回值: 组件最大值

Min
public static Vector4 Min(Vector4 a, Vector4 b)
result = Vector4.Min(a, b)

计算两个向量的最小组件

a
首个操作
b
第二行 :

返回值: 最低成分

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

计算两个向量的最小组件

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

用平板刀将矢量相乘.

vector
左行经.
scale
右行经.

返回值: 手术结果。

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

用平板刀将矢量相乘.

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

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

vector
左行经.
scale
右行经.

返回值: 手术结果。

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

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

vector
左行经.
scale
右行经.
result
手术结果。
Normalize
public static Vector4 Normalize(Vector4 vec)
result = Vector4.Normalize(vec)

将矢量缩放到单位长度

vec
输入向量

返回值: 正常化的向量

Normalize
public void Normalize()
vector4.Normalize()

将矢量4d缩放为单位长度。

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

将矢量缩放到单位长度

vec
输入向量
result
正常化的向量
NormalizeFast
public void NormalizeFast()
vector4.NormalizeFast()

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

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

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

vec
输入向量
result
正常化的向量
NormalizeFast
public static Vector4 NormalizeFast(Vector4 vec)
result = Vector4.NormalizeFast(vec)

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

vec
输入向量

返回值: 正常化的向量

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

添加两个实例。

left
初一释.
right
二证相.

返回值: 算出的结果.

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

以平分一个实例。

vec
例为.
scale
斯伽罗.

返回值: 算出的结果.

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

比较两个平等的例子。

left
初一释.
right
二证相.

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

op_Explicit(Double*) : IntPtr

返回指定实例中的第一个元素的指针。

v
例为.

返回值: 指向v.的第一个元素.

op_Explicit(IntPtr) : IntPtr

返回指定实例中的第一个元素的指针。

v
例为.

返回值: 指向v.的第一个元素.

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

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

left
初一释.
right
二证相.

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

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

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

scale
斯伽罗.
vec
例为.

返回值: 算出的结果.

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

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

vec
例为.
scale
斯伽罗.

返回值: 算出的结果.

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

减作二相.

left
初一释.
right
二证相.

返回值: 算出的结果.

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

忽略了一个例子。

vec
例为.

返回值: 算出的结果.

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

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

a
首个操作
b
第二行 :

返回值: 减去结果

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

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

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

返回一个代表当前矢量4d的System.String,将每个元素格式化。

format
ToString
public override string ToString()
result = vector4.ToString()

返回代表当前矢量4d的 System.String 。

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

由给定矩阵转换矢量

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

返回值: 变形向量

Transform
public static void Transform(Vector4 vec, Matrix4X4 mat, Vector4 result)
Vector4.Transform(vec, mat, result)

由给定矩阵转换矢量

vec
要变换的向量
mat
期望的转变
result
变形向量
Transform
public static Vector4 Transform(Vector4 vec, Quaternion quat)
result = Vector4.Transform(vec, quat)

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

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

返回值: 手术结果.

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

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

vec
向量变相.
quat
将矢量由四角旋转。
result
手术结果.

字段

One
public static readonly Vector4 One
value = Vector4.One

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

SizeInBytes
public static readonly int SizeInBytes
value = Vector4.SizeInBytes

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

UnitW
public static Vector4 UnitW
value = Vector4.UnitW

定义指向W轴的单位长矢量4d。

UnitX
public static Vector4 UnitX
value = Vector4.UnitX

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

UnitY
public static Vector4 UnitY
value = Vector4.UnitY

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

UnitZ
public static Vector4 UnitZ
value = Vector4.UnitZ

定义指向 Z 轴的单位长矢量4d。

w
public double w
value = vector4.w

矢量4d的W部分.

x
public double x
value = vector4.x

矢量4d的X组件.

y
public double y
value = vector4.y

矢量4d的Y成分.

z
public double z
value = vector4.z

矢量4d的Z组件.

Zero
public static Vector4 Zero
value = Vector4.Zero

定义一个零长的矢量4d。