forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=109)
-   -   Самопальная физика. (http://forum.boolean.name/showthread.php?t=3549)

moka 07.06.2007 01:48

Самопальная физика.
 
Тут на днях с велеколепного BlitzEtc нарыл хорошую функцию, которую и искал: Пересекаются ли отрезок и окружность?

Значит, после махинаций над функцией, с моими функциями нахождений угла, и дистанций, модернизировал функцию, и что она теперь умеет:
1. Возвращает: Пересекаются ли?
2. Угол пересечения, от ближайшей точки к центру окружности.
3. Сила заступа.
4. И ещё другие значения.
Итого у нас есть основа для физики, основывающейся, на окружностях и линиях. Осталось сделать трение и отсок, и сочления окружностей, и это я сделал. Итого вышло, за 7,5 часов немного багованая, бесконечная игрулька, с транспортом, у которого 2 колеса, тело, и дополнительная точка, отвечающая за то что-бы сочления не бадялись как заблагоросудится (LineRider - хороший пример, когда у некоторых моделей выворачивались части). Так вот, ну и замутил, небольшую демо, начит на 2 начинаем, W - газуем, S - тормозим. A\D - наклоняем. Ну собственно и всё, если значит появились внезапно заного, то это вы разбились =).
Уровень генерируется постоянно, и абсолютно рандомно, и бесконечно.
Может быть и не линейный, а очень разнообразный уровень, это я так что-бы показать ;) .
Сорс правда забыл, но принесу обязательно! ;)

Вот дема.
Коментарии приветствуются :super:

HolyDel 07.06.2007 02:21

Re: Самопальная физика.
 
Цитата:

функцию, которую и искал: Пересекаются ли отрезок и окружность?
а в полезных функциях посмотреть не догадался?
онаж там лежит ужо месяца 4 (если не большн)

Пример классный! Респект.

impersonalis 07.06.2007 02:34

Re: Самопальная физика.
 
Шустро! Только, касаемо демы: почему модель периодически возвращается назад?

moka 07.06.2007 02:56

Re: Самопальная физика.
 
не назад, а сразу над машиной когда Разбился, тоесть есть условия, если нагрузка на калёса разная, то по задумке, колёса ломаются, тока я не все условия прописал, там баги ух как много. =) Да и кстать, эта машинка, и 4к линий, на моём компе держит стабильно.

HolyDel 07.06.2007 03:00

Re: Самопальная физика.
 
Цитата:

Только, касаемо демы: почему модель периодически возвращается назад?
ну там же написанно:
Цитата:

если значит появились внезапно заного, то это вы разбились =)

Matt Merkulov 07.06.2007 04:03

Re: Самопальная физика.
 
Вот, думаю, может пригодиться: http://uk.geocities.com/olivier_rebellion/Polycolly.zip
Это хорошо объясненный алгоритм детекции коллизии полигонов (на английском правда).

magpro 07.06.2007 09:29

Re: Самопальная физика.
 
УХТЫ РЕСПЕКТ. НЕ ПЛОХО.
Похвально даже очень. По времени с функцией долго мучался?

jimon 07.06.2007 13:37

Re: Самопальная физика.
 
прикольно чуствуется динамика "машинки" :) мне понравилось

johnk 07.06.2007 13:40

Re: Самопальная физика.
 
Мне тоже понравилось. МоКа говорил, что за 6 часов сделал.

ЛысыЙ_Чук-Иванчук 07.06.2007 14:19

Re: Самопальная физика.
 
Молодец сделано неплохо, учитывая сколько время потрачено!

moka 07.06.2007 19:56

Re: Самопальная физика.
 
Спасибо! Даже не думал что так классно вышло! ;)
Цитата:

По времени с функцией долго мучался?
На самом деле не мучался, а удовольствовался ;), где-то 2-3 часа её отрабатывал. А написал сперва за минут 20-30, ну думаю это неважно...
Просто эти 7 часов, я много творил, что и небыло в демке, нужно было же сделать отскок от линий, это оказалось не совсем просто, что-бы отскакивало корректно, в нужную сторону, да и по секрету: и щас не совсем правильно с точки зрения физики.
Сегодня сорс выложу. ;)

Raiter 08.06.2007 02:11

Re: Самопальная физика.
 
кульно! респект! даёш красивую графику!

devolonter 08.06.2007 03:24

Re: Самопальная физика.
 
Реально супер! За такой короткий срок!!! Так держать!!!

moka 09.06.2007 01:34

Re: Самопальная физика.
 
Ура!!! Наконец я поборол эти углы! Всё никак не мог сделать правельный отскок, проблема была в нахождении угла отскока, зная перпендикулярный угол линии (угол коллизии с линией) и угол перемещения, исходя из них я только смог узнать угол отскока. Угол=Угол_Коллизии+(Угол_Колизии-Угол_Скорости). Оказалось всё просто, но я спешил, хотел сделать побыстрее, и маялся всё не мог сообразить, потом сел так, продумал, какие у нас есть углы, чему должен быть равен угол отскока, ведь угол отскока, это в два раза больше чем угол между точкой соприкосновения, и двумя точками: центром окружности и точкой которая получается от угла коллизии. Всё на самом деле было проще чем мне казалось, вот и я сделал Правильные отскоки! Я рад за себя! :)

Ещё добавил совсем чуток графики – землю

Да и баг исправил, что транспорт, сам потихоньку ехал, и что иногда отскакивал (это было что я проверял на коллизию со всеми линиями, и если коллизились сразу 2 линии то от них отталкивал, поэтому и был такой вот артефакт. Теперь я проверяю на самую близкую точку коллизии, и только от неё отталкиваю)

Короче говоря, теперь отталкивается всё правильно, на трамплинах подлетает нормально. И если в огромном падении, аккуратно приземляется на склон, то не разбивается, т.к. теперь отскок правильный, и по физике он должен будет ускориться, тоесть скорость по Y начнёт переходить в скорость по X, когда спуск начнёт выравниваться, впрочем это всё за счёт правильного отскока :).

Выкладываю сорс как и обещал. (Только я ещё не успел там навести порядок ;) И разложить всё по полочкам :) )

Ой, забыл добавить, что разрешение поменяйте =) А то я там поставил 1280х960, поставте к примеру 800х600.


johnk 09.06.2007 03:41

Re: Самопальная физика.
 
За сорс Спасибо! :)


Часовой пояс GMT +4, время: 14:24.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot