| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C++] Графика, задача про бильярд |
| Автор: Alex31kv 20.4.2007, 23:52 |
| Нарисовать бильярдный стол (без луз) и шарик на столе, бьем по шарику кием под углом альфа, угол выбираем сами. Показать как будет двигаться шарик сохраняя законы физики (угол падения равен углу отражения). P.S. Должен двигаться шарик, след от него не нужен. |
| Автор: Alex31kv 29.4.2007, 11:40 | ||
подскажите как сделать что бы шарик двигался?
|
| Автор: dizzy1984 1.5.2007, 13:34 |
| В общем и целом идея такова. Если шарик двигается равномерно, то в каждый момент времени шарик увеличивает свои координаты на некторое постоянное значение по х и у. При соударении с бортом бильярдного стола та величина, которая не может более увеличивать или уменьшать соответствующую координату меняет свое значение на противоположное. Так шарик двигавшийся вверх столкнувшись с бортом будет двигаться вниз. Вот псевдокод. 1. Нарисовать стол 2. Нарисовать шарик 3. Модифицировать координаты х и у. 4. Проверить наличие столкновения. 5. В случае наличия инвертировать соответствующую характеристику. 6. Подождать некоторое время 7. Перейти к шагу 1 |
| Автор: En_t_end 1.5.2007, 14:14 |
| Недавно делал. Клавиши 'q' - выход 'w' - переместить вверх 'a' - вправо 'd' - влево 's' - вниз 'e - изм. угол 'r' - изм. угол '+' - сила удара '-' - сила удара пробел - начать движение Добавлено через 2 минуты и 21 секунду Там есть некоторые недочёты, как то лишний параметр у функции ball_drive. Тебе нужна именно функция ball_drive |
| Автор: Alex31kv 4.5.2007, 21:13 |
| En_t_end, супер, сделал красиво, вот только с физикой как то не очень, не знаешь как ее доработать? |