Vector2 結構

定義

表示具有兩個單精度浮點值的向量。

public value class Vector2 : IEquatable<System::Numerics::Vector2>, IFormattable
public struct Vector2 : IEquatable<System.Numerics.Vector2>, IFormattable
type Vector2 = struct
    interface IFormattable
Public Structure Vector2
Implements IEquatable(Of Vector2), IFormattable
繼承
Vector2
實作

備註

Vector2 結構提供硬體加速支援。

對於矩陣變換, Vector2Vector3Vector4 實例以行表示:向量 v 被矩陣 MvM 乘法轉換。

建構函式

名稱 Description
Vector2(ReadOnlySpan<Single>)

從給定 ReadOnlySpan<T>的 構造一個向量。 跨度必須包含至少兩個元素。

Vector2(Single, Single)

建立一個元素具有指定值的向量。

Vector2(Single)

建立一個新 Vector2 物件,其兩個元素的值相同。

欄位

名稱 Description
X

向量的 X 分量。

Y

向量的Y分量。

屬性

名稱 Description
AllBitsSet

得到一個向量,所有位元都設為 1

E

得到一個向量,其元素 E等於 。

Epsilon

得到一個向量,其元素 Epsilon等於 。

Item[Int32]

取得或設定位於指定索引處的專案。

NaN

得到一個向量,其元素 NaN等於 。

NegativeInfinity

得到一個向量,其元素 NegativeInfinity等於 。

NegativeZero

得到一個向量,其元素 NegativeZero等於 。

One

得到一個向量,其兩個元素等於一。

Pi

得到一個向量,其元素 Pi等於 。

PositiveInfinity

得到一個向量,其元素 PositiveInfinity等於 。

Tau

得到一個向量,其元素 Tau等於 。

UnitX

得到向量 (1,0)。

UnitY

得到向量 (0,1)。

Zero

回傳一個兩個元素等於零的向量。

方法

名稱 Description
Abs(Vector2)

回傳一個向量,其元素為指定向量中每個元素的絕對值。

Add(Vector2, Vector2)

將兩個向量相加。

All(Vector2, Single)

判斷向量的所有元素是否等於某一給定值。

AllWhereAllBitsSet(Vector2)

判斷向量中所有元素是否都已設定所有位元。

AndNot(Vector2, Vector2)

計算給定向量的位元與與另一個向量的補數。

Any(Vector2, Single)

判斷向量中任何元素是否等於某個給定值。

AnyWhereAllBitsSet(Vector2)

判斷向量中任何元素是否已設定所有位元。

BitwiseAnd(Vector2, Vector2)

計算兩個向量的位元與。

BitwiseOr(Vector2, Vector2)

計算兩個向量的位元或。

Clamp(Vector2, Vector2, Vector2)

限制向量介於最小值與最大值之間。

ClampNative(Vector2, Vector2, Vector2)

利用平台特定行為NaNNegativeZero限制最小值與最大值之間的向量,且 ..

ConditionalSelect(Vector2, Vector2, Vector2)

條件式從兩個向量中以位元方式選擇一個值。

CopySign(Vector2, Vector2)

將一個向量的每個元素符號複製到另一個向量的每個元素符號。

CopyTo(Single[], Int32)

將向量的元素複製到指定陣列,從指定的索引位置開始。

CopyTo(Single[])

將向量的元素複製到指定陣列。

CopyTo(Span<Single>)

將向量複製到給定 Span<T>的 。目的跨距的長度必須至少為2。

Cos(Vector2)

計算向量中每個元素的餘弦值。

Count(Vector2, Single)

決定向量中等於某一給定值的元素數量。

CountWhereAllBitsSet(Vector2)

決定向量中所有位元都設定為的元素數量。

Create(ReadOnlySpan<Single>)

從給定 ReadOnlySpan<T>的 構造一個向量。 跨度必須包含至少兩個元素。

Create(Single, Single)

建立一個元素具有指定值的向量。

Create(Single)

建立一個新 Vector2 物件,其兩個元素的值相同。

CreateScalar(Single)

建立一個向量,初始 X 化為指定值,其餘元素初始化為零。

