![]() |
Отрисовка траектории движения шара
Вложений: 1
Всем привет! Как лучше реализовать отрисовку траектории шара в бильярде, что то типа как на прикрепленой картинке.
Я думаю что рисовать нао средствами ас3, начальная точка линии - белый шар, но вот совсем не понятно как сделать конечную точку? |
Мне нравится этот вопрос. "Отрисовка" значит. Т.е. ты игру даже не представляешь как сделать (очевидно), но тебя интересует всего лишь "как отрисовать траекторию"?
P.S. Тебе определенно следует либо оставить эту затею, либо погрузиться в геометрию с головой. P.P.S. Только сейчас заподозрил — ты часом не на Box2D решил все это сделать? 0о |
ну еее..... :)
ну с чего тебе так очевидно? ну интересует всего лишь, и в геометрию погружусь если надо, и с чего это ты заподозрил? Ты б не выпедндривался лучше, а дал нормальный совет. |
Отрисовка — функция, в аргументы которой поступает массив точек в правильной последовательности. Рисует линии от первой точки до второй, от второй до третьей и так далее.
Получить эти точки можно математически, зная положение шарика, его радиус, направление удара и ограничение стола. Силу удара расчитывать нецелесообразно. Физику столкновения с другими шариками и со стенками стола можете почитать тут. Там и про ваш вопрос достаточно материала. Найти конечную точку можно, вот только все это некрасиво будет. Представьте себе длинный изломаный путь шарика (а прокатится он, очевидно, много) на экране? В общем не советую :) Кстати, вот стало интересно — вы делаете игрушку рамблера? Или это просто иллюстрация? |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Добавлено через 3 минуты Цитата:
|
zmeevolk, Прямоугольными треугольниками тут не обойдёшься, потому что по-хорошему, тут есть ситуации соударения с углом, шаром и аркой. hittest`ом тут тоже не обойдешься, потому что надо определять, с чем раньше произойдет соударение - с шаром, углом, аркой, лузой или бортом. При достаточно большой скорости шара, определенном его положении и угле, на его пути может быть всё сразу. От того, с чем раньше произойдёт соударение зависит угол отражения и передача импульса, наконец.
Тут может быть несколько решений: 1) Разбиение вектора скорости на минимальные отрезки и расчёт коллизий на каждом отрезке. 2) Векторный расчёт коллизий. (скалярные произведения векторов и т.п.) Потому что любой участок борта, кроме арки может быть представлен как вектор. 3) Композиция этих методов. Но физика тут самое простое. Гораздо сложней правдоподобное вращение шаров, чтобы создавалась иллюзия 3д. Воображение придётся включать именно тут) |
Idon, хорошо расписали способы continuous collision detection. Первый вариант называется multisampling :) А арку можно представть неподвижным шаром, например.
По-моему тут самое сложное, что может быть — это дугообразная траектория движения шара при "скользящем" ударе. Терминологии бильярда не знаю, к сожалению. |
Цитата:
|
Цитата:
А по поводу всего остального, с чем придется сталкиваться тебе и твоим шарам (мы все еще о бильярде говорим), Idon все верно прокомментировал — нужно знать больше, чем прямоугольный треугольник. Геометрия и физика тебе в помощь... для начала. |
Hauts, это резка называется. Да, не самая тривиальная задача) Поможет книжка Г. Кориолиса "Математическая теория явлений бильярдной игры". Её, кстати, можно найти в гугле)
|
Цитата:
1 линия - берем вектор скорости битка - прокладываем к нему перпендикуляр от центра играемого шара (того, в который мы запулили биток) 2 линия - соединяем центры битка и играемого шара линией Чем меньше этот угол, тем тоньше считается резка (если непонятно, можно нарисовать на бумажке =)) Вращение, придаваемое шарику называется "винт". При определенном винте шар начинает катиться по кривой или нестандартно отскакивать от бортов / других шаров @Zebestov Если взять nape или тот же пресловутый box2d, такая игрушка делается на раз-два. Без знаний физики и геометрии. ЗЫ Я как-то месяца 2 подряд провел в бильярном клубе (каждый день минимум часа по 3). Эхх.. молодость =) |
Цитата:
С другой стороны я могу судить лишь косвенно — не пользовался. |
Цитата:
А кто нибудь скинет линк на идеальный бильярд, или приближенный к идеальному? Может кто делал? |
Для меня в свое время ориентиром вот этот был:
http://www.miniclip.com/games/8-ball...-fire-pool/en/ |
О! там как раз такой указатель как я хочу замутить :)
|
| Часовой пояс GMT +4, время: 04:11. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.