float2 结构

具有两个分量的向量。

此类型仅在 C++ 中可用。 其 .NET 等效项是 System.Numerics.Vector2

构造函数

名称 说明
float2() 创建未初始化的 float2。
float2(float x, float y) 使用指定值创建 float2。
explicit float2(float value) 创建一个 float2,其中所有组件都设置为指定值。
float2(Microsoft::Graphics::Canvas::Numerics::Vector2 const& value) Microsoft.Graphics.Canvas.Numerics.Vector2 转换为 float2。
float2(Windows::Foundation::Point const& value) Windows.Foundation.Point 转换为 float2。
float2(Windows::Foundation::Size const& value) Windows.Foundation.Size 转换为 float2。

函数

名称 说明
float length(float2 const& value) 计算向量的长度或欧几里德距离。
float length_squared(float2 const& value) 计算矢量平方的长度或欧几里德距离。
float distance(float2 const& value1, float2 const& value2) 计算两个向量之间的欧几里得距离。
float distance_squared(float2 const& value1, float2 const& value2) 计算两个向量平方之间的欧几里德距离。
float dot(float2 const& value1, float2 const& value2) 计算两个向量的点积。
float2 normalize(float2 const& value) 从指定的向量创建单位向量。
float2 reflect(float2 const& vector, float2 const& normal) 确定给定向量和法线的反射向量。
float2 min(float2 const& value1, float2 const& value2) 返回一个矢量,其中包含每个匹配组件对的最小值。
float2 max(float2 const& value1, float2 const& value2) 返回一个矢量,其中包含每个匹配的组件对中的最高值。
float2 clamp(float2 const& value1, float2 const& min, float2 const& max) 将值限制在指定范围内。
float2 lerp(float2 const& value1, float2 const& value2, float amount) 在两个向量之间执行线性内插。
float2 transform(float2 const& position, float3x2 const& matrix) 转换指定矩阵 (x、y、0、1) 向量。
float2 transform(float2 const& position, float4x4 const& matrix) 转换指定矩阵 (x、y、0、1) 向量。
float2 transform_normal(float2 const& normal, float3x2 const& matrix) 转换指定矩阵 (x、y、0、0) 的法向量。
float2 transform_normal(float2 const& normal, float4x4 const& matrix) 转换指定矩阵 (x、y、0、0) 的法向量。
float2 transform(float2 const& value, quaternion const& rotation) 按给定的四元数转换 float2。

方法

名称 说明
static float2 zero() 返回一个 float2,其所有组件都设置为零。
static float2 one() 返回一个 float2,其所有组件都设置为 1。
static float2 unit_x() 返回 float2 (1, 0) 。
static float2 unit_y() 返回 float2 (0,1) 。

运算符

名称 说明
operator Windows::Foundation::Point() const 将 float2 转换为 Windows.Foundation.Point
operator Windows::Foundation::Size() const 将 float2 转换为 Windows.Foundation.Size
float2 operator+ (float2 const& value1, float2 const& value2) 添加两个向量。
float2 operator- (float2 const& value1, float2 const& value2) 从向量中减去向量。
float2 operator* (float2 const& value1, float2 const& value2) 将两个向量的分量相乘。
float2 operator* (float2 const& value1, float value2) 将矢量乘以标量。
float2 operator* (float value1, float2 const& value2) 将矢量乘以标量。
float2 operator/ (float2 const& value1, float2 const& value2) 将向量的分量除以另一个向量的分量。
float2 operator/ (float2 const& value1, float value2) 将矢量除以标量值。
float2 operator- (float2 const& value) 返回指向相反方向的向量。
float2& operator+= (float2& value1, float2 const& value2) 就地添加两个向量。
float2& operator-= (float2& value1, float2 const& value2) 就地从向量中减去向量。
float2& operator*= (float2& value1, float2 const& value2) 就地将两个向量的分量相乘。
float2& operator*= (float2& value1, float value2) 就地将向量乘以标量。
float2& operator/= (float2& value1, float2 const& value2) 就地将向量的分量除以另一个向量的分量。
float2& operator/= (float2& value1, float value2) 就地将矢量除以标量值。
bool operator== (float2 const& value1, float2 const& value2) 确定 float2 的两个实例是否相等。
bool operator!= (float2 const& value1, float2 const& value2) 确定 float2 的两个实例是否不相等。
operator Microsoft::?Graphics::?Canvas::?Numerics::?Vector2() const 将 float2 转换为 Microsoft.Graphics.Canvas.Numerics.Vector2

字段

名称 说明
float x 向量的 X 分量。
float y 向量的 Y 分量。

要求

要求
命名空间 Windows::Foundation::Numerics
标头
Windowsnumerics.h

另请参阅

windowsnumerics.h API