Научная статья на тему 'Моделирование колебательных процессов с помощью VPython'

Моделирование колебательных процессов с помощью VPython Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
743
95
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гетманова Елена Евгеньевна

Использование пакета VPython при изучении физики повышает эффективность обучения, способствует лучшему пониманию физических явлений, вырабатывает навыки компьютерного моделирования. В статье рассматривается моделирование механических колебаний в VPython.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Моделирование колебательных процессов с помощью VPython»

Практика использования

свободного программного обеспечения в образовании

Моделирование колебательных процессов с помощью урутиом

Гетманова Елена Евгеньевна (elge@mail.ru)

Белгородский государственный технологический университет им. В.Г. Шухова, г. Белгород

Аннотация

Использование пакета VPython при изучении физики повышает эффективность обучения, способствует лучшему пониманию физических явлений, вырабатывает навыки компьютерного моделирования. В статье рассматривается моделирование механических колебаний в VPython.

Инновационность методов образования определяется расширением средств обучения за счет появления новых источников учебной информации. Интерактивные компьютерные технологии дают возможность моделировать физические процессы и изучать одновременно основы физики и программирования. Они делают наглядными физические модели, помогают исследовать процесс, когда проведение натурного эксперимента затруднено.

Моделирование с помощью VPYTHON [1,2] позволяет рассматривать сложные явления, делать их понятными и легко запоминающимися.

Данный пакет помогает изучать законы физики, создавать на экране объекты и задавать законы их взаимодействием. Пользователю предоставляется возможность управлять объектами на экране и тем самым изменять параметры физического процесса. В работе показано моделирование механических колебаний с помощью VPYTHON.

Гармоническое колебание может быть представлено графически с помощью вращающегося вектора амплитуды. Если одновременно совершаются два гармонических колебания одинаковой частоты (рис.1) в направлении х х1 = А1 еоя(ю t + а1), х2 = А2 еоя(ю I + а2), то результирующее колебание определяется выражением:

х = Acos(wt + а),

где А = у/А12 + А22 + 2 А1А2 со. [а2 - а1 ], tgP =

А1 .т а1 + А2 .т а2 А1 со. а1 + А2 со. а2

Рис. 1.

Сложение колебаний одного направления с одинаковыми частотами можно продемонстрировать с помощью компьютерной графики. Код программы, которая показывает сложение колебаний одного направления, приведен ниже:

from visual import * scene.autoscale = 0 scene.range = (12,12,12) scene.title = « Oscillations» scene.background = (1,1,1) t = 0

alpha_one = pi/2 alpha_two = 0 amp_one = 3 amp_two = 3

den = (amp_one*cos(alpha_one)+amp_two*cos(alpha_two)) if den == 0:

amp = abs(amp_one-amp_two) alpha = pi

else: amp = sqrt(amp_one*amp_one+amp_two*amp_two+2*amp_one*amp_two*cos(alpha_one-alpha_two)) alpha = atan((amp_one*sin(alpha_one)+amp_two*sin(alpha_two))/ (amp_one*cos(alpha_one)+amp_two*cos(alpha_two))) ball1 = sphere(pos = (0,9,0), color = color.yellow) ball = sphere(pos = (0,0,0),raduis = 0.01, color = color.green) ball2 = sphere(pos = (0,5,0),raduis = 0.01, color = color.blue) ball3 = sphere(pos = (0,-5,0),raduis = 0.01, color = color.red) for a in [ball,ball1 ,ball2,ball3]: a.orbit = curve(color = a.color, radius = 0.1) while 1: rate(20) t + = 0.1

ball1.x = amp_one*cos(3*t+alpha_one) ball2.x = amp_two*cos(3*t+alpha_two) ball.x = amp*cos(3*t+alpha) ball3.y = -5+amp*cos(3*t+alpha) ball3.x = -10+t for a in [ball,ball1,ball2,ball3]: a.orbit.append(pos = a.pos)

После запуска программы на экране появляются четыре сферы. Первая совершает колебания вдоль оси x с частотой w = 3 рад/с, амплитудой Ax = 3, м и начальной фазой a\=p, вторая сфера - колебания вдоль оси x с частотой w = 3 рад/с, амплитудой A2 = 3, м и начальной фазой a2 = 0 . Третья сфера совершает колебание, являющееся суперпозицией представленных колебаний, а четвертая сфера показывает в динамике процесс изменения смещения результирующего колебания от времени. При изучении данной темы студенты могут изменять начальные фазы колебаний, амплитуды колебаний и получать результирующее колебание. В качестве самостоятельного задания предлагается промоделировать колебание, являющееся суперпозицией трех гармонических колебаний одного направления с одинаковыми частотами.

С помощью представленного Flash фильма, легко понять и запомнить, в каком случае амплитуды складываются (колебания осуществляются в фазе), а в каком - вычитаются (колебания происходят в противофазе).

Рис. 2.

При сложении двух гармонических колебаний, происходящих в одном направлении, в случае близко лежащих частот результирующее колебание представляет собой биение. При изучении этого явления студенты набирают код: from visual import * scene.autoscale = 0 scene.range = (12,12,12) scene.title = «BEAT» scene.background = (1,1,1) t = 0

omega = 4 delt_omega = 0.5 amp_one = 2 amp_two = 2

ball = sphere(pos = (0,4,0), color = color.yellow) ball1 = sphere(pos = (0,0,0),raduis = 0.01, color = color.green) ball2 = sphere(pos = (0,-4,0),raduis = 0.01, color = color.blue) for a in [ball,ball1 ,ball2]: a.orbit = curve(color = a.color, radius = 0.1) while 1: rate(40) t += 0.1

ball.y = 7+amp_one*cos(omega*t)

ball1.y = 2+amp_two*cos((omega+delt_omega)*t)

ball2.y = -4+amp_one*cos(omega*t)+amp_two*cos((omega+delt_omega)*t)

ball.x = -10+t;

ball1.x = -10+t;

ball2.x = -10+t;

for a in [ball,ball1,ball2]:

a.orbit.append(pos = a.pos)

и запускают программу на выполнение. На экране появляются три сферы. Первая сфера совершает

колебания с частотой w = 4 радС, вторая - колебания с частотой w = 4,5 радС . Самая нижняя сфера

совершает колебание, являющееся суперпозицией двух исходных колебаний. Изменения смещения от времени этой сферы представляют собой биения.

Студенты далее самостоятельно исследуют явление: задают различные амплитуды двух исходных гармонических колебаний, меняют разности фаз колебаний.

Рис. 3.

Студенты далее самостоятельно исследуют явление: задают различные амплитуды двух исходных гармонических колебаний, меняют разности фаз колебаний.

Если материальная точка совершает колебания одновременно вдоль осей x и y x = A1 cos at, y = A2 cos(a t + a), то уравнение траектории может быть представлено в виде:

x2 y 12+

2

2 xy

cos a = sin2 a

A1 A\ Ax A2

При сложении двух взаимно перпендикулярных колебаний составляется программа, которая описывает сферу, совершающую колебательное движение во взаимно перпендикулярных направлениях.

Если частоты колебаний одинаковы, то результирующее колебание представляет собой, в общем случае, эллипс. В зависимости от разности фаз колебание, в частности, может быть прямой. Представленный ниже код позволяет моделировать взаимно перпендикулярные колебания с одинаковыми частотами и изучать результирующие траектории движения тела: from visual import * scene.autoscale = 0 scene.range = (12,12,12) scene.title = «Perpendicular Oscillations» scene.background = (1,1,1) L = 10

xaxis = curve(pos = [(-L,0,0), (L,0,0)], color = (0.5,0.5,0.5)) yaxis = curve(pos = [(0,0,0), (0,L,0)], color = (0.5,0.5,0.5)) yaxis1 = curve(pos = [(0,0,0), (0,-L,0)], color = (0.5,0.5,0.5)) t = 0

ball = sphere(pos = (0,4,0), color = color.red)

alpha = pi/4

amp_one = 3

amp_two = omega = 4

for a in [ball] :

a.orbit = curve(color = a.color, radius = 0.1) while 1: rate(20) t += 0.1

ball.y = amp_one*cos(omega*t) ball.x = amp_two*cos(omega*t+alpha) for a in [ball] : a.orbit.append(pos = a.pos)

а

Рис. 4.

Если частоты колебаний различны, то траектория в случае соизмеримых частот представляет замкнутую кривую. Код программы, приведенный ниже, дает возможность исследовать колебания в случае различных частот: from visual import * scene.range = (12,12,12) L = 4

