25 lines
493 B
Kotlin
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
|
|
}
|