Создание виртуальных лабораторных работ по физике в VPython
Автор: Бабаев Д.Б., Матисаков Ж.К.
Журнал: Бюллетень науки и практики @bulletennauki
Рубрика: Педагогические науки
Статья в выпуске: 7 т.9, 2023 года.
Бесплатный доступ
Язык Visual Python является одним из популярных языков моделирования. Его интерпретатор распространяется свободно, а формат входит в стандарт, рекомендуемый для создания образовательных продуктов.
Компьютерное моделирование, 3d-визуализация, физические лаборатории, методы обучения
Короткий адрес: https://sciup.org/14128351
IDR: 14128351 | УДК: 371.54/2 | DOI: 10.33619/2414-2948/92/52
Creating virtual physics labs in VPython
The Visual Python language is one of the popular modeling languages. Its interpreter is freely distributed, and the format is included in the standard recommended for creating educational products.
Текст научной статьи Создание виртуальных лабораторных работ по физике в 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 с.