|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.11.2021, 16:50 | #11 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
ViktorR, Задача нужна для университета. И я знаю как выполняется вывод на экран, просто не понятен этот момент в тех местах, где они меняются
|
28.11.2021, 17:45 | #12 | |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,331
|
Код:
В одном случае параметры вектора инициализируются, а потом изменяются в void timer(int = 0). Вот надо и посмотреть, для небольшого числа шариков, как выполнилась инициализация (какие числа получились) и как они были изменены. Если все начальные параметры совпадают при инициализации, то как работает rand()? Если тут всё нормально, то как работает процедура изменения параметров? Почему ваши частицы, как вы пишете: Цитата:
Как-то так, ...
|
|
01.12.2021, 17:18 | #13 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
ViktorR, Здравствуйте. Попытался разобраться в коде, и выяснил, что проблема в выделенных значениях. Чем они больше, тем хуже летят молекулы. Например, если значение 10, то всё вроде в порядке. В чем может быть проблема?
Код:
|
01.12.2021, 17:42 | #14 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
wqerty11, Короче, проблема 100% в этой строке, осталось понять как её исправить.
|
01.12.2021, 17:59 | #15 | |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,331
|
Вы написали, что у вас
Цитата:
В этом случае формируется случайное число в интервале от 0 до 100000. У меня нет возможности это проверять какие числа генерируются, а вы не желаете сделать вывод характеристик нескольких векторов. В чём затруднение? Почему нельзя сделать вывод характеристик? Ведь код можно поправить и написать так: Код:
Как-то так, ...
|
|
01.12.2021, 18:33 | #16 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
ViktorR, Вот что получилось:
|
01.12.2021, 19:06 | #17 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,331
|
Т.е., все проекции скоростей отрицательные. Это значит, что частицы двигаются влево и вверх.
rand() % 100000 / 500.0 - всегда меньше 100, которую отнимаем. Разберитесь с генератором случайных чисел. rand() % 100000 - это какой диапазон генерируемых чисел? Какой диапазон скоростей мог бы быть в вашей модели? Возможно, что можно делить не на 500.0, а 50.0. Вот нашёл, например: генерация в диапазоне [a, b): Код:
Код:
PS: Не стесняйся, заменяй предложенные в видео варианты на свои. Экспериментируй. Не факт, что автор видео крутой и кудрявый. Возможно, что он что-то своё двигал (ну так на тот момент сложилось).
Как-то так, ...
|
01.12.2021, 22:18 | #18 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
ViktorR, У автора видео в компиляторе RAND_MAX = 2147483647, а у меня 32767. Думаю проблема в этом.
|
01.12.2021, 22:48 | #19 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,331
|
Не заморачивайся этим видео. Пробуй свои варианты. Осваивайся.
Там не всё так тривиально, поскольку в выражении rand() % 100000 100000 - это масштабирующий коэффициент. Т.е., если я правильно понял, то генерируются числа в диапазоне от 0 до 100000 в независимости от значения RAND_MAX. После деления на 500.0 получаем диапазон от 0 до 200. Вычитая 100 должны получить распределение от -100 до 100. Пишем выражение: Код:
Т.е., выражение (целиком): Код:
Как-то так, ...
|
02.12.2021, 11:36 | #20 |
Пользователь
Регистрация: 24.11.2021
Сообщений: 24
|
ViktorR, Движение частичек вроде наладилось, но их скорость теперь достаточно низкая.
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |