Условия · 17 из 23
Заставка с шариками
На перемене проектор в кружке показывает заставку: шарики летают в рамке и отскакивают от краёв. Пока шарики у кружка улетали за край экрана, а один и вовсе застревал в стене и дрожал там, пока не выключили. Двумерный отскок раскладывается на два одномерных: по x и по y — одна и та же функция.
Что сделать
Шарик залез за край рамки — поставьте его вплотную к стене и направьте от неё. Не залез — ничего не меняйте.
Что приходит
x— где центр шарика по этой осиv— скорость: плюс — летит вправо, минус — влевоr— радиус шарикаlevoиpravo— где левая и правая стенки рамки
Что вернуть
Пару (x, v): где шарик теперь и с какой скоростью летит.
Допишите функцию otskok в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Шарик радиусом 1 стоит в точке −0.5 и летит влево со скоростью 2, рамка — от 0 до 10. Его левый край, −1.5, уже за стенкой: центр ставим на 0 + 1 = 1, скорость направляем вправо — получается (1.0, 2.0).
otskok(-0.5, -2.0, 1.0, 0, 10)
(1.0, 2.0)
Функция принимает координату центра шарика x, его скорость v вдоль этой оси, радиус r и границы рамки levo и pravo (levo < pravo). Возвращает кортеж (x, v):
- если шарик залез за левую границу (x − r < levo): x становится levo + r, а скорость направляется вправо — становится положительной с той же величиной;
- если за правую (x + r > pravo): x становится pravo − r, скорость направляется влево — отрицательной с той же величиной;
- иначе x и v не меняются.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.