Маятник Ньютона

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

Рубрика Физика и энергетика
Вид курсовая работа
Язык русский
Дата добавления 12.11.2017
Размер файла 87,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение высшего образования

Московский авиационный институт (национальный исследовательский университет)

Факультет № 3

Кафедра 304

Курсовая работа

по дисциплине "Конструирование ПО"

Выполнил студент

Группы 30 - 211Б

Максимов И.В.

Принял: профессор каф.304

к.т.н. Гагарин А.П.

Москва, 2017

Задание

Реализовать тетрис.

Теоретическая часть

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

Математический маятник -- осциллятор, представляющий собой механическую систему, состоящую из материальной точки, находящейся на невесомой нерастяжимой нити.

Колебания математического маятника описываются обыкновенным дифференциальным уравнением вида:

(1)

где {\displaystyle \omega } Ї положительная константа, определяемая исключительно из параметров маятника.

Неизвестная функция {\displaystyle x(t)} Ї это угол отклонения маятника в момент {\displaystyle t}tt от нижнего положения равновесия, выраженный в радианах;

{\displaystyle \omega ={\sqrt {g/L}}},

где {\displaystyle L}Ї длина подвеса, {\displaystyle g} Ї ускорение свободного падения.

Малые колебания маятника являются гармоническими. Это означает, что смещение маятника от положения равновесия изменяется во времени по синусоидальному закону.

Уравнение малых колебаний маятника около нижнего положения равновесия (гармоническое уравнение) имеет вид:

(2)

Решением уравнения является функция:

(3)

осциллятор маятник энергия

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

Тогда решением (2) будет (4)

Таким образом, задав начальное отклонение от положения равновесия , можно определить закон движения маятника по формуле (4).

Проектирование класса осцилляторов

Имя класса: _ball

Поля данных (закрытые):

Целочисленные x0, y0, x, y - координаты подвеса и шара соответственно.

Вещественные r - радиус, l - длина нити, a - текущий угол отклонения, a0 - начальный угол отклонения, omega - собственная частота колебаний маятника

Методы (открытые):

Методы - акцессоры:

put_x0 (целое) - задает новое значение поля x0

put_y0 (целое) - задает новое значение поля y0

put_x (целое) - задает новое значение поля x

put_y (целое) - задает новое значение поля y

put_r (вещественное) - задает новое значение поля r

put_l (вещественное) - задает новое значение поля l

put_a (вещественное) - задает новое значение поля a

put_a0 (вещественное) - задает новое значение поля a0

put_omega (вещественное) - задает новое значение поля omega

get_y0 - возвращает значение поля y0

get_x - возвращает значение поля x

get_r - возвращает значение поля r

get_l - возвращает значение поля l

get_a0 - возвращает значение поля a0

Прочие методы:

draw - рисует нить и шар

clean - рисует нить и шар цветом фона

change_pos - стирает шар в предыдущий момент времени, вычисляет угол отклонения в текущий момент времени по формуле (4) a = a0 * cos(a), а также координаты x и y шара по формулам x = x0 + l * sin(a) y = y0 + l * cos(a), после вычислений рисует шар

Текст программы

#include <math.h>

#include <graphics.h>

#include <dos.h>

#include <conio.h>

#include <iostream.h>

class _ball

{

private:

int x0,y0,x,y;

double r,l,a,a0,omega;

public:

void put_x0(int);

void put_y0(int);

void put_x(int);

void put_y(int);

void put_r(double);

void put_l(double);

void put_a(double);

void put_a0(double);

void put_omega(double);

int get_y0();

int get_x();

double get_r();

double get_l();

double get_a0();

void draw();

void clean();

void change_pos(double);

};

void _ball::put_x0(int x0) {this->x0=x0;}

void _ball::put_y0(int y0) {this->y0=y0;}

void _ball::put_x(int x) {this->x=x;}

void _ball::put_y(int y) {this->x=y;}

void _ball::put_r(double r) {this->r=r;}

void _ball::put_l(double l) {this->l=l;}

void _ball::put_a(double a) {this->a=a;}