CreateScalarUnsafe(Single)

建立一個向量,初始 X 化為指定值,其餘元素未初始化。

Cross(Vector2, Vector2)

回傳兩個向量叉積的 z 值。

由於向量2位於x-y平面,三維叉積只會產生z值。

DegreesToRadians(Vector2)

將給定向量從度轉換為弧度。

Distance(Vector2, Vector2)

計算兩點之間的歐幾里得距離。

DistanceSquared(Vector2, Vector2)

回傳兩個指定點之間的歐幾里得距離平方。

Divide(Vector2, Single)

將指定的向量除以指定的純量值。

Divide(Vector2, Vector2)

將第一個向量除以第二個。

Dot(Vector2, Vector2)

回傳兩個向量的點積。

Equals(Object)

回傳一個值,表示此實例與指定物件是否相等。

Equals(Vector2, Vector2)

比較兩個向量,以判斷它們在每個元素基礎上是否相等。

Equals(Vector2)

回傳一個值,表示此實例與另一個向量是否相等。

EqualsAll(Vector2, Vector2)

比較兩個向量以判斷所有元素是否相等。

EqualsAny(Vector2, Vector2)

比較兩個向量以判斷是否有元素相等。

Exp(Vector2)

計算向量中每個元素的指數。

FusedMultiplyAdd(Vector2, Vector2, Vector2)

計算 (left * right) + addend,四捨五入為一個三元運算。

GetHashCode()

傳回這個實例的哈希碼。

GreaterThan(Vector2, Vector2)

比較兩個向量,以判斷在每個元素基礎上哪個更強。

GreaterThanAll(Vector2, Vector2)

比較兩個向量以判斷所有元素是否都較大。

GreaterThanAny(Vector2, Vector2)

比較兩個向量以判斷是否有元素較大。

GreaterThanOrEqual(Vector2, Vector2)

比較兩個向量,以判定在每個元素基礎上哪個更優或相等。

GreaterThanOrEqualAll(Vector2, Vector2)

比較兩個向量以判斷所有元素是否大於或相等。

GreaterThanOrEqualAny(Vector2, Vector2)

比較兩個向量以判斷任何元素是否大於或相等。

Hypot(Vector2, Vector2)

計算斜邊,給定兩個代表直角三角形中較短邊長度的向量。

IndexOf(Vector2, Single)

決定向量中第一個元素的索引,該元素等於給定值。

IndexOfWhereAllBitsSet(Vector2)

決定向量中第一個元素的索引,該向量所有位元都已設定。

IsEvenInteger(Vector2)

決定向量中哪些元素為整數值。

IsFinite(Vector2)

決定向量中哪些元素是有限的。

IsInfinity(Vector2)

決定向量中哪些元素是無限大。

IsInteger(Vector2)

決定向量中哪些元素為整數值。

IsNaN(Vector2)

決定向量中哪些元素是NaN。

IsNegative(Vector2)

決定向量中哪些元素代表負實數。

IsNegativeInfinity(Vector2)

決定向量中哪些元素為負無限大。

IsNormal(Vector2)

決定向量中哪些元素是正規的。

IsOddInteger(Vector2)

決定向量中哪些元素為奇積分值。

IsPositive(Vector2)

決定向量中哪些元素代表正實數。

IsPositiveInfinity(Vector2)

決定向量中哪些元素為正無限大。

IsSubnormal(Vector2)

判斷向量中哪些元素是次正規的。

IsZero(Vector2)

決定向量中哪些元素為零。

LastIndexOf(Vector2, Single)

決定向量中最後一個元素的指標,該元素等於給定值。

LastIndexOfWhereAllBitsSet(Vector2)

決定向量中最後一個元素的索引,該向量中所有位元都已設定。

Length()

回傳向量的長度。

LengthSquared()

返回向量的長度平方。

Lerp(Vector2, Vector2, Single)

根據給定權重,在兩個向量間進行線性插值。

Lerp(Vector2, Vector2, Vector2)

根據給定權重,在兩個向量間進行線性插值。

LessThan(Vector2, Vector2)

比較兩個向量,以判斷每個元素的尺寸哪個較小。

