Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Вниз

смена направления   Найти похожие ветки 

 
Jackson   (2002-10-21 23:01) [0]

Мастера,подскажите,как сделать,чтоб мячик ударяясь об край формы менял направление под тем же углом(как в бильярде)!!!
Надеюсь,Вы меня поняли:))))


 
MBo   (2002-10-22 06:58) [1]

Точка имеет составляющие (по осям координат) скорости Vx и Vy.
При упругом ударе о вертикальную стенку меняется на противоположный знак скорости Vx, а Vy не меняется, с гориз. наоборот.


 
Asteroid   (2002-10-22 12:36) [2]

Интереснее другой вопрос: а как мячи отскакивают при столкновении друг с другом (т.е. как меняются их Vx и Vy, если удар абсолютно упругий)?


 
MBo   (2002-10-22 12:41) [3]

Согласно закону сохранения импульса


 
Mirovodin   (2002-10-22 13:27) [4]

Я смотрю у посетителей этого форума ЯВНО не хватает знаний по основам гео-и, физике и мат-ке. Конечно не обязательно читать учебник по высшей мат-ке, но иметь пару простеньких справочников с основными законами, формулами и т.д. можно.

Кстати по поводу шарика, я в свое время делал не со скоростями, а просто вычислял угол движения (вектор) и менял его, т.е. получалось как раз упругое соударение или отражение от поверхности.


 
Jackson   (2002-10-22 22:15) [5]

Кто-нибудь знает,где взять пример?Как это объяснить Делфи?


 
Mirovodin   (2002-10-22 23:36) [6]

2 Jackson ©

Пример у меня есть на DelphiGFX в разделе Samples (Balls).

"...Как это объяснить Делфи ?" - ну на русском он тебя явно не поймёт, попробуй объясниться на языке Object Pascal. В качестве разговорника предлогаю прочитать книгу "Delphi 5(6). Руководство разработчика." Том 1.

P.S. Я не очень понимаю, что тебе не понятно: какие формулы использовать ? как формулы преобразовать в код ? или что то ещё.


 
pasha676   (2002-10-23 15:22) [7]

Извините не удержался :)
2Мироводин:
Джексону не понятно как они вообще отскакивают и почему отскакивают :).

2Джексон:
Если серьезно. Не писал ни разу подобных прог, но чисто теоритически, поправьте меня если я не прав.
1. Как выводить шар на экран понимаешь? Вот и выводишь.
2. Как его перемещать по экрану в течении времени (придать ему скорость в определенном направлении - задать вектор скорости) понимаешь? Вот так и делаешь.
3. Как вычислить пересечение шаров и/или шара и борта знаешь? Вот и вычисляй.
4. Вот когда засечешь столкновение, тогда изменяешь вектор скорости по законам которые можно найти в учебнике физики (Мироводин тут прав на все 100%).
Способ предложенный МВо (манипуляция скоростями) - не очень хорош, так как является частным случаем (проекции вектора скорости строго говоря три, стенки не обязательно могут быть строго горизонтальны и вертикальны, а стоять под фиг знает каким углом), хотя для частного случая (бюлюардик можно к нему привести) подойдет.


 
Asteroid   (2002-10-23 20:26) [8]

> MBo © (22.10.02 12:41)

Одного сохранения импульса недостаточно. Надо еще сохранение энергии и как-то вычислить угол отражения



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
1-76406
seledka
2003-03-13 13:51
2003.03.24
Identifier redeclared System


14-76657
Leviathan
2003-03-08 17:58
2003.03.24
Перевод числа в сумму прописью


1-76428
yaric
2003-03-11 20:51
2003.03.24
Освобождение ресурсов


3-76301
GROL
2003-02-27 21:36
2003.03.24
DBGrid с переменной высотой строк


1-76432
Opera
2003-03-11 13:06
2003.03.24
Текст





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский