Кортежи и множества · 14 из 20
Хоровод вокруг молодых
На свадьбе гости встают в хоровод вокруг молодых, а ведущий хочет заранее показать это на экране — кружочками на схеме зала. Каждый гость — точка, пара чисел, и за каждый такт хоровода его точка поворачивается вокруг молодых на несколько градусов. Повернуть точку — значит получить новую пару чисел из старой.
Что сделать
Поверните точку гостя вокруг центра на заданный угол — против часовой стрелки, как на уроке геометрии.
Что приходит
tochka— где гость: кортеж(x, y)centr— вокруг чего поворачивать: кортеж(x, y)ugol— на сколько градусов; минус — по часовой стрелке
Что вернуть
Кортеж (x, y) — где гость после поворота, каждое число округлено до шести знаков.
Допишите функцию povernut в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Гость в точке (1, 0), центр — (0, 0), поворот на 90°: гость уходит на четверть круга против часовой стрелки и оказывается в точке (0.0, 1.0).
povernut((1, 0), (0, 0), 90)
(0.0, 1.0)
Поворот вокруг центра (cx, cy) на угол a: сначала точку сдвигают так, чтобы центр стал началом координат: dx = x − cx, dy = y − cy. Потом поворачивают: x' = dx · cos a − dy · sin a y' = dx · sin a + dy · cos a и сдвигают обратно, прибавив cx и cy. Угол приходит в градусах, а math.cos и math.sin ждут радианы. Каждое число ответа — round(…, 6): так cos 90°, равный в Python 6 · 10⁻¹⁷, становится нулём. Ответ — именно кортеж, не список.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.