void _ball::put_a0(double a0) {this->a0=a0;}

void _ball::put_omega(double omega) {this->omega=omega;}

int _ball::get_y0() {return y0;}

double _ball::get_a0() {return a0;}

double _ball::get_l() {return l;}

double _ball::get_r() {return r;}

int _ball::get_x() {return x;}

void _ball::draw()

{

circle(x,y,r);

circle(x,y,r-1);

circle(x,y,r-2);

line(x0,y0,x,y);

line(x0-1,y0,x-1,y);

line(x0+1,y0,x+1,y);

}

void _ball::clean()

{

setcolor(getbkcolor());

draw();

setcolor(1);

}

void _ball::change_pos(double t)

{

clean();

a=a0*cos(omega*t);

x=x0+l*sin(a);

y=y0+l*cos(a);

draw();

}

int main()

{

int gdriver=DETECT, gmode;

initgraph(&gdriver,&gmode, "");

setbkcolor(15);

setcolor(1);

const double g=9.8;

const char n=5;

char nA=2;

_ball ball[n];

for (int i=0; i<n; i++)

{

ball[i].put_l(300);

ball[i].put_r(25);

ball[i].put_x0(230+i*2*ball[i].get_r());

ball[i].put_y0(30);

ball[i].put_omega(sqrt(g/ball[i].get_l()));

if (i<nA) ball[i].put_a0(-M_PI/6);

else ball[i].put_a0(0);

ball[i].put_a(ball[i].get_a0());

ball[i].change_pos(0);

}

line(0,ball[0].get_y0()-1,getmaxx(),ball[0].get_y0()-1);

line(0,ball[0].get_y0()-2,getmaxx(),ball[0].get_y0()-2);

line(0,ball[0].get_y0()-3,getmaxx(),ball[0].get_y0()-3);

char direction=1;

for (double t=0; !kbhit(); t+=0.05)

{

for (int i=0; i<n; i++) ball[i].change_pos(t);

delay(100);

if(nA!=n)

{

if(direction==1)

{

if(ball[nA].get_x()-ball[nA-1].get_x()<=

ball[nA].get_r()+ball[nA-1].get_r())

{

direction=-1;

for(int i=n-1; i>=0; i--)

if (i>=n-nA) ball[i].put_a0(ball[0].get_a0());

else ball[i].put_a0(0);

}

}

else

{

if(ball[n-nA].get_x()-ball[n-nA-1].get_x()<=

ball[n-nA].get_r()+ball[n-nA-1].get_r())

{

direction=1;

for(int i=0; i<n; i++)

if (i<nA) ball[i].put_a0(ball[n-1].get_a0());

else ball[i].put_a0(0);

}

}

}

}

return 0;

}

Результаты работы программы:

Количество шаров n = 4, колеблющихся шаров nA = 2:

Количество шаров n = 5, колеблющихся шаров nA = 5:

Количество шаров n = 5, колеблющихся шаров nA = 1:

Список использованных источников

1. Новиков П.В. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ/ П.В. Новиков. - Москва: МАИ, 2015. - 123с.

2. В.В. Монахов, О.В. Огинец, Исследование колебаний маятника в поле силы тяжести: Учебно-методическое пособие. - СПб, Издательство СПбГУ, 2006, 24 с.; 12 ил., 4 библ.

Размещено на Allbest.ru

...

