Показать сообщение отдельно
Старый 01.07.2009, 01:01
Герыч вне форума Посмотреть профиль Отправить личное сообщение для Герыч Найти все сообщения от Герыч
  № 1  
Ответить с цитированием
Герыч
 
Аватар для Герыч

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
По умолчанию Отрисовка воды

В надежде, что хоть кто-нибудь тут сталкивался с данной задачей пишу сюда свой вопрос.

Дано:
Жидкость, представленная n частицами. каждая имеет координаты (x,y)
R - расстояние, на котором 2 частицы начинают друг на друга влиять(притяжение/отталкивание)
Требуется:
Нарисовать по этим точкам контур(или несколько), плавно огибающий их.
Внутренние "дырки"(или пузырьки) должны быть корректно отображены именно пузырьками. Т.е. контур нужен такой, что он разделяет воду и не воду.

Рисовать частицы кружками не предлагать.
сейчас больше склоняюсь к алгоритму Marching squares(вот где посмотреть:блог одного программиста|swf пример).

Проблемы с Marching squares:
1)Сначала для него надо корректно выбрать те уголки клеток, где "есть" жидкость. Не знаю как это сделать быстро и правильно.
2)Скорость работы
3)Качество. При большом размере клеток контур будет угловатым.

Подкиньте идейку или статейку или ещё что, буду оч благодарен.

Добавлено через 18 минут
Если что, воду моделирую при помощи SPH(по этой pdf-ке и по этой статье)
Поэтому при отрисовке для каждой точке уже вычислена плотность и давление.. можно как-то использовать при рисовании