![]() |
Отрисовка траектории движения шара
Вложений: 1
Всем привет! Как лучше реализовать отрисовку траектории шара в бильярде, что то типа как на прикрепленой картинке.
Я думаю что рисовать нао средствами ас3, начальная точка линии - белый шар, но вот совсем не понятно как сделать конечную точку? |
Мне нравится этот вопрос. "Отрисовка" значит. Т.е. ты игру даже не представляешь как сделать (очевидно), но тебя интересует всего лишь "как отрисовать траекторию"?
P.S. Тебе определенно следует либо оставить эту затею, либо погрузиться в геометрию с головой. P.P.S. Только сейчас заподозрил — ты часом не на Box2D решил все это сделать? 0о |
ну еее..... :)
ну с чего тебе так очевидно? ну интересует всего лишь, и в геометрию погружусь если надо, и с чего это ты заподозрил? Ты б не выпедндривался лучше, а дал нормальный совет. |
Отрисовка — функция, в аргументы которой поступает массив точек в правильной последовательности. Рисует линии от первой точки до второй, от второй до третьей и так далее.
Получить эти точки можно математически, зная положение шарика, его радиус, направление удара и ограничение стола. Силу удара расчитывать нецелесообразно. Физику столкновения с другими шариками и со стенками стола можете почитать тут. Там и про ваш вопрос достаточно материала. Найти конечную точку можно, вот только все это некрасиво будет. Представьте себе длинный изломаный путь шарика (а прокатится он, очевидно, много) на экране? В общем не советую :) Кстати, вот стало интересно — вы делаете игрушку рамблера? Или это просто иллюстрация? |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Добавлено через 3 минуты Цитата:
|
zmeevolk, Прямоугольными треугольниками тут не обойдёшься, потому что по-хорошему, тут есть ситуации соударения с углом, шаром и аркой. hittest`ом тут тоже не обойдешься, потому что надо определять, с чем раньше произойдет соударение - с шаром, углом, аркой, лузой или бортом. При достаточно большой скорости шара, определенном его положении и угле, на его пути может быть всё сразу. От того, с чем раньше произойдёт соударение зависит угол отражения и передача импульса, наконец.
Тут может быть несколько решений: 1) Разбиение вектора скорости на минимальные отрезки и расчёт коллизий на каждом отрезке. 2) Векторный расчёт коллизий. (скалярные произведения векторов и т.п.) Потому что любой участок борта, кроме арки может быть представлен как вектор. 3) Композиция этих методов. Но физика тут самое простое. Гораздо сложней правдоподобное вращение шаров, чтобы создавалась иллюзия 3д. Воображение придётся включать именно тут) |
Idon, хорошо расписали способы continuous collision detection. Первый вариант называется multisampling :) А арку можно представть неподвижным шаром, например.
По-моему тут самое сложное, что может быть — это дугообразная траектория движения шара при "скользящем" ударе. Терминологии бильярда не знаю, к сожалению. |
Цитата:
|
Цитата:
А по поводу всего остального, с чем придется сталкиваться тебе и твоим шарам (мы все еще о бильярде говорим), Idon все верно прокомментировал — нужно знать больше, чем прямоугольный треугольник. Геометрия и физика тебе в помощь... для начала. |
| Часовой пояс GMT +4, время: 00:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.