Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хаотичное движение молекул -сфер с массой,размером, А еще они нецентрально соударяются в 3D 
:(
    Опции темы
Softaz
Дата 30.5.2007, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 16.1.2006

Репутация: 3
Всего: 16



Представляем себе трехмерное пространство, бесконечную стенку в нем и выбранный нами малый объем (параллепипед), одной стороной которого является эта стенка. В нем должны выполняться условия: сколько вылетело - столько влетело и под тем же углом.
Молекулы представляют собой сферы. Размеры, масса, скорость всех молекул одинаковы. Движение поступательное прямолинейное (пока нет столкновения с другой молекулой). Если произошло столкновение, просчитывается распределение импульсов и угол отлета (удар абс. упругий, может быть нецентральный). 
Всего молекул около 1000. Вся эта чехорда должна визуально отображаться.

Вопрос, как заставить ее двигаться в трехмерном пространстве (x,y,z) и знать, что произошло соударение, причем необязательно центральное.
Думаю, все их снабдить таймером, синхронизированным с системными часами и в момент тика сверять координаты. Если они ничтожно различаются у некоторых молекул, то считаем, что они ударились. Считаем куда кто полетит и опять ждем тика таймера.
Только как их заставить лететь прямолинейно и в нужном направлении, то есть как изменять их координаты.

Заранее большое спасибо!

Это сообщение отредактировал(а) Softaz - 30.5.2007, 20:45


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
marcusmae
Дата 30.5.2007, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Softaz, если Вы хотите сделать сколько-нибудь серьёзную вещь, то, в первую очередь, Вам понадобится система дифференциальных уравнений, описывающих Вашу модель. Скорее всего, она будет состоять из уравнения движения, уравнения неразрывности, граничных условий, соответствующих стенке и свободным граням и начального условия, соответствующего положению дел в начальный момент времени. В качестве отправной точки Вы можете использовать систему уравнений Навье-Стокса, хотя, Вы не пишете, на сколько вязкие ваши молекулы, т.е. газ ли это, жидкость или густой кефир. Описанное относится к сфере динамики жидкостей и газов; системам дифференциальных уравнений в частых производных.
Далее, для того, чтобы -
Цитата(Softaz @  30.5.2007,  20:45 Найти цитируемый пост)
их заставить лететь прямолинейно и в нужном направлении, то есть как изменять их координаты

- для этих уравнений нужно придумать пространственную и временную дискретизацию, то есть, грубо говоря, аппроксимировать производные. Это можно сделать большим количеством хороших и плохих способов, но Вам нужно ещё учесть то, что Вы хотите, чтобы выполнялся закон сохранения массы. Описанное относится к сфере численных и разностных методов.
Не знаю, на сколько Вам всё это понятно/нужно. Другой вопрос : может, Вы хотите это всё сделать на уровне школьной программы - не знаю. Одно ясно почти наверняка : начав с программирования, Вы начали совершенно не с того, с чего следовало бы начать.

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


Это сообщение отредактировал(а) marcusmae - 30.5.2007, 21:39


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Softaz
Дата 30.5.2007, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 16.1.2006

Репутация: 3
Всего: 16



Цитата(marcusmae @  30.5.2007,  21:31 Найти цитируемый пост)
Не знаю, на сколько Вам всё это понятно/нужно.

Сам процесс представляю, поскольку учусь на физ-факе (5 курс). Мне преподаватель задал такую задачу.

Цитата(marcusmae @  30.5.2007,  21:31 Найти цитируемый пост)
- для этих уравнений нужно придумать пространственную и временную дискретизацию

Это тоже понятно. На уровне школы - нет вопросов. Уравнение прямой в пространстве -> пересчет коэффициентов, если столкнулись, и скорости соответственно. Массу мы притянем за уши и будем впускать "насильственно" молекулу, если некая другая вылетела из рассматриваемого объема.
Это самый простой вариант.
Мне хотелось сделать более красиво. Пока вопросы задавать не буду. Спрошу более подробно, до какой степени должна быть детализация.


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
adLucem
Дата 1.6.2007, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 17.4.2007
Где: Украина, Донецк

Репутация: 4
Всего: 5



А какое отношение все это имеет к общим вопросам по С#?
В специализированный форму или во флейм.

Цитата(Softaz @  30.5.2007,  20:48 Найти цитируемый пост)
Сам процесс представляю, поскольку учусь на физ-факе (5 курс)


Цитата(Softaz @  30.5.2007,  20:48 Найти цитируемый пост)
Мне хотелось сделать более красиво


Интересно, а что вы видите мерой красоты? В чем у Вас на физ-факе красоту то измеряют??

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.