Vector3 结构

定义

表示具有三个单精度浮点值的向量。

public value class Vector3 : IEquatable<System::Numerics::Vector3>, IFormattable
public struct Vector3 : IEquatable<System.Numerics.Vector3>, IFormattable
type Vector3 = struct
    interface IFormattable
Public Structure Vector3
Implements IEquatable(Of Vector3), IFormattable
继承
Vector3
实现

注解

结构 Vector3 支持硬件加速。

对于矩阵转换,Vector2Vector3Vector4 实例表示为行:矩阵 M 使用 vM 乘法转换矢量 v

构造函数

Vector3(ReadOnlySpan<Single>)

根据给定的 ReadOnlySpan<T> 构造一个向量。 范围必须至少包含 3 个元素。

Vector3(Single)

创建一个其三个元素具有相同值的新 Vector3 对象。

Vector3(Single, Single, Single)

创建一个其元素具有指定值的向量。

Vector3(Vector2, Single)

从指定的 对象和指定的Vector2值创建一个新Vector3对象。

字段

X

向量的 X 分量。

Y

向量的 Y 分量。

Z

向量的 Z 分量。

属性

Item[Int32]

获取或设置指定索引处的元素。

One

获取一个其 3 个元素等于 1 的向量。

UnitX

获取向量 (1,0,0)。

UnitY

获取向量 (0,1,0)。

UnitZ

获取向量 (0,0,1)。

Zero

获取一个其 3 个元素等于 0 的向量。

方法

Abs(Vector3)

返回一个向量,其元素是指定向量的每个元素的绝对值。

Add(Vector3, Vector3)

将两个向量相加。

Clamp(Vector3, Vector3, Vector3)

将向量限制在最小值与最大值之间。

CopyTo(Single[])

将向量的元素复制到指定数组中。

CopyTo(Single[], Int32)

从指定的索引位置开始,将向量的元素复制到指定的数组中。

CopyTo(Span<Single>)

将向量复制到给定的 Span<T>。 目标范围的长度必须至少为 3。

Cross(Vector3, Vector3)

计算两个向量的叉积。

Distance(Vector3, Vector3)

计算两个给定点之间的欧几里得距离。

DistanceSquared(Vector3, Vector3)

返回两个指定点之间的欧几里得距离平方值。

Divide(Vector3, Single)

将指定向量除以指定标量值。

Divide(Vector3, Vector3)

将第一个向量除以第二个向量。

Dot(Vector3, Vector3)

返回两个向量的点积。

Equals(Object)

返回一个值,该值指示此实例是否与指定对象相等。

Equals(Vector3)

返回一个值,该值指示此实例是否与另一个向量相等。

GetHashCode()

返回此实例的哈希代码。

Length()

返回此向量对象的长度。

LengthSquared()

返回向量长度平方值。

Lerp(Vector3, Vector3, Single)

基于给定权重在两个向量之间执行线性内插。

Max(Vector3, Vector3)

返回一个向量,其元素是两个指定向量中每对元素的较大值。

Min(Vector3, Vector3)

返回一个向量,其元素是两个指定向量中每对元素的较小值。

Multiply(Single, Vector3)

将标量值乘以指定向量。

Multiply(Vector3, Single)

将向量乘以指定标量。

Multiply(Vector3, Vector3)

返回一个新向量,其值是两个指定向量中的每对元素的乘积。

Negate(Vector3)

对指定向量求反。

Normalize(Vector3)

返回一个向量,其方向与指定向量相同,但长度为一。

Reflect(Vector3, Vector3)

返回向量对具有指定法线的表面的反射。

SquareRoot(Vector3)

返回一个向量,其元素是指定向量的每个元素的平方根。

Subtract(Vector3, Vector3)

从第一个向量中减去第二个向量。

ToString()

使用默认格式设置返回当前实例的字符串表示形式。

ToString(String)

通过使用指定格式字符串设置各个元素的格式,来返回当前实例的字符串表示形式。

ToString(String, IFormatProvider)

通过使用指定格式字符串设置各个元素的格式并使用指定格式提供程序定义特定于区域性的格式设置,来返回当前实例的字符串表示形式。

Transform(Vector3, Matrix4x4)

通过指定 4 x 4 矩阵变换向量。

Transform(Vector3, Quaternion)

通过指定的四元数旋转值变换向量。

TransformNormal(Vector3, Matrix4x4)

通过给定的 4 x 4 矩阵转换向量法线。

TryCopyTo(Span<Single>)

请尝试将向量复制到给定的 Span<T>。 目标范围的长度必须至少为 3。

运算符

Addition(Vector3, Vector3)

将两个向量相加。

Division(Vector3, Single)

将指定向量除以指定标量值。

Division(Vector3, Vector3)

将第一个向量除以第二个向量。

Equality(Vector3, Vector3)

返回一个值,该值指示两个指定向量中的每对元素是否相等。

Inequality(Vector3, Vector3)

返回一个值,该值指示两个指定向量是否不相等。

Multiply(Single, Vector3)

将标量值乘以指定向量。

Multiply(Vector3, Single)

将指定向量乘以指定标量值。

Multiply(Vector3, Vector3)

返回一个新向量,其值是两个指定向量中的每对元素的乘积。

Subtraction(Vector3, Vector3)

从第一个向量中减去第二个向量。

UnaryNegation(Vector3)

对指定向量求反。

扩展方法

AsVector128(Vector3)

Vector3 重新解释为新的 Vector128<T>

适用于