Vector4
使用四个双精度浮点数表示一个4D向量。
实现: IEquatable<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成分.
public Vector4(Vector3 v, double w)
vector4 = Vector4(v, w)
从指定的矢量3d和w组件构造出新的矢量4d。
- v
- 向量3d 复制组件从。
- w
- 新矢量4的w成分.
属性
public Vector2 Xy { get; set; }
value = vector4.Xy
vector4.Xy = value
获取或设置带有此实例的 X 和 Y 组件的 X OpenTK.Vector2d 。
public Vector3 Xyz { get; set; }
value = vector4.Xyz
vector4.Xyz = value
获取或设置带有此实例的 X, Y 和 Z 组件的 OpenTK.Vector3d 。
方法
public static void Add(Vector4 a, Vector4 b, Vector4 result)
Vector4.Add(a, b, result)
添加两个向量 。
- a
- 左行经.
- b
- 右行经.
- result
- 运营结果.
public static Vector4 Add(Vector4 a, Vector4 b)
result = Vector4.Add(a, b)
添加两个向量 。
- a
- 左行经.
- b
- 右行经.
返回值: 运营结果.
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 的线性组合, 否则
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的线性组合时,否则
public static void Clamp(Vector4 vec, Vector4 min, Vector4 max, Vector4 result)
Vector4.Clamp(vec, min, max, result)
将矢量粘接到给定最小和最大矢量
- vec
- 输入向量
- min
- 最小向量
- max
- 最大向量
- result
- 夹住的向量
public static Vector4 Clamp(Vector4 vec, Vector4 min, Vector4 max)
result = Vector4.Clamp(vec, min, max)
将矢量粘接到给定最小和最大矢量
- vec
- 输入向量
- min
- 最小向量
- max
- 最大向量
返回值: 夹住的向量
public static Vector4 Divide(Vector4 vector, double scale)
result = Vector4.Divide(vector, scale)
将矢量除以平面。
- vector
- 左行经.
- scale
- 右行经.
返回值: 手术结果。
public static void Divide(Vector4 vector, double scale, Vector4 result)
Vector4.Divide(vector, scale, result)
将矢量除以平面。
- vector
- 左行经.
- scale
- 右行经.
- result
- 手术结果。
public static Vector4 Divide(Vector4 vector, Vector4 scale)
result = Vector4.Divide(vector, scale)
将矢量除以矢量(比例)的成分。
- vector
- 左行经.
- scale
- 右行经.
返回值: 手术结果。
public static void Divide(Vector4 vector, Vector4 scale, Vector4 result)
Vector4.Divide(vector, scale, result)
将矢量除以矢量( 比例) 的组件 。
- vector
- 左行经.
- scale
- 右行经.
- result
- 手术结果。
public static void Dot(Vector4 left, Vector4 right, double result)
Vector4.Dot(left, right, result)
计算两个向量的点产物
- left
- 首个操作
- right
- 第二行 :
- result
- 两种投入的点出产物
public static double Dot(Vector4 left, Vector4 right)
result = Vector4.Dot(left, right)
计算两个向量的点产物
- left
- 首个操作
- right
- 第二行 :
返回值: 两种投入的点出产物
public bool Equals(Vector4 other)
result = vector4.Equals(other)
指示当前矢量是否等于另一个矢量。
- other
- 与此向量进行比较的向量 。
返回值: 如果当前矢量与矢量参数相等,则为真;否则,为假。
public override bool Equals(object obj)
result = vector4.Equals(obj)
指示此实例与指定的对象是否相等。
- obj
- 要比较的对象 。
返回值: 如果情况相等,则属实;否则,则属实。
public override int GetHashCode()
result = vector4.GetHashCode()
返回此实例的散列码 。
返回值: 包含此实例独有的散列码的 System.Int32 。
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, 否则为线性组合
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, 否则为线性组合
public static void Max(Vector4 a, Vector4 b, Vector4 result)
Vector4.Max(a, b, result)
计算两个向量的组件最大值
- a
- 首个操作
- b
- 第二行 :
- result
- 组件最大值
public static Vector4 Max(Vector4 a, Vector4 b)
result = Vector4.Max(a, b)
计算两个向量的组件最大值
- a
- 首个操作
- b
- 第二行 :
返回值: 组件最大值
public static Vector4 Min(Vector4 a, Vector4 b)
result = Vector4.Min(a, b)
计算两个向量的最小组件
- a
- 首个操作
- b
- 第二行 :
返回值: 最低成分
public static void Min(Vector4 a, Vector4 b, Vector4 result)
Vector4.Min(a, b, result)
计算两个向量的最小组件
- a
- 首个操作
- b
- 第二行 :
- result
- 最低成分
public static Vector4 Multiply(Vector4 vector, double scale)
result = Vector4.Multiply(vector, scale)
用平板刀将矢量相乘.
- vector
- 左行经.
- scale
- 右行经.
返回值: 手术结果。
public static void Multiply(Vector4 vector, double scale, Vector4 result)
Vector4.Multiply(vector, scale, result)
用平板刀将矢量相乘.
- vector
- 左行经.
- scale
- 右行经.
- result
- 手术结果。
public static Vector4 Multiply(Vector4 vector, Vector4 scale)
result = Vector4.Multiply(vector, scale)
将矢量乘以组件为矢量(比例)。
- vector
- 左行经.
- scale
- 右行经.
返回值: 手术结果。
public static void Multiply(Vector4 vector, Vector4 scale, Vector4 result)
Vector4.Multiply(vector, scale, result)
将矢量乘以矢量(比例)的成分。
- vector
- 左行经.
- scale
- 右行经.
- result
- 手术结果。
public static Vector4 Normalize(Vector4 vec)
result = Vector4.Normalize(vec)
将矢量缩放到单位长度
- vec
- 输入向量
返回值: 正常化的向量
public static void Normalize(Vector4 vec, Vector4 result)
Vector4.Normalize(vec, result)
将矢量缩放到单位长度
- vec
- 输入向量
- result
- 正常化的向量
public static void NormalizeFast(Vector4 vec, Vector4 result)
Vector4.NormalizeFast(vec, result)
将矢量缩放到大约单位长度
- vec
- 输入向量
- result
- 正常化的向量
public static Vector4 NormalizeFast(Vector4 vec)
result = Vector4.NormalizeFast(vec)
将矢量缩放到大约单位长度
- vec
- 输入向量
返回值: 正常化的向量
public static Vector4 op_Addition(Vector4 left, Vector4 right)
result = Vector4.op_Addition(left, right)
添加两个实例。
- left
- 初一释.
- right
- 二证相.
返回值: 算出的结果.
public static Vector4 op_Division(Vector4 vec, double scale)
result = Vector4.op_Division(vec, scale)
以平分一个实例。
- vec
- 例为.
- scale
- 斯伽罗.
返回值: 算出的结果.
public static bool op_Equality(Vector4 left, Vector4 right)
result = Vector4.op_Equality(left, right)
比较两个平等的例子。
- left
- 初一释.
- right
- 二证相.
返回值: 正确,如果左等右;否则是虚假的。
public static bool op_Inequality(Vector4 left, Vector4 right)
result = Vector4.op_Inequality(left, right)
比较了不平等的两个情况。
- left
- 初一释.
- right
- 二证相.
返回值: 没错,如果左侧不等于右;否则就是假的。
public static Vector4 op_Multiply(double scale, Vector4 vec)
result = Vector4.op_Multiply(scale, vec)
乘以一相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相
- scale
- 斯伽罗.
- vec
- 例为.
返回值: 算出的结果.
public static Vector4 op_Multiply(Vector4 vec, double scale)
result = Vector4.op_Multiply(vec, scale)
乘以一相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相
- vec
- 例为.
- scale
- 斯伽罗.
返回值: 算出的结果.
public static Vector4 op_Subtraction(Vector4 left, Vector4 right)
result = Vector4.op_Subtraction(left, right)
减作二相.
- left
- 初一释.
- right
- 二证相.
返回值: 算出的结果.
public static Vector4 op_UnaryNegation(Vector4 vec)
result = Vector4.op_UnaryNegation(vec)
忽略了一个例子。
- vec
- 例为.
返回值: 算出的结果.
public static Vector4 Subtract(Vector4 a, Vector4 b)
result = Vector4.Subtract(a, b)
从另一个矢量中减掉一个矢量
- a
- 首个操作
- b
- 第二行 :
返回值: 减去结果
public static void Subtract(Vector4 a, Vector4 b, Vector4 result)
Vector4.Subtract(a, b, result)
从另一个矢量中减掉一个矢量
- a
- 首个操作
- b
- 第二行 :
- result
- 减去结果
public string ToString(string format)
result = vector4.ToString(format)
返回一个代表当前矢量4d的System.String,将每个元素格式化。
- format
public static Vector4 Transform(Vector4 vec, Matrix4X4 mat)
result = Vector4.Transform(vec, mat)
由给定矩阵转换矢量
- vec
- 要变换的向量
- mat
- 期望的转变
返回值: 变形向量
public static void Transform(Vector4 vec, Matrix4X4 mat, Vector4 result)
Vector4.Transform(vec, mat, result)
由给定矩阵转换矢量
- vec
- 要变换的向量
- mat
- 期望的转变
- result
- 变形向量
public static Vector4 Transform(Vector4 vec, Quaternion quat)
result = Vector4.Transform(vec, quat)
通过四角旋转来改变向量。
- vec
- 向量变相.
- quat
- 将矢量由四角旋转。
返回值: 手术结果.
public static void Transform(Vector4 vec, Quaternion quat, Vector4 result)
Vector4.Transform(vec, quat, result)
通过四角旋转来改变向量。
- vec
- 向量变相.
- quat
- 将矢量由四角旋转。
- result
- 手术结果.