Выводит отрицательные вещественные значения. Пример: y = -1085.679012345679. Не пойму как с этого значения получить нужную координату. Знаю что Math.cos или Math.sin возвращает значение в радианах. Пробовал считать выражение с округленными переменными.
'use strict'
const g = 9.8;
shoot.addEventListener('click', function() {
var v0 = +document.getElementById("v0Speed").value;
var a = +document.getElementById("aAngle").value;
var x = 500; // расстояние
var t = x / (v0 * Math.cos(a));
var y = v0 * Math.sin(a) * t - ((g*t*t)/2);
console.log(t);
console.log(y);
});
// Составить код для игровой программы попадания
// снаряда в цель. Траектория снаряда, вылетающего из
// орудия под углом a с начальной скоростью v0,
// описывается выражением
1) исправь строчку: вместо v0 * + нужно написать просто v0 *(без знака +).
var y = v0*Math.sin(a)*t - ((g*t*t)/2);
2) у - это твоя координата (физическая). Она может быть любой. Положительное значение говорит о том, что тело еще в воздухе, 0 - ударилось о землю (меньше нуля обычно не рассматривают). Если ты хочешь рисовать сам процесс полета, то стоит учесть, что на экране координаты "перевернуты" и ось ОУ идет сверху-вниз. Т.е., например, если по твоим расчетам получится, что у=200, то на экране точку нужно рисовать с координатой "высота экрана" -200.
Знаю что Math.cos или Math.sin возвращает значение в радианах.
Немножко наоборот - аргумент этих функций должен быть в радианах, а не в градусах, а возвращают они безразмерную величину в пределах -1..1
Так что при использовании градусов их нужно перевести в радианы
var radians = a / 180 * Math.PI;
и использовать
Math.cos(radians)
Math.sin(radians)
Пример для
v = 250 м/c и angle=45 (Pi/4)
t = 500 / (250 * 0.707) = 2.828
y = 250 * 0.707 * 2.828 - 10/2*(2.828)^2 = 500 - 40 = 460 м
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники