Создание виртуальных лабораторных работ по физике в 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 с.
Статья научная