Поделиться через


Функция XMVector4Cross (directxmath.h)

Вычисляет 4D-перекрестное произведение.

Синтаксис

XMVECTOR XM_CALLCONV XMVector4Cross(
  [in] FXMVECTOR V1,
  [in] FXMVECTOR V2,
  [in] FXMVECTOR V3
) noexcept;

Параметры

[in] V1

4D-вектор.

[in] V2

4D-вектор.

[in] V3

4D-вектор.

Возвращаемое значение

Возвращает 4D-перекрестное произведение V1, V2 и V3.

Комментарии

Перекрестное 4D-произведение не является четко определенным. Эта функция вычисляет геометрический аналог трехмерного перекрестного произведения. XMVector4Orthogonal — это еще одно обобщенное перекрестное произведение для 4D-векторов.

Следующий псевдокод демонстрирует работу функции:


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;
        

Требования к платформе

Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и Windows Phone 8 приложений.

Требования

   
Целевая платформа Windows
Header directxmath.h (включая DirectXMath.h)

См. также раздел

4D-векторные геометрические функции библиотеки DirectXMath