Практика использования
свободного программного обеспечения в образовании
Моделирование колебательных процессов с помощью урутиом
Гетманова Елена Евгеньевна ([email protected])
Белгородский государственный технологический университет им. В.Г. Шухова, г. Белгород
Аннотация
Использование пакета 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г.)
Развитие у студентов навыка структурирования информации в курсе изучения дисциплины «Технология разработки программных продуктов»
Зверева Наталья Анатольевна ([email protected])
ФГОУ СПО «Пермский химико-технологический техникум», г. Пермь
Аннотация
Структурирование информации - это технология представления информации в виде, отражающем связи (смысловые, ассоциативные, причинно-следственные и другие). Связь между понятиями, частями, составляющими предметной области, которую необходимо изучить. Широкое использование структурирования информации определяется тем, что каждая мысль представляется как объект во взаимосвязи с другими объектами.
Современное общество немыслимо без ее основного ресурса - информации. Понимая информацию как один из основных стратегических ресурсов общества, необходимо уметь его оценивать как с качественной, так и с количественной стороны. На этом пути существуют большие проблемы из-за нематериальной природы этого ресурса и субъективности восприятия конкретной информации различными индивидуумами человеческого общества. Термин информация происходит от латинского т£огтайоп,что означает разъяснение, осведомление, изложение. С позиции материалистической философии информация есть отражение реального мира с помощью сведений (сообщений). Сообщение -это форма представления информации в виде речи, текста, изображения, цифровых данных, графиков таблиц и т. п. В широком смысле информация - это общенаучное понятие, включающее в себя обмен сигналами между живой и неживой природой, людьми и устройствами. Информацию можно рассматривать как концептуально связанные между собой сведения, данные, понятия, изменяющие наши представления о явлении или объекте окружающего мира [1].
В настоящее время наблюдается огромный рост информации, требующий от человека умений работы с литературой, цифровыми информационными ресурсами. Успешная, грамотная работа с большими информационными данными требует высокого уровня развития профессиональных навыков. Студент должен:
1) уметь осмысленно изучать материал любой дисциплины, выделяя в нем основное (базисное) и оставляя второстепенную информацию;
2) проводить анализ, сравнение, классификацию, выявлять причинно-следственные связи и т. д.;
3) формировать точное изложение мыслей, ответы на вопросы, публичные выступления;
4) правильно приводить доказательства своих суждений;
5) оформлять вывод, создавать план действий, проявлять самостоятельность.
Все перечисленное выше можно достичь с использованием технологии структурирования информации, которая представляет собой один из видов информационного моделирования. Структурирование информации связано с изменением формы представления информации, без изменения ее содержания. Структурирование информации связано с внесением определенной системы в формирование информации. Упорядочение в определенном порядке, сортировка по определенным признакам, использование табличного или графического изложения - все это является структурированием информации. С данным видом переработки информации студенты сталкиваются при изучении любой дисциплины. Структуризация происходит и на этапе составления плана пересказа различного текста, краткой записи любой текстовой задачи. Но мы часто не говорим, что выполняя задания такого типа,