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 元件。

屬性

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)

傳回與指定向量方向相同的向量,但長度為 1。

Reflect(Vector3, Vector3)

傳回具有指定法線之向量在平面上的反射。

SquareRoot(Vector3)

傳回一個向量,其元素為指定向量之每個元素的平方根。

Subtract(Vector3, Vector3)

從第一個向量減去第二個向量。

ToString()

使用預設格式傳回目前執行個體的字串表示。

ToString(String)

使用指定格式字串來格式化個別項目,傳回目前執行個體的字串表示。

ToString(String, IFormatProvider)

使用指定格式字串來格式化個別項目,以及使用指定的格式提供者來定義特定文化特性的格式,傳回目前執行個體的字串表示。

Transform(Vector3, Matrix4x4)

依據指定的 4x4 矩陣轉換向量。

Transform(Vector3, Quaternion)

依據指定的四元數旋轉值來轉換向量。

TransformNormal(Vector3, Matrix4x4)

依據指定的 4x4 矩陣轉換向量的法線。

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>

適用於