以下是 XMVector4Normalize 函数的声明:
XMVECTOR XMVector4Normalize(
FXMVECTOR V
);
该函数接受一个四维向量 V,并返回一个已标准化的向量,即长度为1的向量。如果输入向量的长度为零,将返回零向量。
以下是一个简单的示例用法:
#include <DirectXMath.h>
#include <iostream>
using namespace DirectX;
int main() {
// 创建一个四维向量
XMVECTOR vector = XMVectorSet(2.0f, 3.0f, 4.0f, 0.0f);
// 标准化向量
XMVECTOR normalizedVector = XMVector4Normalize(vector);
// 输出结果
std::cout << "Original Vector: (" << XMVectorGetX(vector) << ", "
<< XMVectorGetY(vector) << ", " << XMVectorGetZ(vector) << ", "
<< XMVectorGetW(vector) << ")\n";
std::cout << "Normalized Vector: (" << XMVectorGetX(normalizedVector) << ", "
<< XMVectorGetY(normalizedVector) << ", " << XMVectorGetZ(normalizedVector) << ", "
<< XMVectorGetW(normalizedVector) << ")\n";
return 0;
}
在上面的例子中,XMVector4Normalize 将标准化给定的四维向量,并将结果输出到控制台。标准化后的向量具有相同的方向,但其长度变为1。
转载请注明出处:http://www.zyzy.cn/article/detail/27079/Win32 API/Directxmath.h/XMVector4Normalize