Хотелось бы заиметь прогу, которая моделирует замкнутую систему из определённого числа частиц.
Это на тему физики)

Примерное описание и требования:
- Два измерения (3D - это слишком круто).
- Указание размеров системы (области, где будут двигаться частицы). Лучше, если область можно будет рисовать (то есть произвольная форма).
- Указание начального состояния системы: количество частиц, расположение частиц в системе (их координаты), начальные скорости (для каждой по-отдельности). Лучше, если ещё можно указывать: массу частиц (для каждой по-отдельности), размеры (для каждой по-отдельности), упругость стенок области (проще говоря, сколько энергии теряет частица при столкновении со стенкой).
- Лучше, если можно включить потенциальное поле и указать его мощность. Ещё лучше, если можно указывать тип поля (равномерное, центральное), направление и положение центра (для центрального).
- Можно было бы задавать силу взаимодействия между каждой частицей, указывать график взаимодействия, или же присваивать заряд частицам (величина
заряда и знак)... Но это слишком круто. Не обязательно.
- Указываются все начальные условия, после чего жмётся кнопка запуска. То есть приводятся в действие все частицы с указанными скоростями. Можно наблюдать их столкновения с учётом масс, скоростей и направлением скоростей и тп.

Цель: просто интересно понаблюдать за такими системами... и красиво это очень. Сделать например систему с остановленными чатицами и одной движущейся... И наблюдать как постепенно система будет переходить в состояние равновесия... от одной частицы!

Я знаю, что такое достаточно просто делается в средствах программирования (тот же делфи) или во флэш. Но у меня нет возможности (в программировании слаб) и времени этим заниматься.
Может существуют уже готовые проги?

Комментарии
12.02.2008 в 13:33

73!
3D - это слишком круто
почему?
Есть масса редакторов для тех кто незнаком с 3d и помогающи их освоить за короткий промежуток времени...
А работать с частицами так как ты сказал то можно в Cinema4D используя такую штуку как Thinking Patricles, с помощью неё можно издеватся с частицами как угодно... А уроков по ней тож масса...
12.02.2008 в 19:32

1) У меня есть отдалённое чувство, что мы немного не так поняли друг друга)

2) С тем же успехом я мог бы использовать 3д-макс... Но такие редакторы... наверно немного не то. С 3д-максом я имел дело... чуть-чуть. И примерно представляю, что это такое. И я понятия не имею, как можно осуществить задумку в таких редакторах.

3) 3D - слишком круто не только в плане навигации и визуализации всего процесса, а ещё и с точки зрения формул для описания движения и взаимодействия частиц.


Если говорить проще: я хочу осуществить программно двухмерную модель идеального газа с небольшим (по сравнению с реальным идеальным газом) частиц/атомов.


Вот примерный вид программы мой мечты, так сказать)
Слева поле системы. Справа вводятся параметры для частиц. Частицы добавляются кнопкой (вверху справа). Можно выделять любую частицу и менять её положение с помощью мышки (перетаскивание), либо с помощью прямого ввода координат (справа). Начальные скорости задаются аналогично: выделяется частица, задаётся вектор скорости. Для продвинутости можно сделать возможность указывать вектор скорости мышкой.
Это не все параметры, разумеется там побольше всяких штучек должно быть. Например указывать размер частиц (радиус или диаметр).
После задания всех начальных условий и параметров жмём кнопку Пуск, которая запускает систему, то есть частицы начинают двигаться с указанными скоростями, взаимодействовать посредством абсолютно упругих столкновений и согласно законам соханения импульса, энергии и тп.
Красота!



Неужели не существует такой программки? Неужели нашлись безумные программисты, которые делают взякий бесполезный маразм, и не нашлись безумные программисты, которые сделали бы такую программку.



Вот, кстати, нашёл простенькую программку... Но там мало возможностей... очень мало.
www.chem.msu.su/rus/teaching/Kinetics-online/mo...
12.02.2008 в 19:57

Жизнь и Жить - разные понятия!
Мда.... это вполне реально сделать в паскале... но... к сожалени моему я его уже позабыл(((( а так - нет особо сложных моментов..
12.02.2008 в 20:04

73!
-DRACO- , если я неошибаюс, это Delphi(Object Pascal)...
Теперь понял...
Мне немного надо вспомнить всё это, и постараюсь помочь)
12.02.2008 в 20:31

а так - нет особо сложных моментов..
Я это знаю. К тому же, как я узнал, в делфи есть некая графическая среда, где такое делается без проблем и которая взаимодействует с директом. Например столкновение частиц на формулах сделать очень сложно. В той среде это наверно будет просто.
Надо бы... поизучать делфи. Только будет всё как обычно: через пару лет вспомню, что я хотел что-то там сделать. Ещё через год наконец качну какие-то обучающие литературы. Через полтора года вспомню, что что-то я там скачивал, и попытаюсь это почитать. Через год я всё-таки это удалю, так ничего и не сделав.
)))


если я неошибаюс, это Delphi(Object Pascal)...
Что именно?
Если ты про скринчик, то это я за пять минут накалякал в бейсике вордовском. Только, чтобы показать примерный внешний вид проги (какой я себе её представляю).

