float3 结构

具有三个分量的向量。

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

构造函数

名称 说明
float3() 创建未初始化的 float3。
float3(float x, float y, float z) 创建具有指定值的 float3。
float3(float2 value, float z) 使用从 float2 复制的 x 和 y 以及指定的 z 值创建 float3。
explicit float3(float value) 创建一个 float3,其中所有组件都设置为指定值。
float3(Microsoft::Graphics::Canvas::Numerics::Vector3 const& value) Microsoft.Graphics.Canvas.Numerics.Vector3 转换为 float3。

函数

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

方法

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

运算符

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

字段

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

要求

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

另请参阅

windowsnumerics.h API