«Простой» способ создать и построить растр и наложить на него анимацию катящегося шарика в python - PullRequest
0 голосов
/ 18 июня 2020

Хорошо, моя идея может быть немного наивной. Но в основном я просто хотел создать растр в python, где каждый пиксель имеет определенное значение высоты, связанное с ним. Что-то вроде ЦМР по географии. Затем я хотел нарисовать закрашенный рельеф на основе информации в растре. Для этого я нашел эту ссылку: https://www.neonscience.org/create-hillshade-py

Затем я хотел бросить «Шар» в случайном месте и просто позволить ему катиться в одном направлении в зависимости от значений в растре. . Так что фактически создайте анимацию катящегося шара, наложенного на отмывку.

С этим выпущено несколько. Существует matplotlib, но я не знаю, можно ли построить растр и одновременно нарисовать что-то вроде шара или круга и обновлять sh кадр каждые несколько миллисекунд. Более того, я не знаю, возможно ли это вообще (конечно, но я не знаю, для меня ли это)

Я не прошу решений или чего-то еще. Может быть, у кого-то есть идея, как к этому подойти. Например, как нарисовать растр. Есть черепаха, но не для растров. Еще есть подушка, но я ею никогда не пользовалась. Вопросы поверх вопросов;) Может кто разбирается в этой дурацкой идее и имеет какой-нибудь указатель

1 Ответ

1 голос
/ 22 июня 2020

Я бы посоветовал использовать pygame. Вы можете использовать команду pygame.gfxdraw.pixel (поверхность, x, y, цвет). Цвет может иметь формат (x, x, x), где x определяется наклоном.

Проблема в том, что вам нужно перерисовывать часть окна каждый кадр по мере движения мяча.

Если вам нужна более быстрая программа, я боюсь, вам придется использовать другой язык (например, java).

Движение мяча можно вычислить с помощью вектора. Каждый кадр вам нужно замедлить мяч (x, y) -> (0,9 x, 0,9 y).

Вам также нужно придать мячу дополнительную скорость, вычислив параллельный наклон с осью x и вычислением наклона параллельно оси y. Затем просто добавьте косинус наклона.

...