Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 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-ке и по этой статье)
Поэтому при отрисовке для каждой точке уже вычислена плотность и давление.. можно как-то использовать при рисовании

Старый 01.07.2009, 02:14
elmortem вне форума Посмотреть профиль Отправить личное сообщение для elmortem Посетить домашнюю страницу elmortem Найти все сообщения от elmortem
  № 2  
Ответить с цитированием
elmortem
 
Аватар для elmortem

Регистрация: Sep 2008
Адрес: Terra
Сообщений: 64
Отправить сообщение для elmortem с помощью Skype™
Третий пункт можно забороть, если рисовать кривыми Безье. А если всё будет гладко, то размер сетки можно и увеличить, что, возможно, заборет второй пункт. Первый не совсем ясен, вроде как алгоритм это должен учитывать, нет?
__________________
Тихо, идёт запись!

Старый 01.07.2009, 09:46
SaFeR вне форума Посмотреть профиль Отправить личное сообщение для SaFeR Посетить домашнюю страницу SaFeR Найти все сообщения от SaFeR
  № 3  
Ответить с цитированием
SaFeR
 
Аватар для SaFeR

Регистрация: Nov 2004
Адрес: vrn
Сообщений: 108
Отправить сообщение для SaFeR с помощью ICQ Отправить сообщение для SaFeR с помощью Skype™
blob это называется

Старый 01.07.2009, 10:24
gnus вне форума Посмотреть профиль Отправить личное сообщение для gnus Найти все сообщения от gnus
  № 4  
Ответить с цитированием
gnus

Регистрация: Feb 2008
Сообщений: 100
тут взаимодействующие по законам физики молекулы:
http://scrollingchart.narod.ru/gas.html
думаю можно доделать и контурами.
__________________
http://komimap.ru

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

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
To elmortem:
В принципе ты наверно прав, если размер сетки делать большим то, как в том примере находящиеся рядом частицы будут порождать общий контур, а уже безье сгладит. Ладно попробую помучаться
To SaFeR:
причём тут это?)
To gnus:
сама жидкость уже реализована. Тоже частички на экране тока у меня их 200 штук

Старый 01.07.2009, 16:52
SaFeR вне форума Посмотреть профиль Отправить личное сообщение для SaFeR Посетить домашнюю страницу SaFeR Найти все сообщения от SaFeR
  № 6  
Ответить с цитированием
SaFeR
 
Аватар для SaFeR

Регистрация: Nov 2004
Адрес: vrn
Сообщений: 108
Отправить сообщение для SaFeR с помощью ICQ Отправить сообщение для SaFeR с помощью Skype™
Цитата:
Сообщение от Герыч Посмотреть сообщение
To SaFeR:
причём тут это?)
Притом, что это название эффекта который тебе нужен.
http://www.flasher.ru/forum/showthread.php?t=52451

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

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
в той ветке они пришли к metaballs.. это не то, они вроде слишком медленные. Примеры качал, прооитимизированные. 100-200 точек не потянет никак

Старый 01.07.2009, 18:43
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 8  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Это очень сложная, но в тоже время интересная задача, уверен, что справишься?
Дай на водичку из частичек посмотреть.
__________________
TankiOnline
Я разработчик Alternativa3D

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

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

Добавлено через 3 минуты
А так, вроде уверен. если я понял как это всё работает, сделал, то уже не хочется останавливаться

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
fluid , marching squares , water , Вода , жидкость
Опции темы
Опции просмотра

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.