Хотелось бы заиметь прогу, которая моделирует замкнутую систему из определённого числа частиц.
Это на тему физики)
Примерное описание и требования:
- Два измерения (3D - это слишком круто).
- Указание размеров системы (области, где будут двигаться частицы). Лучше, если область можно будет рисовать (то есть произвольная форма).
- Указание начального состояния системы: количество частиц, расположение частиц в системе (их координаты), начальные скорости (для каждой по-отдельности). Лучше, если ещё можно указывать: массу частиц (для каждой по-отдельности), размеры (для каждой по-отдельности), упругость стенок области (проще говоря, сколько энергии теряет частица при столкновении со стенкой).
- Лучше, если можно включить потенциальное поле и указать его мощность. Ещё лучше, если можно указывать тип поля (равномерное, центральное), направление и положение центра (для центрального).
- Можно было бы задавать силу взаимодействия между каждой частицей, указывать график взаимодействия, или же присваивать заряд частицам (величина
заряда и знак)... Но это слишком круто. Не обязательно.
- Указываются все начальные условия, после чего жмётся кнопка запуска. То есть приводятся в действие все частицы с указанными скоростями. Можно наблюдать их столкновения с учётом масс, скоростей и направлением скоростей и тп.
Цель: просто интересно понаблюдать за такими системами... и красиво это очень. Сделать например систему с остановленными чатицами и одной движущейся... И наблюдать как постепенно система будет переходить в состояние равновесия... от одной частицы!
Я знаю, что такое достаточно просто делается в средствах программирования (тот же делфи) или во флэш. Но у меня нет возможности (в программировании слаб) и времени этим заниматься.
Может существуют уже готовые проги?
Это на тему физики)
Примерное описание и требования:
- Два измерения (3D - это слишком круто).
- Указание размеров системы (области, где будут двигаться частицы). Лучше, если область можно будет рисовать (то есть произвольная форма).
- Указание начального состояния системы: количество частиц, расположение частиц в системе (их координаты), начальные скорости (для каждой по-отдельности). Лучше, если ещё можно указывать: массу частиц (для каждой по-отдельности), размеры (для каждой по-отдельности), упругость стенок области (проще говоря, сколько энергии теряет частица при столкновении со стенкой).
- Лучше, если можно включить потенциальное поле и указать его мощность. Ещё лучше, если можно указывать тип поля (равномерное, центральное), направление и положение центра (для центрального).
- Можно было бы задавать силу взаимодействия между каждой частицей, указывать график взаимодействия, или же присваивать заряд частицам (величина
заряда и знак)... Но это слишком круто. Не обязательно.
- Указываются все начальные условия, после чего жмётся кнопка запуска. То есть приводятся в действие все частицы с указанными скоростями. Можно наблюдать их столкновения с учётом масс, скоростей и направлением скоростей и тп.
Цель: просто интересно понаблюдать за такими системами... и красиво это очень. Сделать например систему с остановленными чатицами и одной движущейся... И наблюдать как постепенно система будет переходить в состояние равновесия... от одной частицы!
Я знаю, что такое достаточно просто делается в средствах программирования (тот же делфи) или во флэш. Но у меня нет возможности (в программировании слаб) и времени этим заниматься.
Может существуют уже готовые проги?
почему?
Есть масса редакторов для тех кто незнаком с 3d и помогающи их освоить за короткий промежуток времени...
А работать с частицами так как ты сказал то можно в Cinema4D используя такую штуку как Thinking Patricles, с помощью неё можно издеватся с частицами как угодно... А уроков по ней тож масса...
2) С тем же успехом я мог бы использовать 3д-макс... Но такие редакторы... наверно немного не то. С 3д-максом я имел дело... чуть-чуть. И примерно представляю, что это такое. И я понятия не имею, как можно осуществить задумку в таких редакторах.
3) 3D - слишком круто не только в плане навигации и визуализации всего процесса, а ещё и с точки зрения формул для описания движения и взаимодействия частиц.
Если говорить проще: я хочу осуществить программно двухмерную модель идеального газа с небольшим (по сравнению с реальным идеальным газом) частиц/атомов.
Вот примерный вид программы мой мечты, так сказать)
Слева поле системы. Справа вводятся параметры для частиц. Частицы добавляются кнопкой (вверху справа). Можно выделять любую частицу и менять её положение с помощью мышки (перетаскивание), либо с помощью прямого ввода координат (справа). Начальные скорости задаются аналогично: выделяется частица, задаётся вектор скорости. Для продвинутости можно сделать возможность указывать вектор скорости мышкой.
Это не все параметры, разумеется там побольше всяких штучек должно быть. Например указывать размер частиц (радиус или диаметр).
После задания всех начальных условий и параметров жмём кнопку Пуск, которая запускает систему, то есть частицы начинают двигаться с указанными скоростями, взаимодействовать посредством абсолютно упругих столкновений и согласно законам соханения импульса, энергии и тп.
Красота!
Неужели не существует такой программки? Неужели нашлись безумные программисты, которые делают взякий бесполезный маразм, и не нашлись безумные программисты, которые сделали бы такую программку.
Вот, кстати, нашёл простенькую программку... Но там мало возможностей... очень мало.
www.chem.msu.su/rus/teaching/Kinetics-online/mo...
Теперь понял...
Мне немного надо вспомнить всё это, и постараюсь помочь)
Я это знаю. К тому же, как я узнал, в делфи есть некая графическая среда, где такое делается без проблем и которая взаимодействует с директом. Например столкновение частиц на формулах сделать очень сложно. В той среде это наверно будет просто.
Надо бы... поизучать делфи. Только будет всё как обычно: через пару лет вспомню, что я хотел что-то там сделать. Ещё через год наконец качну какие-то обучающие литературы. Через полтора года вспомню, что что-то я там скачивал, и попытаюсь это почитать. Через год я всё-таки это удалю, так ничего и не сделав.
)))
если я неошибаюс, это Delphi(Object Pascal)...
Что именно?
Если ты про скринчик, то это я за пять минут накалякал в бейсике вордовском. Только, чтобы показать примерный внешний вид проги (какой я себе её представляю).
Мне немного надо вспомнить всё это, и постараюсь помочь
Помочь в создании такой проги? Но ты не торопись. Я ещё сам не готов.
Текст вращался? Если да, то ты отец.))
Если текст отскакивал от стенок прямоугольника, то я тоже знаю, как это делается (алгоритм, метод решения). И это очень просто.
У нас задача посложнее. Допустим мы сможем сделать, чтобы частица отскакивала от стенки. Но как ты сделаешь столкновение двух частиц? Оно происходит под различными углами. К тому же нам нужно практически непрерывное количество значений углов... ну или очень большая дискретизация границ круга (частица - это круг).
В делфи векторная графика применима?
проверяется положение курсоров которые считаются за частицы, если параметры одинаковы то задать им противоположные координаты иначе продолжать алгоритм... я так думаю...
так же придётся использовать массивы и алгоритм смены значений массивов с применением третьей переменной(буффера)...
Не понял.
если координаты первой частицы(А) будет например
А(23;64);
а координаты второй(В) будут
В(12;42);
то алгоритм продолжается и частицы идут по тому пути по которому шли,
а если
А(64;32) и В(64;32) то задать им другой путь, тоесть "оттолкнуть" их друг от друга...
по другому обьяснить не вышло....
по другому обьяснить не вышло....
Это слишком простая модель. К тому же: какие будут у них скорости (направление и величина) после столкновения?
Наши частицы не являются материальными точками. Тогда вероятность их столкновения нулевая.
Наши частицы являются круга определённого конечного радиуса. В этом случае частицы действительно могут столкнуться, и мы можем нарисовать траектории (для примера и наглядности):
Таким образом... Приведу пример. Две частицы. Их траектории до столкновения указаны чёрными стрелками. Точка столкновения - зелёная. Центры частиц при этом находятся на определённом расстоянии. Ты можешь определить вектора скоростей этих частиц после столкновения с учётом того, что массы частиц одинаковы?))
Нам нужна модель столкновения бильярдных шаров. Существует описание такого столкновения? А точнее определение скоростей шаров после столкновения. Потому что закона сохранения импульса нам не достаточно.
Вот какая то лекция (см. п.4) движение молекул газов прописано.
А вот даже с иллюстрациями
club-edu.tambov.ru/vjpusk/vjp075/rabot/30/new_p...
Там же одномерное движение. Не видишь что ли?)
А нам нужно это:
Сейчас поспрашиваю в одном месте.
stp.clarku.edu/simulations/
Там много интересного, в т.ч. есть симуляция идеального газа
А вот собсно то что ты ищеш- модель с кучей настроек и прочими наворотами (типо показа пути молекулы, гистограммы и т.д)
intro.chem.okstate.edu/1314F00/Laboratory/GLP.h...
Только "типа". Ладно? Учимся писать правильно.
И как эту прогу качнуть? На этой ссылке я мало, что вижу.
Там же написано снизу.
If the applet did not appear, you may need to download the newest version of your browser and/or OS Java implementation.
Что мне искать для оперы? В каком виде?
Скачать её можно тут www.java.com/ru/
Поверь, прога того стоит.
Acto, прога отличная. Это близко к тому, о чём я мечтал... Но там свободы действий маловато, область значений тоже сильно ограничена. Я не могу задавать скорость каждой частице...
Но модель они сделали отличную, частицы сталкиваются идеально... Даже график распределения по скоростям в реальном времени есть.