Моделирование физических явлений и процессов в VPython
Автор: Бабаев Д.Б., Матисаков Ж.К.
Журнал: Бюллетень науки и практики @bulletennauki
Рубрика: Педагогические науки
Статья в выпуске: 7 т.9, 2023 года.
Бесплатный доступ
Для описания физических явлений разрабатываются сложные модели, использующие инструментальные среды и разные языки программирования. Когда явление недоступно нашему чувству, его описание носит косвенный характер и понимание может быть затруднено для студентов. При получении прямой визуализации явления, недоступного чувству, можно достичь более глубокое понимание, за счет эффективности таких методов обучения. Использование различных инструментов визуализации для преподавания необходимо студентам, чтобы лучше понять физические явления и сформулировать соответствующие ментальные модели. В настоящей работе представлен простой инструмент визуализации 3D-объектов и графиков, предназначенный для студентов с минимальным опытом программирования. Целью представленного исследования является определение роли простых компьютерных программных кодов в совершенствовании методов обучения в физических лабораториях. Студенты узнают о важности виртуальной лаборатории как элемента визуализации при изучении физики.
Компьютерное моделирование, 3d-визуализация, физические лаборатории, методы обучения
Короткий адрес: https://sciup.org/14128350
IDR: 14128350 | DOI: 10.33619/2414-2948/92/51
Текст научной статьи Моделирование физических явлений и процессов в VPython
Бюллетень науки и практики / Bulletin of Science and Practice
УДК 371.54/2
Несомненно, лаборатория является важным средством обучения, поскольку непосредственный опыт наблюдения и обработки научных материалов превосходит другие методы развития понимания и оценки. Смит (1991) утверждал, что большинство научных теорий основаны на большом количестве очень сложных экспериментов. Он предположил, что, если темы лекций должны быть проиллюстрированы, это должно быть сделано с использованием аудиовизуальных средств или демонстраций [1].
Кроме того, наблюдаются, многие навыки, которые студенты приобретают в лаборатории, устарели. Лабораторные занятия оказываются полезными для учащихся со средними и низкими показателями успеваемости по предварительным тестам. Однако практический процесс преподавания и обучения в лабораториях можно улучшить, внедрив более эффективную технологию обучения за счет использования программного обеспечения в компьютерных классах. В данном случае центральным аспектом является моделирование сложных явлений реального мира. Физическая модель основана на том, что мы считаем фундаментальными принципами; его цель состоит в том, чтобы предсказать или объяснить наиболее важные аспекты реальной ситуации. Моделирование обязательно включает в себя приближения и упрощение допущений, которые позволяют детально проанализировать систему. Вычислительное моделирование сейчас так же важно, как теория и эксперимент в современной науке и технике. Современные разработки в компьютерных языках и компьютерном оборудовании расширили использование программ, кодов и библиотек с минимальными навыками программирования. В настоящее время преподаватели и студенты могут создавать, распространять и улучшать исходные коды для решения или иллюстрации упражнений по физике.
Python — самый простой в изучении и самый удобный в использовании язык программирования, который широко используется. Одной из сильных сторон Python является то, что он поставляется полной стандартной библиотекой. Его можно использовать для процедурного, объектно-ориентированного программирования [2].
Язык Python и его семейство пакетов составляют переменную экосистему для вычислений. Пакет или модуль — это набор связанных методов, собранных вместе в библиотеку подпрограмм. Для создания трехмерных визуализаций и матриц с помощью Python необходимо включить дополнительный модуль VPython (Python плюс пакет Visual).
Visual Python (VPython) — это язык программирования Python плюс модуль трехмерной графики под названием Visual, созданный Дэвидом Шерером в 2000 году под руководством Брюса Шервуда и Рут Чабай и выпущен под лицензией GNU Public License [3].
При использовании VPython окно отображения показывает объект в 3D, центр окна отображения находится в (0, 0, 0). Ось +x направлена вправо, ось +y направлена вверх, а ось +z направлена из-за пределов экрана к нам. Можно создавать различные формы, такие как сфера, стрелка, прямоугольник, цилиндр, текст, метка и т. д. Программа требует от пользователя ввода значений параметров, описывающих физические характеристики и определения типа анимируемого объекта. Единицы являются относительными и могут быть выделены в виде комментария с использованием решетки # и доходить до конца физической строки. Вывод любых операторов печати, которые выполняются в программе, поступает в окно вывода, которое представляет собой прокручиваемое текстовое окно. Когда запустится программа, появятся два новых окна; один отображает созданный объект, а другой отображает текст. Окно вывода текста, также называемое окном «Оболочка», отображает любой текст, который указывается в программе для печати, а также отображает любые сообщения об ошибках, которые помогут найти ошибки в программном коде. Окно Shell также используется для отображения любого текста, который указывается программе напечатать; часто для печати окончательных результатов.
В этом исследовании построим простые вычислительные модели, основанные на фундаментальных физических принципах. Используя VPython, вычислительную среду, основанную на языке программирования Python, создадим простую вычислительную модель, которая создает навигационную трехмерную анимацию. Вычислительное моделирование позволяет нам анализировать сложные системы, которые потребуют очень сложной математики или вообще не могут быть проанализированы без компьютера. В центре внимания этой статьи будет отдельная программа, разработанная для создания 3D-визуализации специально для эксперимента, проводимого в лабораториях перед их выполнением, что дает студентам возможность наблюдать за динамической эволюцией поведения системы, понимать и изменять эти выражения без какой-либо трудности. Такие анимации обеспечивают визуализацию полей и движений. В этом исследовании будем моделировать электростатическое поле электрического диполя. Электрический диполь — система двух равных по модулю разноименных точечных зарядов (+Q, -Q), расстояние l между которыми значительно меньше расстояния до рассматриваемых точек поля [4].
С помощью компьютерного языка VPython мы сможем моделировать физические явления, что поможет нам визуализировать и сделать физические лаборатории более интересными. Смоделируем «Электростатическое поле электрического диполя», чтобы понять, как возникает электростатическое поле и как направлены напряженности электростатического поля (Рисунок). Для успешной реализации моделирования нам необходимо знать величины напряженности электростатического поля Е.
В программе надо указать некоторые основные переменные, без которых компьютерная программа не запустится.
def E(rq,ro,q):
k = 9e9
r = ro-rq
Etemp = k*q*norm(r)/mag(r)**2 return(Etemp) q = 3e-9 s = 0.001
N = 16
theta = 0
dtheta = 2*pi/N
R = 0.005
Escale = 4e-9
Чтобы указать направления напряженности электростатического поля Е используем цикл while. Цикл — это инструкция, которая говорит VPython многократно выполнять ряд задач, пока программа не будет соответствовать некоторому критерию.
while theta<2*pi:
ro = R*vector(cos(theta),sin(theta),0)

