Как реализовать движение мяча по векторной формуле? - PullRequest
1 голос
/ 17 апреля 2009

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

Я очень слаб в математике, так что, будь добр, веди меня.

Ответы [ 2 ]

2 голосов
/ 17 апреля 2009

Вы, вероятно, должны быть более конкретными о том, что вам нужно. Главное, что нужно знать, это то, что при отражении мяча угол падения равен углу отражения. Однако в играх, подобных понг, они обычно изменяют угол в зависимости от той части весла, в которую он попал (как если бы весло было дугой).

Для использования вектора он имеет начальную точку и наклон. Если начальная точка находится в левой части экрана (x == 0), то вам повезло, потому что нормальная формула перехвата наклона работает хорошо

Y = mX + B

Где M - это наклон, а B - то, где он пересекает ось Y (значение Y, когда X равно 0). Затем увеличьте X на некоторое количество и вычислите Y. В ответном ударе вы можете сделать это задом наперед. m равно 0, когда вектор совершенно горизонтален. Когда он касается лопасти, чтобы сохранить угол падения == угол отражения - вам просто нужно использовать -m (с учетом положения на лопасти).

В любом случае - если у вас есть какие-либо вопросы, прокомментируйте этот ответ или обновите свой вопрос, и я постараюсь предоставить больше информации.

1 голос
/ 17 апреля 2009

На GameDev.net есть отличное учебное пособие по обнаружению столкновений. Это учебник по OpenGL, и я не знаю, используете ли вы OpenGL, но математика та же, поэтому я думаю, что она будет полезна.

...