Стандартная библиотека · 9 из 21
Виньетка
Свадебные портреты Кирилл обрабатывает с виньеткой: в середине кадр светлый, к углам плавно темнеет, и взгляд сам идёт к лицам. Программа обработки считает яркость каждой точки по тому, как далеко она от центра кадра.
Что сделать
Посчитайте яркость точки виньетки: в центре кадра 99, в углах 0, между ними — по расстоянию от центра.
Что приходит
xиy— точка: столбец и строка от левого верхнего углаshirinaиvysota— размер кадра
Что вернуть
Целое число round(99 * (1 - d / r)), где d — расстояние от точки до центра кадра, r — от центра до угла.
Допишите функцию vinyetka в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
vinyetka(80, 50, 160, 100)
99
Центр кадра — точка (shirina / 2, vysota / 2). d — расстояние от точки (x, y) до центра, r — от центра до угла кадра. Оба — по Пифагору: math.hypot.
Ответ — round(99 * (1 − d / r)): в центре 99, в любом углу 0, между ними — меньше по мере удаления от центра. Отрицательным он не бывает: дальше угла точек в кадре нет.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.