KStarbound/src/main/kotlin/ru/dbotthepony/kstarbound/math/FastMath.kt
2022-02-17 11:49:50 +07:00

25 lines
493 B
Kotlin

package ru.dbotthepony.kstarbound.math
/**
* Выполняет скалярное умножение между a и векторным произведением b, c на стеке
*/
fun scalarDotWithCross(
ax: Double,
ay: Double,
az: Double,
bx: Double,
by: Double,
bz: Double,
cx: Double,
cy: Double,
cz: Double,
): Double {
val crossX = by * cz - bz * cy
val crossY = bz * cx - bx * cz
val crossZ = bx * cy - by * cx
return ax * crossX + ay * crossY + az * crossZ
}