LessThanAll(Vector2, Vector2)

比較兩個向量以判斷所有元素是否都較小。

LessThanAny(Vector2, Vector2)

比較兩個向量以判斷是否有元素較小。

LessThanOrEqual(Vector2, Vector2)

比較兩個向量,以判定每個元素的大小。

LessThanOrEqualAll(Vector2, Vector2)

比較兩個向量以判斷所有元素大小為小或相等。

LessThanOrEqualAny(Vector2, Vector2)

比較兩個向量以判斷任何元素大小或相等。

Load(Single*)

從給定來源載入向量。

LoadAligned(Single*)

從給定的對齊來源載入向量。

LoadAlignedNonTemporal(Single*)

從給定的對齊來源載入向量。

LoadUnsafe(Single, UIntPtr)

從給定來源和元素偏移量載入向量。

LoadUnsafe(Single)

從給定來源載入向量。

Log(Vector2)

計算向量中每個元素的對數。

Log2(Vector2)

計算向量中每個元素的 log²。

Max(Vector2, Vector2)

回傳一個向量,其元素為兩個指定向量中每對元素的最大值。

MaxMagnitude(Vector2, Vector2)

比較兩個向量以計算出在每個元素基礎上,哪個向量的大小較大。

MaxMagnitudeNumber(Vector2, Vector2)

以每個元素為單位比較兩個向量,計算出哪個大小較大,若輸入為 NaN則返回另一個值。

MaxNative(Vector2, Vector2)

比較兩個向量,利用平台特定行為NaNNegativeZero在每個元素上判斷哪個更強。

MaxNumber(Vector2, Vector2)

以每個元素比較兩個向量,計算哪個較大,若元素為 NaN則返回另一個值。

Min(Vector2, Vector2)

回傳一個向量,其元素為兩個指定向量中每對元素的最小值。

MinMagnitude(Vector2, Vector2)

比較兩個向量以計算,哪個在每個元素基礎上大小較小。

MinMagnitudeNumber(Vector2, Vector2)

以每個元素為基礎比較兩個向量,計算出大小較小的向量,若輸入為 NaN,則返回另一個值。

MinNative(Vector2, Vector2)

比較兩個向量,利用平台特定行為在NaNNegativeZero每個元素上判斷哪個較小。

MinNumber(Vector2, Vector2)

以每個元素比較兩個向量,計算哪個較小,若元素為 NaN則返回另一個值。

Multiply(Single, Vector2)

將標量值乘以指定的向量。

Multiply(Vector2, Single)

將向量乘以指定的標量。

Multiply(Vector2, Vector2)

回傳一個新向量,其值為兩個指定向量中每對元素的乘積。

MultiplyAddEstimate(Vector2, Vector2, Vector2)

計算估計值為(left * right) + 。 addend

Negate(Vector2)

否定指定向量。

None(Vector2, Single)

判斷向量中是否沒有元素等於某一給定值。

NoneWhereAllBitsSet(Vector2)

判斷向量中沒有元素的位元全部被設定。

Normalize(Vector2)

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

OnesComplement(Vector2)

計算向量的一補數。

RadiansToDegrees(Vector2)

將給定向量從弧度轉換為度數。

Reflect(Vector2, Vector2)

回傳從具有指定法線的表面反射向量的結果。

Round(Vector2, MidpointRounding)

利用指定的四捨五入模式將向量中的每個元素捨入至最接近的整數。

Round(Vector2)

利用預設的四捨五入模式(ToEven)將向量中的每個元素捨入到最接近的整數。

Shuffle(Vector2, Byte, Byte)

透過使用一組索引從輸入向量中選取值來建立新的向量。

Sin(Vector2)

計算向量中每個元素的正弦值。

SinCos(Vector2)

計算向量中每個元素的正弦與餘弦值。

SquareRoot(Vector2)

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

Subtract(Vector2, Vector2)

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

Sum(Vector2)

計算向量中所有元素的總和。

ToString()

使用預設格式傳回目前實例的字串表示。

ToString(String, IFormatProvider)

傳回目前實例的字串表示,使用指定的格式字串來格式化個別專案,以及定義特定文化特性格式的指定格式提供者。