Подобные документы

  • Свободные, вынужденные, параметрические и затухающие колебания, автоколебания. Понятие математического и пружинного маятника. Вывод формулы для расчета периода пружинного маятника. Механические колебания и волны. Циклическая частота и фаза колебания.

    презентация [474,0 K], добавлен 12.09.2014

  • Законы изменения и сохранения момента импульса и полной механической энергии системы. Измерение скорости пули с помощью баллистического маятника. Период колебаний физического маятника. Расчет погрешности прямых и косвенных измерений и вычислений.

    лабораторная работа [39,7 K], добавлен 25.03.2013

  • Определение скорости сосредоточенной массы. Расчет кинетической и потенциальной энергии механической системы в обобщенных координатах. Составление линейной системы дифференциальных уравнений в приближении малых колебаний двойного нелинейного маятника.

    контрольная работа [772,7 K], добавлен 25.10.2012

  • Изучение движения тела под действием постоянной силы. Уравнение гармонического осциллятора. Описание колебания математического маятника. Движение планет вокруг Солнца. Решение дифференциального уравнения. Применение закона Кеплера, второго закона Ньютона.

    реферат [134,8 K], добавлен 24.08.2015

  • Анализ уравнения движения математического маятника. Постановка прямого вычислительного эксперимента. Применение теории размерностей для поиска аналитического вида функции. Разработка программы с целью нахождения периода колебаний математического маятника.

    реферат [125,4 K], добавлен 24.08.2015

  • Використання фізичного маятника з нерухомою віссю обертання античними будівельниками. Принцип дії фізичного маятника. Пошук обертаючого моменту. Період коливань фізичного маятника та їх гармонійність. Диференціальне рівняння руху фізичного маятника.

    реферат [81,9 K], добавлен 29.04.2010

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

    контрольная работа [44,6 K], добавлен 25.12.2010

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

    курсовая работа [177,8 K], добавлен 19.04.2015

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

    лабораторная работа [273,7 K], добавлен 13.10.2011

  • Математичний маятник та матеріальна точка. Перевірка справедливості формули періоду коливань математичного маятника для різних довжин маятника і різних кутів відхилення від положення рівноваги. Механічні гармонічні коливання та умови їх виникнення.

    лабораторная работа [89,0 K], добавлен 20.09.2008

  • Методика косвенного измерения скорости полета пули с помощью баллистического маятника. Закон сохранения полной механической энергии. Определение скорости крутильных колебаний. Формула для расчета погрешности измерений. Учет измерения момента инерции.

    лабораторная работа [53,2 K], добавлен 04.03.2013

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

    лабораторная работа [47,5 K], добавлен 06.04.2014

  • Линеаризация уравнения маятника. Передаточная функция объекта управления, математическая модель в переменном состоянии. Построение корневого годографа системы с пропорциональным управлением. Расчет системы с учетом инерционности датчика скорости.

    курсовая работа [749,3 K], добавлен 28.11.2011

  • Исследование момента инерции системы физических тел с помощью маятника Обербека. Скорость падения физического тела. Направление вектора вращения крестовины маятника Обербека. Момент инерции крестовины с грузами. Значения абсолютных погрешностей.

    доклад [23,1 K], добавлен 20.09.2011

  • Маятник под воздействием сил тяжести и электростатического взаимодействия. Колебания стержня и маятника под действием сил тяжести и упругости. Примеры комбинированных маятников, расчет частоты колебаний. Затухающие колебания комбинированного осциллятора.

    курсовая работа [307,1 K], добавлен 11.12.2012

  • Законы динамики вращательного движения и определение скорости полета пули. Расчет угла поворота и периода колебаний крутильно-баллистического маятника. Определение момента инерции маятника, прямопропорционального расстоянию от центра масс до оси качания.

    контрольная работа [139,2 K], добавлен 24.10.2013

  • Свободные, гармонические, упругие, крутильные и вынужденные колебания, их основные свойства. Энергия колебательного движения. Определение координаты в любой момент времени. Явления резонанса, примеры резонансных явлений. Механизмы колебаний маятника.

    реферат [706,7 K], добавлен 20.01.2012

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

    курсовая работа [1,7 M], добавлен 01.11.2013

  • Виды механической энергии. Кинетическая и потенциальная энергии, их превращение друг в друга. Сущность закона сохранения механической энергии. Переход механической энергии от одного тела к другому. Примеры действия законов сохранения, превращения энергии.

    презентация [712,0 K], добавлен 04.05.2014

  • Представления о гравитационном взаимодействии. Сущность эксперимента Кавендиша. Кинематика материальной точки. Определение ускорения силы тяжести с помощью математического маятника. Оценка абсолютной погрешности косвенных измерений периода его колебаний.

    лабораторная работа [29,7 K], добавлен 19.04.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.