Создание виртуальных лабораторных работ по физике в VPython
Автор: Бабаев Д.Б., Матисаков Ж.К.
Журнал: Бюллетень науки и практики @bulletennauki
Рубрика: Педагогические науки
Статья в выпуске: 7 т.9, 2023 года.
Бесплатный доступ
Язык Visual Python является одним из популярных языков моделирования. Его интерпретатор распространяется свободно, а формат входит в стандарт, рекомендуемый для создания образовательных продуктов.
Компьютерное моделирование, 3d-визуализация, физические лаборатории, методы обучения
Короткий адрес: https://sciup.org/14128351
IDR: 14128351 | DOI: 10.33619/2414-2948/92/52
Текст научной статьи Создание виртуальных лабораторных работ по физике в VPython
Бюллетень науки и практики / Bulletin of Science and Practice
УДК 371.54/2
Умение работать с компьютерной графикой и создавать физические модели необходимо каждому специалисту. Даже если он не будет впоследствии заниматься инженерными и физическими задачами, возможно, ему придется создавать экранные заставки, компьютерные игры или веб-страницы. Поэтому заинтересованность студентов в обучении физике с помощью компьютерных программ высока. Общеизвестно, что, чем выше заинтересованность обучаемого в предлагаемом материале, чем интенсивней его эмоцианальный настрой, тем лучше проходит процесс усвоения учебного материала [1].
Моделировать физические процессы путем программирования 3D-графики достаточно сложно. Появление языка Python позволило преодолеть эту сложность. Python — интерпретируемый, объектно-ориентированный, высокоуровневый язык программирования, изобретенный Гвидо ван Россумом [2]. Синтаксис языка Python достаточно понятный. Интерпретатор Python и большая стандартная библиотека распространяются свободно. Python имеет подключаемый графический модуль, который называется Visual. С помощью модуля VPython (Visual Python) создается 3D-графика [3]. Во многих университетах студенты используют VPython для моделирования физических процессов. Поскольку синтаксис языка осваивается быстро, а трехмерные модели строятся при подключении графического модуля, то основное внимание уделяется изучению физического явления. Visual Python — это название 3D-графического модуля, в котором используется язык программирования Python. Интерактивную среду, которая используется в Visual Python, называют IDLE. В Visual Python объекты представлены в 3D-графике [4, 5]..
Начало координат (0, 0, 0) расположено в центре экрана. Ось x направлена вправо, ось y - вверх, ось z направлена на от экрана к пользователю.
Листинг 1 показывает, как создать на экране трехмерные объекты (Рисунок 1, 2). Для запуска программы нажать F5 или использовать Run menu.
Листинг 1.
Web VPython 3.2
from visual import *
scene1=display(title='OBJECTS',width=300,height=300,center=vector(0,0,0), background=vector(1,1,1))
В результате выполнения программы на экране появляется сцена (Рисунок 1) с именем OBJECTS, размеры которой в пикселях составляют 300, центр сцены расположен в точке с координатами (0,0,0), фон сцены - белый. Сцена включает красный параллелепипед, зеленую сферу и синий тор. Более детально атрибуты, присвоенные объектам, будут рассмотрены ниже.
Все создаваемые графические объекты (сферы, цилиндры, кривые и т. д.) отображаются на экране. Каждый объект должен иметь имя, если далее имеются ссылки на этот объект. Например, redbox, greenball, bluering в приведенном выше примере. Каждый объект должен иметь атрибуты: положение (например, pos=vector(4,2,3)), размеры (radius=2) и цвет (color=color. green). При изменении атрибутов происходит автоматическое изменение положения, цвета, размеров, соответственно. Программа на листинге 2 создает кубы, которые имеют различный цвет и центры которых расположены в различных точках (Рисунок 2).
Листинг 2.
from visual import *

Рисунок 2. Графические объекты создаваемые при выполнении программы
OBJECTS

Рисунок 1. Графические объекты создаваемые при выполнении программы
В дополнение к имеющимся атрибутам можно добавить новые атрибуты, характеризующие физические свойства тела. Например, body.mass = 20. В качестве атрибутов могут использоваться такие трехмерные величины, как импульс тела или скорость тела. Например, можно указать body. momentum =vector (10,5,7), то есть задать импульс тела, проекции которого на оси координат равны 10, 5 и 7 кг*м/с.
На Рисунках 3 и 4 представлены графики изменения заряда конденсатора по времени в результате работы программы моделирования LRC цепи (Листинг 3).

Рисунок 3. График изменения заряда конденсатора по времени (R=0)

Рисунок 4. График изменения заряда конденсатора по времени (R=3 Ом)
Листинг 3.
g1 = graph(xtitle=t" [s],"ytitle="Q [C]," width=400, height=200)
C = 5e-3
L = 300e-3
V0 = 3
Q = C*V0
dQ = 0
t = 0
dt = 0.001
R = 3
w1 = 50
while t<2:
ddQ = -Q/(L*C) - dQ*R/L - V0*cos(w1*t)
dQ = dQ + ddQ*dt
w = 1/sqrt(L*C)
T = 2*pi/w print(w)
Таким образом, моделированные лабораторные работы представляют собой сочетание традиционных лабораторных и практических занятий. Можно предположить, что подобный подход к изучению физики является динамичным и эффективным.
Желание понять и активно использовать данную программу продиктовано еще и тем, что она используется при написании компьютерных игр. Лабораторные работы позволяют изучать как физику, так и основы программирования. Следует также отметить, что такой подход в образовании представляет собой обучение через действие, воспринимается студентами как имеющий непосредственное отношение к их личным целям и вызывает большой интерес.
Список литературы Создание виртуальных лабораторных работ по физике в 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.
- Матисаков Ж. К., Абдилазиз Уулу К. Возможности Python для науки о данных и машинного обучения // Интернаука. 2023. №14-1(284). С. 18-19.
- 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 с.