向量乘法
#include <DirectXMath.h>
int main() {
// 假设有两个 XMFLOAT3 向量
DirectX::XMFLOAT3 vector1(1.0f, 2.0f, 3.0f);
DirectX::XMFLOAT3 vector2(4.0f, 5.0f, 6.0f);
// 使用 operator* 进行向量乘法操作
DirectX::XMFLOAT3 result = vector1 * vector2;
// 打印结果
printf("Result: %.2f, %.2f, %.2f\n", result.x, result.y, result.z);
return 0;
}
这个示例中,result 将包含 vector1 和 vector2 向量对应分量的乘积。
向量和标量乘法
#include <DirectXMath.h>
int main() {
// 假设有一个 XMFLOAT3 向量
DirectX::XMFLOAT3 vector(1.0f, 2.0f, 3.0f);
// 使用 operator* 进行向量和标量的乘法操作
float scalar = 2.0f;
DirectX::XMFLOAT3 result = vector * scalar;
// 打印结果
printf("Result: %.2f, %.2f, %.2f\n", result.x, result.y, result.z);
return 0;
}
这个示例中,result 将包含 vector 中每个分量与 scalar 的乘积。
矩阵乘法
#include <DirectXMath.h>
int main() {
// 假设有两个 XMMATRIX 矩阵
DirectX::XMMATRIX matrix1 = DirectX::XMMatrixIdentity();
DirectX::XMMATRIX matrix2 = DirectX::XMMatrixScaling(2.0f, 3.0f, 1.0f);
// 使用 operator* 进行矩阵乘法操作
DirectX::XMMATRIX result = matrix1 * matrix2;
// 打印结果
DirectX::XMFLOAT4X4 resultValues;
DirectX::XMStoreFloat4x4(&resultValues, result);
printf("Result:\n%.2f, %.2f, %.2f, %.2f\n%.2f, %.2f, %.2f, %.2f\n%.2f, %.2f, %.2f, %.2f\n%.2f, %.2f, %.2f, %.2f\n",
resultValues._11, resultValues._12, resultValues._13, resultValues._14,
resultValues._21, resultValues._22, resultValues._23, resultValues._24,
resultValues._31, resultValues._32, resultValues._33, resultValues._34,
resultValues._41, resultValues._42, resultValues._43, resultValues._44);
return 0;
}
这个示例中,result 将是 matrix1 和 matrix2 矩阵相乘的结果。
转载请注明出处:http://www.zyzy.cn/article/detail/26887/Win32 API/Directxmath.h/NA:directxmath::operator*