|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.12.2021, 15:11 | #21 | |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,306
|
Я так думаю, что быть экстрасенсом - неблагородное дело.
Почему вы не указываете что: Цитата:
Что вы сделали? В предыдущем посте есть всё, что надо для понимания, а при необходимости, и изменения диапазона скоростей. Дерзайте.
Как-то так, ...
|
|
03.12.2021, 15:54 | #22 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
ViktorR, Я сделал то, что Вы написали в прошлом посте.
А именно: ---------------------------------------- Пишем выражение: Код: x = -100 + rand()%(200 + 1) и пробуем. Т.е., выражение (целиком): Код: Vx = rand() % 100000 / 500.0 - 100; заменяем на то, что написано выше. ------------------------------------------------ |
03.12.2021, 15:59 | #23 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,306
|
Ну и партизан.
А что с Vy? Тут тоже сделали замену? Код:
Пробуйте.
Как-то так, ...
|
04.12.2021, 00:54 | #24 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
ViktorR, Да, для Vy тоже сделал замену. Если пытаюсь увеличить значения скорости, опять начинаются проблемы с движением молекул.
|
04.12.2021, 11:45 | #25 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,306
|
А не сложно будет для вас показать, как вы увеличиваете скорости?
Как-то так, ...
|
05.12.2021, 12:34 | #26 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
ViktorR, Я пытался увеличивать подчеркнутые значения.
Код:
|
09.12.2021, 01:49 | #27 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
ViktorR, Помогите, пожалуйста, решить проблему с увеличением скоростей молекул. Задание нужно сдать на проверку до конца недели. Спасибо!
|
10.12.2021, 10:02 | #28 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,306
|
Ещё раз.
У меня нет вашей среды для тестирования и нет времени всё это устанавливать (не говоря о языке ...). Просто последовательно анализируйте данные, делайте выводы и корректируйте код. Возможно, что кто-то ещё откликнется, хотя мне непонятно, почему другие эту тему игнорируют. Может у них этот код просто работает без доп. усилий?
Как-то так, ...
|
10.12.2021, 18:04 | #29 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
ViktorR, А что, если немного увеличить значение DT в этой строчке:
Код:
Код:
|
10.12.2021, 18:56 | #30 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,306
|
DT - это временной интервал, по истечение которого показывается следующая картинка (как я понял).
Дело в том, что в программе расчёт координат и скоростей ведётся с плавающей арифметикой, а рисовать надо с использованием целых чисел (координаты задаются в пикселах). Увеличение DT - увеличение расстояний, на которые перемещаются молекулы. Тут важным может оказаться тот момент, когда молекулы сталкиваются с большим телом (молекулой). В изображении может проявиться ситуация, когда молекула влетает в большую. Но этого не должно быть при соударении. PS: Скорость молекул не увеличивается от DT. От этого параметра увеличивается расстояние, на которое молекула улетает от текущей позиции. Если текущие координаты X, Y, то следующие: X = X + Vx*DT и Y = Y + Vy*DT. PSS: Действительно, если скорость составляет, например, 60 единиц, то за 0.01 молекула переместится на 0.6 единиц и, примерно, на один пиксел за 0.02 единицы времени. Это значит, что формулу для получения скоростей можно поменять на Код:
Если задавать рандомно, то будет много медленно движущихся молекул. Если использовать нормальное распределение, то диапазон скоростей молекул будет пропорционален дисперсии, а средняя скорость составит, примерно, среднее значение такого распределения. Алгоритм придётся поискать. Например, есть трёхтомник Кнута, но для начинающего это будет сложно. Мне неизвестны библиотеки в Си или С++, которые позволяют генерировать такие наборы быстро.
Как-то так, ...
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Pascal. Броуновское движение молекул (диффузия) | vzik | Помощь студентам | 2 | 19.05.2012 11:19 |
Задача на Pascal ABC. Определить среднюю кинетическую энергию вращательного движения молекул водорода | faqbi4vosk | Помощь студентам | 1 | 22.04.2012 17:39 |
движение молекул | Игорь228 | C++ Builder | 0 | 11.12.2011 00:48 |
QBasic графика в движении | Dronlion | Помощь студентам | 0 | 05.04.2011 10:29 |
Количество молекул воздуха в помещении | Cular | Microsoft Office Excel | 7 | 23.05.2010 20:30 |