ToString(String)

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

Transform(Vector2, Matrix3x2)

將向量轉換為指定的 3x2 矩陣。

Transform(Vector2, Matrix4x4)

將向量轉換為指定的 4x4 矩陣。

Transform(Vector2, Quaternion)

將向量轉換為指定的四元數旋轉值。

TransformNormal(Vector2, Matrix3x2)

將法線向量轉換為給定的 3x2 矩陣。

TransformNormal(Vector2, Matrix4x4)

將法向量轉換為給定的 4x4 矩陣。

Truncate(Vector2)

截斷向量中的每個元素。

TryCopyTo(Span<Single>)

嘗試將向量複製到給定 Span<T>的 。 目的跨距的長度必須至少為2。

Xor(Vector2, Vector2)

計算兩個向量的排他或。

操作員

名稱 Description
Addition(Vector2, Vector2)

將兩個向量相加。

BitwiseAnd(Vector2, Vector2)

計算兩個向量的位元與。

BitwiseOr(Vector2, Vector2)

計算兩個向量的位元或。

Division(Vector2, Single)

將指定的向量除以指定的純量值。

Division(Vector2, Vector2)

將第一個向量除以第二個。

Equality(Vector2, Vector2)

回傳一個值,表示兩個指定向量中每對元素是否相等。

ExclusiveOr(Vector2, Vector2)

計算兩個向量的排他或。

Inequality(Vector2, Vector2)

回傳一個值,表示兩個指定向量是否不相等。

LeftShift(Vector2, Int32)

會使向量中剩餘的每個元素移動指定長度。

Multiply(Single, Vector2)

將標量值乘以指定的向量。

Multiply(Vector2, Single)

將指定的向量乘以指定的純量值。

Multiply(Vector2, Vector2)

回傳一個新向量,其值為兩個指定向量中每對元素的乘積。

OnesComplement(Vector2)

計算向量的一補數。

RightShift(Vector2, Int32)

向量中的每個元素向右移動(帶符號)以指定幅度。

Subtraction(Vector2, Vector2)

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

UnaryNegation(Vector2)

否定指定的向量。

UnaryPlus(Vector2)

回傳給定向量不變。

UnsignedRightShift(Vector2, Int32)

將向量中的每個元素(無符號)向右偏移指定幅度。

擴充方法

名稱 Description
AsVector128(Vector2)

將 a Vector2 重新詮釋為新的 Vector128<T>

AsVector128Unsafe(Vector2)

將 a Vector2 重新詮釋為新的 Vector128<T>,使新元素未被定義。

AsVector3(Vector2)

將 a Vector2 重新詮釋為新 Vector3 元素,並將新元素歸零。

AsVector3Unsafe(Vector2)

將 a Vector2 重新詮釋為 Vector3 新元素未定義的新元素。

AsVector4(Vector2)

將 a Vector2 重新詮釋為新 Vector4 元素,並將新元素歸零。

AsVector4Unsafe(Vector2)

將 a Vector2 重新詮釋為 Vector4 新元素未定義的新元素。

ExtractMostSignificantBits(Vector2)

從向量中每個元素中提取最高有效位元。

GetElement(Vector2, Int32)

取得位於指定索引處的專案。

Store(Vector2, Single*)

在指定目的地儲存一個向量。

StoreAligned(Vector2, Single*)

在指定的 8 位元組對齊目的地儲存向量。

StoreAlignedNonTemporal(Vector2, Single*)

在指定的 8 位元組對齊目的地儲存向量。

StoreUnsafe(Vector2, Single, UIntPtr)

在指定目的地儲存一個向量。

StoreUnsafe(Vector2, Single)

在指定目的地儲存一個向量。

ToPoint(Vector2)

表示具有兩個單精度浮點值的向量。

ToScalar(Vector2)

將給定向量轉換為包含第一個元素值的標量。

ToSize(Vector2)

表示具有兩個單精度浮點值的向量。

WithElement(Vector2, Int32, Single)

建立一個新 Vector128<T> Entry,將指定索引的元素設定為指定值,其餘元素則設定為與給定向量中的相同值。

適用於