У меня проблемы с проверкой уже рассчитанного счета в javascript.Я дал несколько формул и 2 вектора - но независимо от того, как я вычисляю, я не получаю правильный результат.
Я был бы счастлив, если бы кто-то мог обнаружить мою неосторожную ошибку и помочь мнепотому что на данный момент я действительно беспомощен.
Даны эти векторы:
Это формулы для расчетадва угла (альфа и бета) :
Это основная формула для расчета шкалы векторов:
Здесь вы можете найти результат расчета (я не получаю тот же результат):
Это мой код JavaScript:
let u = [1, -0.2]
let v = [0.5, 0.8]
let mg_u = Math.sqrt(u[0] ** 2 + u[1] ** 2)
let mg_v = Math.sqrt(v[0] ** 2 + v[1] ** 2)
let sc_uv = u[0] * v[0] + u[1] * v[1]
let a = Math.sqrt((mg_v ** 2 - mg_u ** 2 + Math.sqrt((mg_v ** 2 - mg_u ** 2) ** 2 + 4 * (sc_uv ** 2))) / 2)
let b = (-sc_uv) / a
console.log(`alpha: ${a} (valid)`)
console.log(`beta: ${b} (valid)`)
let u_r = [-u[1], u[0]]
let v_r = [-v[1], v[0]]
let scale = Math.sqrt(mg_u ** 2 + a ** 2) /
Math.sqrt(Math.sqrt((v_r[0] - b * u_r[0]) ** 2 + (v_r[1] - b * u_r[1]) ** 2) ** 2 + mg_u ** 2 + mg_v ** 2)
console.log(`scale: ${scale} (probably not valid)`)
let direction = [
v_r[0] - b * u_r[0],
v_r[1] - b * u_r[1],
]
console.log(`direction: ${direction} (not valid)`)