Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax > 2D-программирование

Ответ
 
Опции темы
Старый 17.09.2007, 00:31   #1
Noah
Оператор ЭВМ
 
Регистрация: 16.09.2007
Сообщений: 22
Написано 0 полезных сообщений
(для 0 пользователей)
Деформация, связи, физика

Собственно: нужен совет знающих людей (оговорюсь, речь о 2d; реализация хоть через 3d, всёравно, главное работало б)(PS есть такая занимательная Bridge, кто знает):
1. необходимость реализовать взаимодействующую систему тел - возможно ли то что опишу? Вспомните уроки физики - кристалическую решётку (для простоты рассмотрим 2х2 - кубик). В модели всё состоит из точек(масса) и отрезков. Собственно обьекты - это кристалы. Точки соединённые отрезками фиксированной!(пока-что) длинны. Необходим рассчёт и отрисовка такой решётки, её внутренней динамики(если она вдруг завибрирует как желе), перемещение, деформация, возможно разрушение .. от приложенных внешних сил на какие-либо узлы-точки этой конструкции.
2. дальше-больше: столкновения подобных структур - проверка коллизии узлов с линиями. и тут варианты - либо неупругое\упругое столкновение, либо деформация, либо разрушение.
3. что тут лучше подойдёт BlitzMax или Blitz3D? и если использовать какие либо физические движки (я пока только читаю о них по вашим форумам и мануалкам)
Предисловие: когда-то давно.. после экзамов в инст.. после длительных скитаний от школьного паскаля, через собственный asteroids и lander, через hl1 и его WorldСraft, через 3dKonstructor(игры drag&drop`ом делать) и DarkBasic, пришёл я к 3dsmax и Blitz3D.. и чувствую вышел в люди. В те времена погиб не один спрайт и полигон, а оперативка трещала по швам и жаловалась свопу на мои автогенеренные уровни. Потом был институт ... много чего было ... сейчас институт закончился, освоены matlab и другие ругательные пакеты статистики и мат моделирования. Но из головы не выходят эти милые ручные спрайты и полигоны. А сейчас облазив кучу инета ничего вразумительного не нашёл.

Если у кого-то есть примеры реализации (даже отстранённые), литература, линки, мысли как сделать те или иные кусочки, может математика или физика ... Всё что может подсказать куда двигаться, буду считать реальным программером за помощь в решении проблемы! Ребят помогите плиз!!
(Offline)
 
Ответить с цитированием
Старый 17.09.2007, 00:45   #2
LD
ПроЭктировщик
 
Регистрация: 18.11.2006
Сообщений: 179
Написано 7 полезных сообщений
(для 16 пользователей)
Re: Деформация, связи, физика

Итак, представляем кубик в виде массива мельчайших частиц. При воздействии на внешнюю оболочку куба сдвигаем верхние частицы по осям по формуле (сила/плотность)*коэффициент деформации, далее по вектору приложенной силы определяем необходимый сдвиг на частичы, следующие за внешними частицами, задействованными в деформации и прикладываем к ним силу, передавшеесю от внешнего слоя частиц по той же формуле (беря за силу полученное число в прошлом просчете), определяем сдвиг решетки, рассчитываем силу для следующих частиц. Если сила, приложенная к частице больше силы связи частиц, то разрываем связи. Это только мои предположения, так что строго не судить
(Offline)
 
Ответить с цитированием
Старый 17.09.2007, 15:03   #3
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Деформация, связи, физика

Noah, как понял, то реализация будет на отрезках? Есть возмонжость делать полигональную коллизию (избежишь проникновения в нутрь объекта, т.к. отрезки они только по контуру объекта). Но коллизия по полигонам ресурсоёмче и сложнее. Есть уже интерестный 2Д физ движёк, непомню как называется. Но там деформация не реализована.
Я бы сделал на отрезках:
Сперва нужно реализовать коллизию между отрезками.
Далее, есть объект, он состоит из отрезков, связанных в точках, и есть центр массы (при реализации одиночных отрезков она будет по середине линии), центр тяжести = общая арифметическая координат всех точек объекта, далее уже отдалённо, могу ошибиться, т.к. на отрезках коллизию не делал, но там будет очень интерестный способ взаимодействия, ведь двигать нужно точки, поэтому у каждой точки есть 2 парраметра nx и ny - это координаты смещения, на ny действует гравитация. Так-же их изменения при коллизии, будет очень интерестная задача, что и есть главная зацепка, тоесть у нас же не просто перемещение всего объекта, а и кручение, тут игрет роль, угол коллизии к отрезку между 2 точками у объекта, угол относительно этой точки, и центра объекта, если есть материалы, то и параметры эластичности и трения, а так-же скорость точек соприковаемых отрезков и массы объектов. В общем тут нужно потихонечку с меньшего лезть в эти дебри, и очень чётко продумывать, чтобы не загнаться в тупик.
В общем это в полне реализуемо, но требуется не маленькие способности логического и алгебро-геометрического мышления.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
физика NitE BlitzMax 5 23.07.2010 00:00
Физика Petrofan 3D-программирование 9 30.01.2009 20:56
Деформация тел sneg 3D-программирование 21 18.01.2008 18:36
Физика! pipns 3D-программирование 7 06.07.2007 22:46
Деформация сферы Fant 3D-программирование 24 05.06.2007 20:16


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com