- Рейтинг
- 2
Добрый день,
Не знаю, насколько задача соответсвует тематике форума, надеюсь на кто-нибудь имел опыт в решении подобных задач. Заранее спасибо.
Задача:
Смоделировать движение потоков (вещества\энергии) в замкнутом пространстве. В замкнутом пространстве присутствуют динамические объекты, из-за которых движение потоков может изменяться.
Степень реалистичности посредственная. Приложение не инженерное, а обучающее (можно рассматривать как "стенд" для студенческих лабораторных работ). Т.е. не требуется детальное моделирование физ.процессов и т.д.(то что, например, реализовано в этой системе нам не нужно).
Пример: движение газа в комнате, движение пучка частиц,распространение шума(звуковых волн), распространение тепла.
Понимаю, что в общем случае задача архисложная, поэтому рассматриваю такое моделирование больше как fake, нежели как попытку чего-то там реальное моделировать.
Связано это с тем, что такая система нужна для лабораторных такого плана — смоделировать работу пылеуловительной установки, расчитать уровень запыленности\зашумленности\освещенности и с помощью определенных средств защиты(от пыли\шума\излучения) создать благоприятные для человека условия. Понятно, что т.к. система обучающая, то крайне важна интерактивность процесса(поэтому можно пожертвовать реалистичностью). Моделирование и расчет я(мы) разумеется предполагаем реализовывать самостоятельно. Но вот нужна инфраструтура для визуализации этого дела...
Какие из готовых движков наиболее приспособлены для решения данной задачи? Очевидно, что хотелось бы, чтобы движок сам просчитывал столкновение потоков с объектами в пространстве.
Варианты:
В некоторых движках, например, в Irrlich, столкновения частица-объект не просчитываются. Движение потока частиц управляется за счёт расстановки аттракторов. Мою задачу также предлагают решить в рамках расстановки аттракторов.
Некоторые предлагают задавать траекторию перемещения частиц (т.е. траекторию движения некоторого ограничивающего частицы тела). Этот способ подошел бы, если бы был движок, позволяющий это делать и главное, чтоб он позволял изменять траекторию в процессе исполнения.
Есть, например, такая вещь как www.particlesystems.org. Попробовал — вроде бы нормально, но несколько тормозит. Кроме того в идеале хотелось бы найти движок, а не отдельную библиотеку.
Есть разумеется и простейшие "самопальные" реализации, например, C# Believable Physics. Такие реализации, конечно наталкивают на мысль устроить собственный тур-де-франс, и написать-таки собственный визуализатор и систему частиц... но такие мысли к счастью пока редки
Был вариант отказаться от частиц полностью и показывать при визуализации просто движение\деформацию непрерывных областей(например, градиентно залитых цветом). Такой подход в некотором смысле проще и ближе к инженерным приложениям, но опять-таки готовых реализаций нет — придётся полностью реализовывать такую систему с нуля.
Буду благодарен за любые мысли, советы,
Может кто-нибудь занимался подобными полу-fake-овыми задачами... или знает подходящий инструментарий.
Спасибо.
p.s.
Ещё раз отмечу, что несмотря на такие "наукоёмкие" формулировки, задача как раз состоит в том, чтобы максимально упростить моделирование, показав, так сказать, общее видинье процесса, не вдаваясь в его детали, возможно даже на каком-то уровне, можно вообще все выше названные примеры моделировать одинаково.
Вопрос в инструментарии.
p.p.s.
буду рад услышать критику по самой постановке задания.
Не знаю, насколько задача соответсвует тематике форума, надеюсь на кто-нибудь имел опыт в решении подобных задач. Заранее спасибо.
Задача:
Смоделировать движение потоков (вещества\энергии) в замкнутом пространстве. В замкнутом пространстве присутствуют динамические объекты, из-за которых движение потоков может изменяться.
Степень реалистичности посредственная. Приложение не инженерное, а обучающее (можно рассматривать как "стенд" для студенческих лабораторных работ). Т.е. не требуется детальное моделирование физ.процессов и т.д.(то что, например, реализовано в этой системе нам не нужно).
Пример: движение газа в комнате, движение пучка частиц,распространение шума(звуковых волн), распространение тепла.
Понимаю, что в общем случае задача архисложная, поэтому рассматриваю такое моделирование больше как fake, нежели как попытку чего-то там реальное моделировать.
Связано это с тем, что такая система нужна для лабораторных такого плана — смоделировать работу пылеуловительной установки, расчитать уровень запыленности\зашумленности\освещенности и с помощью определенных средств защиты(от пыли\шума\излучения) создать благоприятные для человека условия. Понятно, что т.к. система обучающая, то крайне важна интерактивность процесса(поэтому можно пожертвовать реалистичностью). Моделирование и расчет я(мы) разумеется предполагаем реализовывать самостоятельно. Но вот нужна инфраструтура для визуализации этого дела...
Какие из готовых движков наиболее приспособлены для решения данной задачи? Очевидно, что хотелось бы, чтобы движок сам просчитывал столкновение потоков с объектами в пространстве.
Варианты:
В некоторых движках, например, в Irrlich, столкновения частица-объект не просчитываются. Движение потока частиц управляется за счёт расстановки аттракторов. Мою задачу также предлагают решить в рамках расстановки аттракторов.
Некоторые предлагают задавать траекторию перемещения частиц (т.е. траекторию движения некоторого ограничивающего частицы тела). Этот способ подошел бы, если бы был движок, позволяющий это делать и главное, чтоб он позволял изменять траекторию в процессе исполнения.
Есть, например, такая вещь как www.particlesystems.org. Попробовал — вроде бы нормально, но несколько тормозит. Кроме того в идеале хотелось бы найти движок, а не отдельную библиотеку.
Есть разумеется и простейшие "самопальные" реализации, например, C# Believable Physics. Такие реализации, конечно наталкивают на мысль устроить собственный тур-де-франс, и написать-таки собственный визуализатор и систему частиц... но такие мысли к счастью пока редки
Был вариант отказаться от частиц полностью и показывать при визуализации просто движение\деформацию непрерывных областей(например, градиентно залитых цветом). Такой подход в некотором смысле проще и ближе к инженерным приложениям, но опять-таки готовых реализаций нет — придётся полностью реализовывать такую систему с нуля.
Буду благодарен за любые мысли, советы,
Может кто-нибудь занимался подобными полу-fake-овыми задачами... или знает подходящий инструментарий.
Спасибо.
p.s.
Ещё раз отмечу, что несмотря на такие "наукоёмкие" формулировки, задача как раз состоит в том, чтобы максимально упростить моделирование, показав, так сказать, общее видинье процесса, не вдаваясь в его детали, возможно даже на каком-то уровне, можно вообще все выше названные примеры моделировать одинаково.
Вопрос в инструментарии.
p.p.s.
буду рад услышать критику по самой постановке задания.