Анонс #146. Прыгающий мяч
UniLecsЗадача: иногда программисту необходимо иметь дело не только с математикой, но и с физикой. Например, при создании игр. Давайте представим, что нам нужно смоделировать движение прыгающего мяча. Большинство игр привязывают сцены к реальному времени (т.к. мощность компьютера и видеокарт у всех разная, а реалистичность обычно важнее плавности). Поэтому и мы будем привязывать движение мяча ко времени.
Итак, нам дано:
- высота H0 (в метрах), с которой мы будем бросать наш мяч;
- скорость V0 (в м/с), которую мы задаём мячу в момент броска;
- угол A0 (в градусах) относительно горизонта, под которым мы бросаем мяч (A0 = 0 означает бросок строго вправо, A0 = 90 – строго вверх, A0 = -90 – строго вниз, A0 = ±180 – влево);
- текущее время T (в секундах) с момента броска.
Значения H0, V0 и T ≥ 0; A0 может быть любым. Все числа вещественные.
Найти: смещение X (по горизонтали вправо от точки броска) и высоту H расположения мяча в момент времени T. Точность ответа должна быть до 3-х знаков после запятой.
Упругость и деформацию мяча и земли, сопротивление воздуха и прочие параметры, влияющие на движение мяча, мы не учитываем (принимаем мяч абсолютно упругим). Учитываем лишь ускорение свободного падения g = 9.81 м/с.
Дополнительно: помимо расчётов X и H желающие могут рассчитать скорость V мяча и направление (угол A относительно горизонта) движения мяча в момент времени T, а также максимальную высоту, на которую поднимается мяч Hmax.
Примеры
1. Входные данные: H0 = 10, V0 = 1, A0 = 90, T = 2.863.
Ответ: X = 0, H = 10; V = 1, A = 90, Hmax = 10.051.
2. Входные данные: H0 = 0, V0 = 10, A0 = 60, T = 5.
Ответ: X = 25, H = 2.138; V = 7.619, A = -48.985, Hmax = 3.823.