Мне немного надо вспомнить всё это, и постараюсь помочь
Помочь в создании такой проги? Но ты не торопись. Я ещё сам не готов.
12.02.2008 в 20:45

73!
я такое делал в паскале с названиями- текст летал по экрану и отбивался по физ.законам от краев экрана, а для того чтоб сделать ещё и с каждой частицей то это надо попотеть...
12.02.2008 в 20:59

текст летал по экрану и отбивался по физ.законам от краев экрана
Текст вращался? Если да, то ты отец.))
Если текст отскакивал от стенок прямоугольника, то я тоже знаю, как это делается (алгоритм, метод решения). И это очень просто.

У нас задача посложнее. Допустим мы сможем сделать, чтобы частица отскакивала от стенки. Но как ты сделаешь столкновение двух частиц? Оно происходит под различными углами. К тому же нам нужно практически непрерывное количество значений углов... ну или очень большая дискретизация границ круга (частица - это круг).

В делфи векторная графика применима?
12.02.2008 в 21:02

73!
незнаю как насчёт вект. графики, но столкновение частиц друг с другом делается по принципу-
проверяется положение курсоров которые считаются за частицы, если параметры одинаковы то задать им противоположные координаты иначе продолжать алгоритм... я так думаю...
так же придётся использовать массивы и алгоритм смены значений массивов с применением третьей переменной(буффера)...
12.02.2008 в 22:05

проверяется положение курсоров которые считаются за частицы, если параметры одинаковы то задать им противоположные координаты иначе продолжать алгоритм...
Не понял.
12.02.2008 в 22:12

73!
пример кода приводить не буду, но на словах обьясню-
если координаты первой частицы(А) будет например
А(23;64);
а координаты второй(В) будут
В(12;42);
то алгоритм продолжается и частицы идут по тому пути по которому шли,
а если
А(64;32) и В(64;32) то задать им другой путь, тоесть "оттолкнуть" их друг от друга...
по другому обьяснить не вышло....
13.02.2008 в 08:08

а если А(64;32) и В(64;32) то задать им другой путь, тоесть "оттолкнуть" их друг от друга...
по другому обьяснить не вышло....

Это слишком простая модель. К тому же: какие будут у них скорости (направление и величина) после столкновения?
Наши частицы не являются материальными точками. Тогда вероятность их столкновения нулевая.
Наши частицы являются круга определённого конечного радиуса. В этом случае частицы действительно могут столкнуться, и мы можем нарисовать траектории (для примера и наглядности):



Таким образом... Приведу пример. Две частицы. Их траектории до столкновения указаны чёрными стрелками. Точка столкновения - зелёная. Центры частиц при этом находятся на определённом расстоянии. Ты можешь определить вектора скоростей этих частиц после столкновения с учётом того, что массы частиц одинаковы?))



Нам нужна модель столкновения бильярдных шаров. Существует описание такого столкновения? А точнее определение скоростей шаров после столкновения. Потому что закона сохранения импульса нам не достаточно.
13.02.2008 в 12:25

73!
Нам нужна модель столкновения бильярдных шаров. Существует описание такого столкновения?
Вот какая то лекция (см. п.4) движение молекул газов прописано.

А вот даже с иллюстрациями
club-edu.tambov.ru/vjpusk/vjp075/rabot/30/new_p...

13.02.2008 в 12:46

А вот даже с иллюстрациями
Там же одномерное движение. Не видишь что ли?)

А нам нужно это:


Сейчас поспрашиваю в одном месте.
16.02.2008 в 12:07

73!
Недавно наткнулся на сайт java-симуляций физических явлений,
stp.clarku.edu/simulations/
Там много интересного, в т.ч. есть симуляция идеального газа

А вот собсно то что ты ищеш- модель с кучей настроек и прочими наворотами (типо показа пути молекулы, гистограммы и т.д)

intro.chem.okstate.edu/1314F00/Laboratory/GLP.h...

16.02.2008 в 13:42

А вот собсно то что ты ищеш- модель с кучей настроек и прочими наворотами (типо показа пути молекулы, гистограммы и т.д)
Только "типа". Ладно? Учимся писать правильно.
И как эту прогу качнуть? На этой ссылке я мало, что вижу.
16.02.2008 в 13:45

73!
Это java-приложение встроенное на сайте, тут нужен плагин для его открытия...
Там же написано снизу.

If the applet did not appear, you may need to download the newest version of your browser and/or OS Java implementation.

16.02.2008 в 16:51

Гадство...
Что мне искать для оперы? В каком виде?
16.02.2008 в 22:30

73!
Нет, это отдельно для ОС, браузер автоматически включает её есели на сайте обнаружен java-applet.
Скачать её можно тут www.java.com/ru/
Поверь, прога того стоит.
17.02.2008 в 19:05

В следующие разы пишите мне ссылки, а чёткие названия прог. Потому что у меня есть достаточно крупная полностью бесплатная и быстрая сеть, где я могу качнуть всё это.

Acto, прога отличная. Это близко к тому, о чём я мечтал... Но там свободы действий маловато, область значений тоже сильно ограничена. Я не могу задавать скорость каждой частице...
Но модель они сделали отличную, частицы сталкиваются идеально... Даже график распределения по скоростям в реальном времени есть.