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