Рисунок: Моделирование отношения заряда электрона к массе
Представление физики более чем одним методом приводит к более легкому пониманию. Смысл этого исследования заключается в том, чтобы привлечь студентов к физике, предлагая новый взгляд на теоретические концепции и эксперименты. Сочетая теоретические знания с простыми навыками программирования, студенты смогут симулировать и моделировать физические эксперименты перед их выполнением в лабораториях.
С помощью представленной программы легко решать упражнения и задачи, и студенты получают от нее разные преимущества: сверяют лабораторные результаты с результатами, полученными на компьютере, код легко меняется в соответствии с потребностями, и в значительной степени они получают четкое представление о том, как решать связанные с физикой расчеты.
Список литературы Моделирование физических явлений и процессов в VPython
- Bufasi E., Lakrad K. Improving teaching techniques using Visual Python: A case study in physics laboratories // International Journal of Scientific and Technology Research. 2019. V. 8. №12. P. 161-163.
- Summerfield M. Programming in Python 3: a complete introduction to the Python language. Addison-Wesley Professional, 2010.
- Scherer D., Dubois P., Sherwood B. VPython: 3D interactive scientific graphics for students // Computing in Science & Engineering. 2000. V. 2. №5. P. 56-62.
- Трофимова Т. И. Курс физики. М.: Академия, 2006. 560 с.