Отрисовка воды
В надежде, что хоть кто-нибудь тут сталкивался с данной задачей пишу сюда свой вопрос.
Дано: Жидкость, представленная n частицами. каждая имеет координаты (x,y) R - расстояние, на котором 2 частицы начинают друг на друга влиять(притяжение/отталкивание) Требуется: Нарисовать по этим точкам контур(или несколько), плавно огибающий их. Внутренние "дырки"(или пузырьки) должны быть корректно отображены именно пузырьками. Т.е. контур нужен такой, что он разделяет воду и не воду. Рисовать частицы кружками не предлагать. сейчас больше склоняюсь к алгоритму Marching squares(вот где посмотреть:блог одного программиста|swf пример). Проблемы с Marching squares: 1)Сначала для него надо корректно выбрать те уголки клеток, где "есть" жидкость. Не знаю как это сделать быстро и правильно. 2)Скорость работы 3)Качество. При большом размере клеток контур будет угловатым. Подкиньте идейку или статейку или ещё что, буду оч благодарен.:drinks: Добавлено через 18 минут Если что, воду моделирую при помощи SPH(по этой pdf-ке и по этой статье) Поэтому при отрисовке для каждой точке уже вычислена плотность и давление.. можно как-то использовать при рисовании |
Третий пункт можно забороть, если рисовать кривыми Безье. А если всё будет гладко, то размер сетки можно и увеличить, что, возможно, заборет второй пункт. Первый не совсем ясен, вроде как алгоритм это должен учитывать, нет?
|
blob это называется
|
тут взаимодействующие по законам физики молекулы:
http://scrollingchart.narod.ru/gas.html думаю можно доделать и контурами. |
To elmortem:
В принципе ты наверно прав, если размер сетки делать большим то, как в том примере находящиеся рядом частицы будут порождать общий контур, а уже безье сгладит. Ладно попробую помучаться To SaFeR: причём тут это?) To gnus: сама жидкость уже реализована. Тоже частички на экране тока у меня их 200 штук |
Цитата:
http://www.flasher.ru/forum/showthread.php?t=52451 |
в той ветке они пришли к metaballs.. это не то, они вроде слишком медленные. Примеры качал, прооитимизированные. 100-200 точек не потянет никак
|
Это очень сложная, но в тоже время интересная задача, уверен, что справишься? :)
Дай на водичку из частичек посмотреть. |
Тут 2 ссылки 100 и 200 частиц
Добавлено через 3 минуты А так, вроде уверен. если я понял как это всё работает, сделал, то уже не хочется останавливаться |
Часовой пояс GMT +4, время: 22:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.