Function directx_math::XMVector4Cross [−][src]
pub fn XMVector4Cross(V1: FXMVECTOR, V2: FXMVECTOR, V3: FXMVECTOR) -> FXMVECTOR
Computes the cross product between 4D vectors.
Parameters
V1
4D vector.
V2
4D vector.
V3
4D vector.
Return value
Returns the 4D cross product of V1, V2, and V3.
Remarks
A 4D cross-product is not well-defined. This function computes a geometric analog to the 3D cross product. XMVector4Orthogonal is another generalized ‘cross-product’ for 4D vectors.
The following pseudocode demonstrates the operation of the function:
XMVECTOR Result;
Result.x = V1.y * (V2.z * V3.w - V3.z * V2.w)
- V1.z * (V2.y * V3.w - V3.y * V2.w )
+ V1.w * (V2.y * V3.z - V3.y * V2.z);
Result.y = V1.x * (V3.z * V2.w - V2.z * V3.w)
- V1.z * (V3.x * V2.w - V2.x * V3.w)
+ V1.w * (V3.x * V2.z - V2.x * V3.z);
Result.z = V1.x * (V2.y * V3.w - V3.y * V2.w)
- V1.y * (V2.x * V3.w - V3.x * V2.w)
+ V1.w * (V2.x * V3.y - V3.x * V2.y);
Result.w = V1.x * (V3.y * V2.z - V2.y * V3.z)
- V1.y * (V3.x * V2.z - V2.x * V3.z)
+ V1.z * (V3.x * V2.y - V2.x * V3.y);
return Result;
Reference
https://docs.microsoft.com/en-us/windows/win32/api/directxmath/nf-directxmath-XMVector4Cross