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 实例表示为行:矢量 v 由矩阵 MvM 乘法转换。

构造函数

Vector3(ReadOnlySpan<Single>)

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

Vector3(Single)

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

Vector3(Single, Single, Single)

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

Vector3(Vector2, Single)

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

字段

X

矢量的 X 分量。

Y

矢量的 Y 分量。

Z

矢量的 Z 分量。

属性

E

获取其元素等于 E的向量。

Epsilon

获取其元素等于 Epsilon的向量。

Item[Int32]

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

NaN

获取其元素等于 NaN的向量。

NegativeInfinity

获取其元素等于 NegativeInfinity的向量。

NegativeZero

获取其元素等于 NegativeZero的向量。

One

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

Pi

获取其元素等于 Pi的向量。

PositiveInfinity

获取其元素等于 PositiveInfinity的向量。

Tau

获取其元素等于 Tau的向量。

UnitX

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

UnitY

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

UnitZ

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

Zero

获取一个向量,其 3 个元素等于零。

方法

Abs(Vector3)

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

Add(Vector3, Vector3)

将两个向量相加。

Clamp(Vector3, Vector3, Vector3)

限制最小值和最大值之间的向量。

ClampNative(Vector3, Vector3, Vector3)

使用 NaNNegativeZero.的平台特定行为限制最小值和最大值之间的向量。

CopySign(Vector3, Vector3)

将向量的 per-element 符号复制到另一个向量的 per-element 符号。

CopyTo(Single[])

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

CopyTo(Single[], Int32)

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

CopyTo(Span<Single>)

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

Cos(Vector3)

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

Create(ReadOnlySpan<Single>)

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

Create(Single)

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

Create(Single, Single, Single)

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

Create(Vector2, Single)

从指定的 Vector2 对象和 Z 组件创建新的 Vector3 对象。

Cross(Vector3, Vector3)

计算两个向量的交叉乘积。

DegreesToRadians(Vector3)

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

Distance(Vector3, Vector3)

计算两个给定点之间的 Euclidean 距离。

DistanceSquared(Vector3, Vector3)

返回两个指定点之间的 Euclidean 距离平方。

Divide(Vector3, Single)

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

Divide(Vector3, Vector3)

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

Dot(Vector3, Vector3)

返回两个向量的点积。

Equals(Object)

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

Equals(Vector3)

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

Exp(Vector3)

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

FusedMultiplyAdd(Vector3, Vector3, Vector3)

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

GetHashCode()

返回此实例的哈希代码。

Hypot(Vector3, Vector3)

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

Length()

返回此向量对象的长度。

LengthSquared()

返回向量平方的长度。

Lerp(Vector3, Vector3, Single)

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

Lerp(Vector3, Vector3, Vector3)

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

Log(Vector3)

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

Log2(Vector3)

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

Max(Vector3, Vector3)

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

MaxMagnitude(Vector3, Vector3)

将两个向量与计算进行比较,每个元素具有更大的数量级。

MaxMagnitudeNumber(Vector3, Vector3)

将两个向量(基于每个元素)与计算进行比较,如果输入 NaN,则计算其数量级更大并返回另一个值。

MaxNative(Vector3, Vector3)

比较两个向量,以确定每个元素使用特定于平台的行为 NaNNegativeZero

MaxNumber(Vector3, Vector3)

将两个向量(基于每个元素)与计算结果进行比较,如果元素 NaN,则计算该值更大,并返回另一个值。

Min(Vector3, Vector3)

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

MinMagnitude(Vector3, Vector3)

将两个向量与计算进行比较,每个元素的量级较小。

MinMagnitudeNumber(Vector3, Vector3)

将两个向量(基于每个元素)与计算进行比较,如果输入 NaN,则计算其数量级较小并返回另一个值。

MinNative(Vector3, Vector3)

比较两个向量,以确定每个元素使用特定于平台的行为 NaNNegativeZero

MinNumber(Vector3, Vector3)

比较两个向量(基于每个元素)计算,如果元素 NaN,则计算该向量更小,并返回另一个值。

Multiply(Single, Vector3)

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

Multiply(Vector3, Single)

将矢量乘以指定的标量。

Multiply(Vector3, Vector3)

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

MultiplyAddEstimate(Vector3, Vector3, Vector3)

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

Negate(Vector3)

否定指定的向量。

Normalize(Vector3)

返回与指定向量相同的方向但长度为 1 的向量。

RadiansToDegrees(Vector3)

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

Reflect(Vector3, Vector3)

返回具有指定法线的图面上的向量反射。

Round(Vector3)

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

Round(Vector3, MidpointRounding)

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

Sin(Vector3)

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

SinCos(Vector3)

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

SquareRoot(Vector3)

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

Subtract(Vector3, Vector3)

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

ToString()

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

ToString(String)

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

ToString(String, IFormatProvider)

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

Transform(Vector3, Matrix4x4)

按指定的 4x4 矩阵转换向量。

Transform(Vector3, Quaternion)

按指定的四元数旋转值转换向量。

TransformNormal(Vector3, Matrix4x4)

按给定的 4x4 矩阵转换向量法线。

Truncate(Vector3)

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

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)

否定指定的向量。

扩展方法

AsVector4(Vector3)

Vector3 转换为具有零新元素的新 Vector4

AsVector4Unsafe(Vector3)

使用未定义的新元素将 Vector3 转换为新的 Vector4

AsVector128(Vector3)

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

AsVector128Unsafe(Vector3)

Vector3 重新解释为新的 Vector128<T>,使新元素未定义。

适用于