Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Произвольные перемещения мяча




В данной модели мячи движутся вертикально, отталкиваясь от поверхности с координатой 0. Это происходит потому, что начальная скорость мячей по координате х равна 0. Если мы изменим начальные скорости мячей по этой координате, сделав их, например, случайными, нам необходимо задать так­же, как мячи будут себя вести при встрече с потолком и вертикальными стенками.

Вернемся снова к экспериментам с одним мячом. Удалите из окна струк­турной диаграммы объекта Root объект ball1, а из окна анимации удалите шар с именем ovall, отображавший движение шара ball1.

Сделаем сначала случайными начальные значения скоростей vx и vy мяча. Активизируйте окно структурной диаграммы активного объекта Ball, выде­лите переменную vx и в поле Начальное значение этой переменной замените значение 0 на значение uniform(-100, 100). Тем самым начальная скорость по координате х у различных экземпляров активного объекта Ball будет вы­бираться случайно из диапазона (—100, +100) метров в секунду как реализа­ция случайной величины, равномерно распределенной в этом диапазоне. То же самое сделайте для переменной vy.

Для учета отталкивания мяча от потолка нужно событие встречи препятст­вия мячом на переходе стейтчарта изменить. Размеры поля, в котором дви­гаются мячи, установлены 500x500 (м). В поле Событие окна свойств пере­хода стейтчарта активного объекта Ball выражение:

у <= r && vy < О

следует дополнить:

у <= r && vy < 0 || у >= 500-r && vy > 0

Действие, которое выполняется и в том, и в другом случае, будет тем же: изменение направления скорости vy с частичной ее потерей.

Для того чтобы учесть отталкивание мяча от вертикальных стен, нужно учесть это событие в стейтчарте введением дополнительного перехода. Сде­лайте ОКНО СТеЙТЧарта аКТИВНЫМ И добавьте К СОСТОЯНИЮ Movement ДОПОЛНИ-

тельный переход, используя иконку панели инструментов. Щелкнув

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

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

х <= r && vx < 0 || х >= 500-r && vx> О

а в поле Действие установить действия изменения направления составляю­
щей vx скорости мяча и моментальное изменение цвета мяча при столкно-
вении:                                                                                                                 '

vx=-(1-k)*vx;

tBounce = getTime();

Это изображено на рис. 4.17.

Запустите модель на исполнение. Используя слайдеры, можно изменять ра­диус мяча, коэффициент потери скорости при встрече с препятствием, ус­корение свободного падения, превращая мяч в воздушный шар при д<о или в биллиардный шар при д=о. Построенная вами модель должна соответствовать модели Balls2 папки Part 1.





Поделиться с друзьями:


Дата добавления: 2018-10-15; Мы поможем в написании ваших работ!; просмотров: 391 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Человек, которым вам суждено стать – это только тот человек, которым вы сами решите стать. © Ральф Уолдо Эмерсон
==> читать все изречения...

2256 - | 2103 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.