ПрограммированиеФорумФизика

Прыгающий мячик

#0
17:30, 2 апр 2009


всем привет!
мой вопрос несовсем относится к разработки игр, (мне его задали по предмету компьютерного моделирования)
но найти более подходящего ресурса чем этот я несмог.
вообщем задача заключается в том что бы построить физический процесс прыгающего на платформе мячика.
к счатью только в 2D пространстве. :)
платформа кстати тоже подпрыгивает.
нужно построить алгоритм который будит подсчитывать то как будит изменятся амплетуда движения мячика.
сначала все кажется довольно просто - у меня есть точка М (x,y) она же мячик и платформа A[x1,y1] B[x1,y2]. есть скорость S которая будит изменяться. Но как расчитать Угол отражения от платформы? и есть ведь также сила притяжения которая будит заставлять двигаться мячик в низ и также изменять угол его движения. а ведь я даже незнаю как обозначить угол на языке программир., точнее как сказать компилятору что эта переменная обозначет угол движения обьекта. т.к. раньше некогда несталкивался с такими заданиями которые както затрагивают физику.
конечно я понимаю врятли знающему человеку захочется просто так взять и решить на задание, но подскажите хотябы что можно почитать на эту тему что бы разобраться.

#1
19:52, 2 апр 2009

почитать книжку по программированию на языке программирования :)
гы, компилер не знает что эта переменная угол падения или кол-во выпитых стаканов, для компютера это только числа :))
также почитать физегу про 2-й закон Ньютона и выш.мат про интегрирование по Эйлеру
угол отскока в случае абс.упругого соударения/отсутствия трения = углу падения
дерзай!
P.S. задание за тебя делать не буду, могу дать исходники своего Bouncing Balls screensaver, если хочешь разбирайся

#2
20:44, 2 апр 2009

спасибо Aslan!
думаю исходники могли бы помочь)

#3
21:45, 2 апр 2009

Короч, без исходников. Угол в радианах или в градусах? Рекомендую для угла int или double. Ну что не ясно - по-моему угол соприкосновения равел угл отталкивания. Наскоко я помню физику, хотя и давно єто было. Ну вообще-то возьми нарисуй мяч и все вектора сил, которые на него воздействуют в разные моменты времени. И ты сам все поймеш. А еще есть готовые физ. движки. Удачи!

#4
23:52, 2 апр 2009

e1
Для начала тебе стоит вернуться обратно в школу.

#5
9:39, 3 апр 2009

e1
исходники C++,OpenGL
http://www.gamedev.ru/download/?id=8681
(можешь и не смотреть)

конкретно по твоему заданию:

мячик движется с ускорением a=(0,-g), раскладываешь движение на некоторые временные интервалы dt, если в в момент t скорость v(t),положение x(t) (2D вектора), то в момент t+dt скорость v(t+dt)=v(t)+a*dt, положение x(t+dt)=x(t)+v(t)*dt (это простейшее интегрирование по Эйлеру, есть более сложный и точный метод Рунге-Кутта и др). если у тебя Windows-приложение, можешь обсчет повесить на таймер, в начала считаешь dt, как разницу в GetTickCount() / 1000. далее, надо определять столкновение с платформой ( в пределах промежутка dt), считай, что центр шарика движется по прямой и определяй пересечение отрезка
(x(t),x(t+dt)) с прямой, отстоящей от платформы на r шарика. здесь, однако надо учесть скорость и смещение за dt самой платформы, проще всего сменить систему отсчета, т.е. платформу считаем неподвижной, а к скорость шарика считаем v(t)-vp(t) (vp(t)-скорость платформы в момент t). Угол удара шарика (относительно платформы) известен из скорости (относительно платформы), угол отражения=углу удара (в простом случае), получаешь угол и новый вектор скорости (повернутый), прибавляешь v(p), x(t+dt) находишь как сумму смещений до и после удара. все
не совсем подробно, но ты должен сам разобраться

#6
9:43, 3 апр 2009

peinguin
за "готовые физ. движки" ему точно 2 влепят

Blew_zc
вошел на форум, чтобы кому-нить нахамить?

#7
21:32, 3 апр 2009

Aslan
Это не хамство. Это констатация фактов. Школа - такое гадкое место, что предложение туда вернуться является оскорблением? ;)

#8
23:16, 3 апр 2009

Это хамство, ты человека сравниваешь с полным неучем или дураком, чего-то не знаешь-спрашиваешь, это нормально, или ты сам знаешь все? Школа тут вовсе ни причем, в школе таким вещам не учат. Или ты так шутишь?

#9
23:26, 3 апр 2009

Aslan
>Ты шутишь или заняться нечем?
Скорее первое, но в каждой шутки есть доля правды.
>..с полным неучем..
Не знаю. К нам в универ с таким знанием русского языка обычно не поступают...
Очень противно читать такое. Понятно, что сейчас кто-то может сказать: "Ну так не читай! Уйди отсюда!". Но мне, как говорится, "за державу обидно".
Ладно.

Приношу свои извинения топикстартеру и заканчиваю трепаться.

#10
0:27, 4 апр 2009

>> в школе таким вещам не учат
Насколько я помню, учат. Только надо слушать и проектировать всю инфу на свои темы.

ПрограммированиеФорумФизика

Тема в архиве.