Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovaya_физика столкновений.docx
Скачиваний:
11
Добавлен:
02.06.2015
Размер:
266.5 Кб
Скачать

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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ЭКОНОМИКИ И МЕНЕДЖМЕНТА

КАФЕДРА «БИЗНЕС-ИНФОРМАТИКА»

Физика столкновений

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

Курсовой проект по дисциплине

«Информатика и программирование»

ТПЖА 080801.300 ПЗ

Выполнил

студент гр. ПИ-21 _______________ / Фокин В.В./

(дата, подпись)

Проверила

ст. препод.кафедры БИ _______________ / Козьминых Н.М./

(дата, подпись)

2012

Содержание

Введение………………………………………………………………………………….2

Задание на курсовую работу……………………………………………………......2

Постановка задачи………………………………………………………………......2

  1. Проектная часть………………………………………………………………………….5

    1. Теоретическая часть………………………………………………………………...5

    2. Общее описание разработки……………………………………………………….5

      1. Структура приложения……………………………………………………...6

      2. Таблица свойств объектов…………………………………………....……..6

      3. Список идентификаторов……………………………………………..…….7

  2. Функциональное описание приложения…………………………………………….....9

  3. Описание работы программы с представлением экранных форм…………………..13

Заключение…………………………………………………………………………...17

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

Приложение. Исходный код программы с комментариями…………………………19

1. Form1.h……………………………………………………………………………..19

2. Circle.h………………………………………………………………………...........22

3. Circle.cpp……………………………………………………………………………23

4. form2.h……………………………………………………………………………...24

Введение

Задание на курсовую работу

Представим себе прямоугольную коробку с бортами (бильярдный стол, без луз, далее игровое поле). На него выкидываем шары. Они там катаются и ударяются об борта и между собой. Каждый шар имеет какую-то начальную скорость. После попадания на стол шары предоставлены сами себе. Шары движутся только в плоскости.

Требуется создать программу, позволяющую реализовать движение шаров на игровом поле. Количество шаров задаётся самим пользователем. Координаты сброса шаров и направление их начальной скорости выбирается случайно. Далее шары предоставлены сами себе и как-то движутся, сталкиваясь с бортами и между собой.

Постановка задачи

Целью была разработка приложения наподобие игры в бильярд.

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

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

Например, знаток бильярда не без основания уверен в исходе своих ударов, если он точно ударяет шар своим Кием (что следует ожидать, так как он хороший игрок), и в момент удара не происходит внезапного землетрясения или другой подобной неожиданности. Что делает его таким уверенным? Откуда он знает, что шары будут двигаться точно так, как он ожидает? Конечно, главная причина — опыт.

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

Вообразите бильярдный шар, движущийся по поверхности стола самым простым образом, без каких-либо вращений, с постоянной скоростью 10 см/сек. Предположим, далее, что этот бильярдный шар налетает на неподвижный, который тотчас начинает двигаться, а первый останавливается. При этом, если столкновение было центральным, второй бильярдный шар движется со скоростью 10 см/сек точно в том же направлении, в каком двигался раньше первый. Многочисленными наблюдениями установлено, что при таком столкновении сумма скоростей шаров до и после соударения одинакова (на самом деле имеется небольшое замедление из-за трения шара о поверхность стола и сопротивления окружающего воздуха, но этими эффектами пока можно пренебречь). Короче, общая скорость остается неизменной, в то время как другие факторы, например положение и скорость каждого шара в отдельности, меняются. Казалось бы, общая скорость «сохраняется».

Значение такого обобщения в том, что оно исключает все виды случайностей из области возможного. Вы можете быть уверены, что ни один шар не будет двигаться быстрее определенного предела. Более того, если в такой системе из двух шаров известна скорость одного шара, тем самым уже предопределена скорость другого. Но будет ли общая скорость «сохраняться» во всех случаях или только в том, который я только что описал?

Что будет, например, если шар ударит не покоящийся, а движущийся шар? Предположим, что один бильярдный шар движется со скоростью 10 см/сек, скажем, на север, другой — со скоростью 10 см/сек на юг, и оба они сталкиваются «в лоб». Мы полагаем, что шары в этих условиях отскочат друг от друга. Но что произойдет, если шары сделать из воска или замазки, так что при соударении они сплющатся и прилипнут друг к другу? Остановятся ли шары в точке столкновения, и какими в этом случае будут их скорости?

Конечно, если скорость исчезает, вряд ли можно говорить, что она сохраняется. Чтобы говорить о сохранении скорости, необходимо, оказывается, рассматривать не только ее величину, но и направление движения предмета. Предположим, что скорость движения шара на север равна 10 см/сек, а скорость движения на юг 10 см/сек. В таком случае общая скорость двух движущихся шаров равна не 20 см/сек, а нулю. Следовательно, если два неупругих шара сталкиваются, прилипают и останавливаются в точке столкновения, никакого изменения суммарной скорости не происходит.

В случае настоящих упругих бильярдных шаров ситуация иная. Каждый шар внезапно меняет направление движения. Шар, движущийся на север, отскакивает на ЮГ, причем скорость его меняется от +10 см/сек до -10 см/сек. Второй шар отскакивает на север, и скорость его меняется от —10 см/сек до +10 см/сек. Однако суммарная скорость остается равной нулю. Если шары недостаточно упруги, то может случиться, что один шар изменит скорость от +10 см/сек. до —6 см/сек. Тогда другой изменит скорость с —10 см/сек до +6 см/сек.

Результатов такого центрального столкновения множество, НО они ограничены условием обязательного сохранения суммарной скорости.

Однако можно усложнить задачу. Что если движущийся бильярдный шар ударяет неподвижный, но не по центру? Что тогда?

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

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

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

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

Вводимая пользователем информация о диаметре шаров ограничена определённым интервалом, который не меньше 10 и не больше 70. Пользователь не увидит ожидаемый результат, если не укажет диаметр шаров. Предусмотрена возможность просмотра справки, где указано как работать с программой.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]