scene = display(title = «Perpendicular Ocsillations»,range = 2*L,background = (1,1,1)) xaxis = curve(pos = [(0,0,0), (L,0,0)], color = (0.5,0.5,0.5)) yaxis = curve(pos = [(0,0,0), (0,L,0)], color = (0.5,0.5,0.5)) zaxis = curve(pos = [(0,0,0), (0,0,L)], color = (0.5,0.5,0.5)) t = 0

ball = sphere(pos = (0,4,0),radius = 0.5, color = color.green) for a in [ball]:

a.orbit = curve(color = a.color, radius = 0.1) while 1: rate(40) t + = 0.1

ball.y = 3*cos(1*t) ball.x = 3*cos(2*t+3.14/2) for a in [ball]: a.pos.x = 3*cos(1*t) a.pos.y = 3*cos(2*t+3.14/2) a.orbit.append(pos = a.pos)

ЩЩ

Рис. 5.

Изменяя частоты колебаний, амплитуды и разности фаз можно увидеть в динамике движение тела, совершающее колебания в двух взаимно перпендикулярных направлениях.

Компьютерная модель позволяет наблюдать процесс, модифицировать его параметры и зрительно запоминать характер движения.

Изучение физики с применением компьютерных технологий делает ее более привлекательной для учащихся, интенсифицирует процесс обучения.

=10- Литература

1. Гетманова Е.Е. Моделирование физических процессов в УРуШоп, ФинАрт, Харьков, 2004.

2. М1р:/^еагскуа^о.сот^еагЛ;_уИ = A0geutIxEspLhj4B.ZJXNyoA?p = уруШоп&й2 = 8Ь-1;ор&1х = у£р-1;-701&8ао = 0 (дата обращения 15.04.10г.)

Развитие у студентов навыка структурирования информации в курсе изучения дисциплины «Технология разработки программных продуктов»

Зверева Наталья Анатольевна (phtt@list.ru)

ФГОУ СПО «Пермский химико-технологический техникум», г. Пермь

Аннотация

Структурирование информации - это технология представления информации в виде, отражающем связи (смысловые, ассоциативные, причинно-следственные и другие). Связь между понятиями, частями, составляющими предметной области, которую необходимо изучить. Широкое использование структурирования информации определяется тем, что каждая мысль представляется как объект во взаимосвязи с другими объектами.

Современное общество немыслимо без ее основного ресурса - информации. Понимая информацию как один из основных стратегических ресурсов общества, необходимо уметь его оценивать как с качественной, так и с количественной стороны. На этом пути существуют большие проблемы из-за нематериальной природы этого ресурса и субъективности восприятия конкретной информации различными индивидуумами человеческого общества. Термин информация происходит от латинского т£огтайоп,что означает разъяснение, осведомление, изложение. С позиции материалистической философии информация есть отражение реального мира с помощью сведений (сообщений). Сообщение -это форма представления информации в виде речи, текста, изображения, цифровых данных, графиков таблиц и т. п. В широком смысле информация - это общенаучное понятие, включающее в себя обмен сигналами между живой и неживой природой, людьми и устройствами. Информацию можно рассматривать как концептуально связанные между собой сведения, данные, понятия, изменяющие наши представления о явлении или объекте окружающего мира [1].

В настоящее время наблюдается огромный рост информации, требующий от человека умений работы с литературой, цифровыми информационными ресурсами. Успешная, грамотная работа с большими информационными данными требует высокого уровня развития профессиональных навыков. Студент должен:

1) уметь осмысленно изучать материал любой дисциплины, выделяя в нем основное (базисное) и оставляя второстепенную информацию;

2) проводить анализ, сравнение, классификацию, выявлять причинно-следственные связи и т. д.;

3) формировать точное изложение мыслей, ответы на вопросы, публичные выступления;

4) правильно приводить доказательства своих суждений;

5) оформлять вывод, создавать план действий, проявлять самостоятельность.

Все перечисленное выше можно достичь с использованием технологии структурирования информации, которая представляет собой один из видов информационного моделирования. Структурирование информации связано с изменением формы представления информации, без изменения ее содержания. Структурирование информации связано с внесением определенной системы в формирование информации. Упорядочение в определенном порядке, сортировка по определенным признакам, использование табличного или графического изложения - все это является структурированием информации. С данным видом переработки информации студенты сталкиваются при изучении любой дисциплины. Структуризация происходит и на этапе составления плана пересказа различного текста, краткой записи любой текстовой задачи. Но мы часто не говорим, что выполняя задания такого типа,

i Надоели баннеры? Вы всегда можете отключить рекламу.