Четверг, 02.05.2024, 11:36:42   Приветствую Вас, Гость · RSS
Меню сайта
Категории каталога
Открытый урок [21]
Файлы, содержащие разработки уроков.
Полезности [29]
Здесь размещены файлы, которые могут оказать неоценимую помощь при подготовке и проведении уроков.
Официальные документы [6]
Здесь размещены официальные документы школы.
Рефераты [15]
Рефераты обо всем и для всех: учителям, учащимся, студентам.
Сочинениеләр (иншалар) [10]
Укучыларга ярдәмлек.
Книги [14]
Китаплар [12]
Тесты по физике [13]
Готовимся к ЕГЭ [22]
Готовимся к ГИА [22]
Стандарты и программы [3]
Наш опрос
Оцените мой сайт
Всего ответов: 6524
Посетители
Онлайн всего: 1
Гостей: 1
Пользователей: 0
 Каталог файлов
Главная » Файлы » Рефераты

Программа-симулятор игры в теннис
[ Скачать с сервера (21.6 Kb) ] 02.04.2007, 18:37:15
Теоретическая часть

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

Можно выделить 2 основных пути создания базовой программы, в зависимости от которых выбирается модель полёта:
1. вид сверху;
2. вид сбоку.

При использовании первого пути траектория полёта мяча будет линейной. Если идти вторым путём, то мяч будет лететь по параболе; при этом возможна ситуация недолёта мяча, необходимо перемещать ракетку в двух координатах, управлять вектором и силой удара – то есть задача усложняется как минимум на три порядка, и к тому же теряется наглядность.

Поэтому я решила идти первым путём. Каким же образом осуществляется выбор траектории мяча и его движение?
Это происходит таким образом. Предположим, мяч только что был отбит с левой стороны. Известны начальные координаты (хмин, у1) положения мяча. Упростив задачу оператору, считаем, что виртуальный игрок сам выбирает направление удара. Тогда нам будет известна вторая точка в траектории полёта мяча: (хмакс, у2), где у2 выбирается случайным образом по всей ширине корта (высоте части экрана, выделенного под корт). Так как траектория мяча линейная, то по двум известным точкам можно построить уравнение линии. В данном случае я нахожу длины катетов (хмакс-хмин), (у2-у1) и через арктангенс нахожу угол наклона гипотенузы. Далее циклически увеличиваю длину гипотенузы от нуля на некоторое приращение, умножаю её на косинус и синус угла наклона, таким образом получаю приращение по х и у координат положения мяча – таким образом мяч двигается по необходимой траектории.

Старое изображение мяча необходимо стирать. Можно было просто рисовать на его месте чёрный квадрат, но при этом происходило бы стирание изображения теннисной сетки и разделительной линии, поэтому я поступила мудрее: нарисовала мяч и скопировала его битовый образ. При рисовании мяча я просто выводила его битовый образ на экран с маской XOR. Когда же нужно было стереть изображение мяча, я просто ещё раз выводила туда же изображение мяча с этой же маской. Таким образом, изображение мяча пропадало, а рисунок фона восстанавливался. Поэтому при пролетании над сеткой мяч не стирает её изображение.

Регулирование скорости полёта мяча возможно двумя способами:
• увеличением аргумента оператора Delay();
• уменьшением величины приращения гипотенузы, но при этом происходит мерцание ракетки компьютера.

Категория: Рефераты | Добавил: ilbyak-school
Просмотров: 2172 | Загрузок: 375 | Рейтинг: 5.0/2 |

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Ссылки
Статистика
Рейтинг@Mail.ru
Rambler's Top100
Copyright © 2006—2024 МСОШ с. Ильбяково.
При полном или частичном использовании материалов сайта ссылка на ilbyak-school.ucoz.ru обязательна.
Сайт управляется системой uCoz