Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Счетчик броуновских частиц 
:(
    Опции темы
JakeKnoxx
Дата 27.7.2015, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


Вот полное ТЗ:
Необходимо разработать ActiveX-компонент «Счетчик частиц», выполняющее подсчет числа броуновских частиц, попадающих в некоторую область, ограниченную окружностью. 
Частицы находятся в движении, при прохождении заранее заданного числа частиц через область окружности, программа должна завершить свою работу, выдав соответствующее сообщение. 
Свойства и внешний вид компонента должны быть разработаны таким образом, чтобы реализовывались следующие функции:
• сразу после запуска приложения в его окне активны только элементы управления группы «Установки»;
• после задания значений «Число частиц» и «Время», становятся доступными кнопки группы «Управление»; 
• для корректного начала работы приложения предусмотреть установки значений по умолчанию для числа частиц и времени;
• работа приложения начинается по нажатию на кнопку «Пуск», тогда частицы начинают двигаться, а время внизу окна отсчитывается в обратную сторону;
• для очистки поля изображения вначале нажимается кнопка «Стоп» (движение частиц прекращается), а затем «Очистить»;
• учесть соударение с воображаемыми стенками, считая удар абсолютно упругим;
• если за установленное время заданное число частиц не прошло через окружность, счет частиц заканчивается и выдается соответствующее сообщение.

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  broun.zip 2,79 Kb
PM MAIL   Вверх
iff
Дата 26.3.2016, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


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

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



То, что вы реализовали является скорее моделью идеального газа, а не броуновских частиц. А судя по маленькой скорости, вы хотели именно броуновские частицы а не тепловое движение, но уменьшение скорости (уменьшение температоры) теплового движения не делает его броуновским. Хотя эти явления взаимосвязаны.
Представим в начальный момент покоится одна броуновская частица. Что будет дальше? Она начнет двигаться. В случайном направлении, со случайной, достаточно маленькой скоростью. Ускорение будет меняться случайно и в малых пределах. Функция плотности вероятности обнаружить частицу будет как-бы расплываться со временем, обратно пропорционально корню из времени.
Очень плохо, что в коде нет ни одного комментария.
П.С. Странная работа с таймером.
Проще всего для подсчета сделать в таймере так:
Код

    For I = 0 To N
      a_Y(I) = a_Y(I) + VY(I): Shape1(I).Left = a_Y(I)
      a_X(I) = a_X(I) + VX(I): Shape1(I).Top = a_X(I)
      If ((a_Y(I)-y0)^2 + (a_X(I)-x0)^2 > R0^2) Xor _
        (a_Y(I)-y0+VY(I))^2 + (a_X(I)-x0+VX(I))^2 > R0^2) Then

                  '+1 частица прошла

     End If
    Next I

R0 - радиус окружности (Shape2.Width/2); x0, y0 - ее координаты ЦЕНТРА.
У вас подобный цикл в двух местах, можно перенести второй цикл так, что-бы получился только один. (Переменную K можно приравнять к 1 во втором случае.)
Можно так же проверку пересечения устроить в процедуре нахождения следующего соударения, тогда она должна вычислять и время следующего пересечения.
Что касается модели броуновского движения...
Если увеличить скорости с 0.5 до 5 например или 10 (тепловое движение), а центральную окружность тоже сделать подвижной, но обладающей большей массой, то получится модель одной броуновской частицы (олицетворенной большой окружностью)

Это сообщение отредактировал(а) iff - 27.3.2016, 03:25


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


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

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


 




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


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

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