|
|
|||||
Отрисовка воды
В надежде, что хоть кто-нибудь тут сталкивался с данной задачей пишу сюда свой вопрос.
Дано: Жидкость, представленная n частицами. каждая имеет координаты (x,y) R - расстояние, на котором 2 частицы начинают друг на друга влиять(притяжение/отталкивание) Требуется: Нарисовать по этим точкам контур(или несколько), плавно огибающий их. Внутренние "дырки"(или пузырьки) должны быть корректно отображены именно пузырьками. Т.е. контур нужен такой, что он разделяет воду и не воду. Рисовать частицы кружками не предлагать. сейчас больше склоняюсь к алгоритму Marching squares(вот где посмотреть:блог одного программиста|swf пример). Проблемы с Marching squares: 1)Сначала для него надо корректно выбрать те уголки клеток, где "есть" жидкость. Не знаю как это сделать быстро и правильно. 2)Скорость работы 3)Качество. При большом размере клеток контур будет угловатым. Подкиньте идейку или статейку или ещё что, буду оч благодарен. Добавлено через 18 минут Если что, воду моделирую при помощи SPH(по этой pdf-ке и по этой статье) Поэтому при отрисовке для каждой точке уже вычислена плотность и давление.. можно как-то использовать при рисовании |
|
|||||
Третий пункт можно забороть, если рисовать кривыми Безье. А если всё будет гладко, то размер сетки можно и увеличить, что, возможно, заборет второй пункт. Первый не совсем ясен, вроде как алгоритм это должен учитывать, нет?
__________________
Тихо, идёт запись! |
|
|||||
blob это называется
|
|
|||||
Регистрация: Feb 2008
Сообщений: 100
|
тут взаимодействующие по законам физики молекулы:
http://scrollingchart.narod.ru/gas.html думаю можно доделать и контурами.
__________________
http://komimap.ru |
|
|||||
To elmortem:
В принципе ты наверно прав, если размер сетки делать большим то, как в том примере находящиеся рядом частицы будут порождать общий контур, а уже безье сгладит. Ладно попробую помучаться To SaFeR: причём тут это?) To gnus: сама жидкость уже реализована. Тоже частички на экране тока у меня их 200 штук |
|
|||||
Притом, что это название эффекта который тебе нужен.
http://www.flasher.ru/forum/showthread.php?t=52451 |
|
|||||
в той ветке они пришли к metaballs.. это не то, они вроде слишком медленные. Примеры качал, прооитимизированные. 100-200 точек не потянет никак
|
Часовой пояс GMT +4, время: 09:09. |
|
« Предыдущая тема | Следующая тема » |
Теги |
fluid , marching squares , water , Вода , жидкость |
Опции темы | |
Опции просмотра | |
|
|