М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения


УПРАЖНЕНИЯ 15.3. Молекулярное движение



Pdf көрінісі
бет246/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   242   243   244   245   246   247   248   249   ...   334
Байланысты:
Изучаем Python

УПРАЖНЕНИЯ
15.3. Молекулярное движение:
измените программу 
rw_visual .py
и замените 
plt.scatter()
вызовом 
plt.plot()
. Чтобы смоделировать путь пыльцевого зерна на поверхности водя-
ной капли, передайте значения 
rw.x_values
и 
rw.y_values
и включите аргумент 
linewidth

Используйте 5000 точек вместо 50 000.
15.4. Измененные случайные блуждания:
в классе 
RandomWalk
значения 
x_step
и 
y_step
ге-
нерируются по единому набору условий. Направление выбирается случайно из списка 
[1,
-1]
, а расстояние — из списка 
[0, 1,
2,
3,
4]
. Измените значения в этих списках и посмо-
трите, что произойдет с общей формой диаграммы. Попробуйте применить расширенный 
список вариантов расстояния (например, от 0 до 8) или удалите 
–1
из списка направлений 
по оси x или y.
15.5. Рефакторинг:
метод 
fill_walk()
получился слишком длинным. Создайте новый ме-
тод с именем 
get_step()
, который определяет расстояние и направление для каждого шага, 
после чего вычисляет этот шаг. В результате метод 
fill_walk()
должен содержать два вы-
зова 
get_step()
:


338
Глава 15 • Генерирование данных
x_step = self.get_step()
y_step = self.get_step()
Рефакторинг сокращает размер 
fill_walk()
, а метод становится более простым и понятным.
Моделирование бросков кубиков в Plotly
В этом разделе мы воспользуемся пакетом визуализации Plotly для построения ин-
терактивных визуализаций. Пакет Plotly особенно хорошо подходит для визуализа-
ций, которые будут отображаться в браузере, потому что изображение автоматически 
масштабируется по размерам экрана зрителя. Кроме того, Plotly генерирует интерак-
тивные визуализации; когда пользователь наводит указатель мыши на некоторые 
элементы, на экране появляется расширенная информация об этом элементе.
В этом проекте мы займемся анализом результатов бросков кубиков. При броске 
одного шестигранного кубика существует равная вероятность выпадения любого 
числа от 1 до 6. С другой стороны, при броске двух кубиков некоторые суммы 
выпадают с большей вероятностью, чем другие. Чтобы определить, какие числа 
наиболее вероятны, мы сгенерируем набор данных, представляющих брошенные 
кубики. Затем на базе данных большого количества бросков будет построена диа-
грамма, по которой можно определить, какие результаты более вероятны.
Броски кубиков часто используются в математике для пояснения различных типов 
анализа данных. Впрочем, они также находят применение в реальных приложе-
ниях — скажем, в казино и в обычных играх («Монополия», ролевые игры и т. д.).
Установка Plotly
Установите Plotly при помощи 
pip
по аналогии с тем, как это делалось с Matplotlib:



Достарыңызбен бөлісу:
1   ...   242   243   244   245   246   247   248   249   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет