![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 31
|
![]()
Доброго времени суток! Опишу для начала вкратце что я делаю.
У меня есть ТЗ на игру пинбол (курсовая). Игра пишется на C++ + SDL. Спрайты, бэкграунд и всякую лабуду типа классов я могу сделать и делаю. Так вот. Теперь суть проблемы: я не могу расчитать скорость после отражения шарика от стены. Я, конечно, пытался все это дело сделать сам: у меня есть txt файл с координатами стены (типа векторной графики что-то). После запуска игры загружается файл в два массива (координаты по X и Y). Как только координаты шарика совпадают со стеной, так высчитываются 2 точки в радиусе 7 пикселей которые принадлежат стене (массивам координат). Ну далее через всякие задротские функции высчитывается угол падения -> отражения -> скорость по осям X и Y. Впринципе, иногда, все правильно расчитывается. Но не всегда. Код приывести не могу, так как он слишком корявый и обьемный. Могу лишь спалить свою функцию расчета скорости после отражения (но без моих картинок ее врятли кто-нибудь поймет). Так вот. А если в кратце, то: Помогитееееее!!! ![]() p.S> АХ да... Вобщем вопрос вот какой: как можно расчитать угол отражения или скорость после отражения шарика от препятствия? Причем стена может быть расположена под совершенно рандомным углом к осям X и Y. Последний раз редактировалось TacoBell; 18.04.2010 в 15:10. Причина: Вопрос забыл.... |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Если происходит абсолютно упругий недеформируемый удар, то модуль вектора скорости сразу после отскока равен модулю вектора скорости в момент удара.
Углы (двумерная модель, я так понимаю?...): γ = 2β-α, где α - угол между вектором скорости шарика и положительным направлением оси [OX]; β - то же для "стены"; γ - то же для вектора скорости шарика после отскока. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 31
|
![]()
Спасибо огромное! А что значит угол между стеной и положительным направлением оси x? Как я понял, он не может быть больше 180 градусов? Ну тогда, я думаю, такой вариант не прокатит
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
По модулю.
Не совсем понял. 100420.jpg Шарик летит перпендикулярно стене. α = -135; β = 135 γ = 2×135-(-135) = 270+135 = 405 = 360+45 = 45. Или можно взять β меньшим по величине, т.е. -45. Тогда γ = 2×(-45)-(-135) = -90+135 = те же 45. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как уяснить координаты y,x в ImageBox | TiestoStar | Помощь студентам | 1 | 11.03.2010 13:34 |
Рендеринг изображения - создание отражения | BOBAH13 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 4 | 18.01.2009 16:27 |
как узнать координаты курсора | nikleb | Общие вопросы C/C++ | 2 | 29.10.2008 23:36 |
как узнать координаты в рисунке? | motaro | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 22.03.2008 06:55 |
Создать функцию, позволяющую вычислить новую стоимость товара после уценки. Визуал Бэйсик. | КПСС | Помощь студентам | 6 | 07.11.2007 01:00 |