Весь смысл ньютоновской физики в том, что она не случайна, она детерминирована .Если вы бросаете один и тот же шар к одной и той же стене под тем же углом и с одинаковой скоростью и одинаковым вращением, он каждый раз попадает в одно и то же место.
Программа такого рода - отличная возможность для обучения как программированию, так и физике.Я рекомендую вам сначала написать программу, которая имитирует очень простое подпрыгивание.Как вы заметили, когда объект движется прямо вниз и попадает на горизонтальную поверхность, вы можете смоделировать отскок как просто реверсирование вертикальной составляющей скорости.Просто поймите это правильно;нет гравитации, нет ничего.Это отличное начало.
Затем попробуйте добавить отскакивание от горизонтальных стен тем же способом.
Затем попробуйте добавить отскок от стен, которые не выровнены по горизонтали или вертикали.Вот где вам нужно будет узнать, как работают векторы и тригонометрия, потому что вам нужно будет определить, какая составляющая скорости шара изменяется, косо ударяясь о стену.
Затем добавьте гравитацию.Затем добавьте трение из воздуха.Затем добавьте тот факт, что мяч может вращаться.Добавьте эластичность, чтобы вы могли моделировать деформацию шара.
Как только вы доберетесь до этой точки, если вы захотите ввести случайность, вы сможете понять, как это сделать.Например, вы можете ввести случайность, сказав: «Хорошо, когда мяч ударяется о стенку и деформируется, я добавлю случайный элемент, который изменяет свою деформацию на 0-10%».Это изменит то, как симулятор отскакивает от мяча.Вы можете экспериментировать с различными видами случайности: например, добавлять случайные воздушные потоки.