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

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

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 26.12.2006, 23:00   #1
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Водичка

Параллельно с работой над подвеской решил заняться водичкой на Физиксе. По ходу возникла куча проблем.
1. Просто приложить силу Архимеда не получится, ведь тогда будет нереальное поведение тел, поскольку сила Архимеда прикладывается в данном случае к центру масс. На рисунке 1 нарисовано два случая. На рис. а) показано неправильное положение тела, которое плавает. Так получается если к центру масс просто прилаживать силу. Как должно быть показано на рисунке б).


2. приложенная сила зависит от погруженного объема, а этот обьём очень сложно и будет требовать много ресурсов если это как то оптимизировать. Особенно будут проблемы, если считать для сложных тел/

Поэтому у меня возникло пару идей, хочу посоветоваться перед тем как приступить к реализации. Ведь идея то может оказаться и бредовской, а может быть и наоборот. Может посоветуете, что то полезное.

В основе лежит быстродействие, ведь для Физикса это главное . А с реализацией уже как то справлюсь. Будет несколько алгоритмов. Каждый алгоритм будет для определенной формы тела. Покамись остановлюсь на кубике.

Беру у кубика все вершины, делю массу тела на количество вершин, получаю массу вершин. Теперь смотрим на рисунок:

К каждой вершине будет прикладываться сила в зависимости от глубины погружения, Точнее я буду считать все приложенные силы к вершинам, потом буду считать суммарную силу и относительное её положение от центра масс. После приложу эту силу в данной точке. Это должно обеспечить правильное поведение кубика в воде. К тому же будет учтена масса кубика. А самое главное, это будет очень быстро работать.

Со сферой будет всё проще. Там по радиусу можно считать погружоную часть и прикладывать в зависимости от погружения силу к центру масс, здесь как раз проблем не будет.
С капсулой расскажу в следующий раз, а покамись хочу послушать мнение насчёт этого метода. Также по алгоритму капсулы можно сделать плавание для тримешей и хуллов. Там алгоритм по вершинам не поможет.

Так же есть идеи сделать что-то типа поплавка. Поплавок – это невидимое и невлияющее на окружающую среду тело. Ему можно регулировать только плавучесть и привязать к телу. Тоесть, берём какую-то сложную форму и в контрольных точках привязываем поплавки. Получаем реалистично плавающее тело. Поскольку вода действует всего на пару точек, то будет очень быстрый просчёт, и ресурсов от проца почти не требует. Также можно создать любую модель плавающего тела, что даёт неограниченные возможности с учётом того, что каждый поплавок можно настроить на свой вкус . Да, и глючить, по идее, нечему. Как думаете, идея с поплавком стоит реализации?
(Offline)
 
Ответить с цитированием
Старый 27.12.2006, 00:16   #2
jimon
 
Сообщений: n/a
Re: Водичка

думаю в общих чертах должно прокатить

с поплавком стоит попробовать интересно даже
хотя для тримеша ето будет несколько грубый подсчет
 
Ответить с цитированием
Старый 27.12.2006, 00:31   #3
ZanoZa
Элита
 
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений
(для 252 пользователей)
Re: Водичка

вполне хорошая идея, стоит попробывать
(Offline)
 
Ответить с цитированием
Старый 30.12.2006, 01:19   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Водичка

Возможно, тут будет иметь ещё значение, дальность попловка от центра мэша, т.к. если делать првельнее то центр мэша, это и центр тяжести, либо я с физиксом не знаком, а просто, если там есть сразу определяющая центр тяжести, то нужно ещё играть с растоянием поплавка от центра тяжести, это добавит реалестичности. А так идея интерестная, но насчёт неровной вод, ну если волн большие и медленные? То тут смена направления паплавков.
(Offline)
 
Ответить с цитированием
Старый 30.12.2006, 01:42   #5
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: Водичка

Уже занялся разработкой. Да, растояние от центра масс будет влиять. например есть статуетка человека, то для реалестичного поведения нужно всего навсего разместить пару поплавков на руках, ногах в облости головы и можно в центре один-два. И будет прикольно смотрется.
Я вообщето про волны ничего не говорил . Их вообще не в одном движке нету, а вы хочете всё сразу. Ну ладно подумаю, может что то получится .
(Offline)
 
Ответить с цитированием
Старый 30.12.2006, 02:34   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Водичка

Про хотение небло речи, я просто предположил возможный варриант. Попловки будут прикреплятся к костям? Или точнее и будут в основном кости? Ну я например о том, что-б утопить тело человека, оно-то всплывёт =) Но у нас есть физика человека, тоесть он то не куб.
(Offline)
 
Ответить с цитированием
Старый 31.12.2006, 23:54   #7
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: Водичка

поплавки можно прикрепить к чему угодно и куда угодно. Тоесть на каждую кость можно нацепить несколько поплавков и всёё будет класно смотрется. Думаю сделать ограничение - 50 поплавков на тело. Думаю этого хватит
(Offline)
 
Ответить с цитированием
Старый 01.01.2007, 14:09   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Водичка

Идея с поплавками вообще руллииит.
Думаю ограничение не надо делать. Пусть прогер сам думает о быстродействии своей игры.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Растягиваем боди. Данил Проекты на BlitzMax 6 20.11.2009 04:55
XNA + Водичка pax С# 5 09.10.2009 19:28
Водичка . Conan Fedr 3D-программирование 16 24.02.2006 17:33


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


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