Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Программирование графической анимации

Содержание

Пусть у нас уже есть программа движения шарика по диагонали экрана (щелкните по шарику на рисунке)
Задача «Движение бильярдного шарика»Мой университет - www.moi-mummi.ru Пусть у нас уже есть программа движения шарика по диагонали экрана (щелкните по шарику на рисунке) SCREEN 9COLOR 1, 0WINDOW (0, 0)-(640, 350)x = 1y = 1dx = Наша задача состоит в том, чтобы шарик, достигнув какой-либо границы экрана, отскакивал Условный оператор.IF THEN оператор1 ELSE оператор2Если условие выполняется, то выполняется «оператор1», в Вставим в программу движения шарика условие  IF y = 350, причем, SCREEN 9COLOR 1, 0WINDOW (0, 0)-(640, 350)x = 1y = 1dx = dy = -1dx = +1dy = +1x = 0y = 0Запустим программу на выполнение: Рассмотрим дальнейшее движение шарика. Достигнув правого края экрана, шарик должен отскочить вниз SCREEN 9COLOR 1, 0WINDOW (0, 0)-(640, 350)x = 1y = 1dx = dy = -1dx = -1x = 0y = 0Запустим вновь программу на Рассмотрим дальнейшее движение шарика. Достигнув нижнего края экрана, шарик должен отскочить вверх Вот так будет выглядеть программа с добавлением третьего условного оператора, где предусмотрено dx = -1dx = -1dy = -1x = 0y = 0Запустим программу Нам осталось рассмотреть последний вариант в движении шарика – столкновение его с SCREEN 9COLOR 1, 0WINDOW (0, 0)-(640, 350)x = 1y = 1dx = dy = -1dy = +1dx = +1x = 0y = 0Запустим программу Эту программу необходимо оптимизировать, заменив четыре условных оператора двумя. Приращения по координатам Итак, если мы увеличим число повторений в цикле на достаточное количество, то Мой университет - www.moi-mummi.ruДалее можно усложнить эту задачу и рассмотреть несколько вариаций
Слайды презентации

Слайд 2 Пусть у нас уже есть программа движения шарика

Пусть у нас уже есть программа движения шарика по диагонали экрана (щелкните по шарику на рисунке)

по диагонали экрана (щелкните по шарику на рисунке)


Слайд 3 SCREEN 9
COLOR 1, 0
WINDOW (0, 0)-(640, 350)
x =

SCREEN 9COLOR 1, 0WINDOW (0, 0)-(640, 350)x = 1y = 1dx

1
y = 1
dx = 1
dy = 1
FOR k =

0 TO 10000
CIRCLE (x, y), 3, 6
PAINT (x, y), 6
FOR i = 1 TO 10000: NEXT i
CIRCLE (x, y), 3, 4
PAINT (x, y), 4, 4
x = x + dx
y = y + dy
NEXT k

Программа движения шарика по диагонали выглядит следующим образом:

Здесь dx, dy – приращения соответствующих координат.


Слайд 4 Наша задача состоит в том, чтобы шарик, достигнув

Наша задача состоит в том, чтобы шарик, достигнув какой-либо границы экрана,

какой-либо границы экрана, отскакивал от нее как от стенки

(щелкните по шарику на рисунке).

Чтобы шарик не вылетал за верхний край экрана, необходимо, чтобы ордината объекта не превышала 350 pix (при стандартном размере экрана 640х350)
В связи с возникшей ситуацией в нашей задаче, когда необходимо выполнить определенные условия, напомним, что такое условный оператор.



Слайд 5 Условный оператор.
IF THEN оператор1 ELSE оператор2
Если условие

Условный оператор.IF THEN оператор1 ELSE оператор2Если условие выполняется, то выполняется «оператор1»,

выполняется, то выполняется «оператор1», в противном случае выполняется «оператор2».

В

записи условия можно использовать следующие символы:
=, >, >=, <, <=, <>

Существует неполная форма оператора:

IF <условие> THEN оператор1


Слайд 6 Вставим в программу движения шарика условие IF y

Вставим в программу движения шарика условие IF y = 350, причем,

= 350, причем, этот условный оператор мы должны добавить

в цикл, где в каждой итерации при каждом увеличении координаты Y происходит проверка данного условия. Как только оно выполнится, так координата Y, которая до сих пор увеличивалась с приращением dy = +1, должна будет уменьшаться и приращение станет равно: dy = -1.

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


Слайд 7 SCREEN 9
COLOR 1, 0
WINDOW (0, 0)-(640, 350)
x =

SCREEN 9COLOR 1, 0WINDOW (0, 0)-(640, 350)x = 1y = 1dx

1
y = 1
dx = 1
dy = 1
FOR k =

0 TO 10000
CIRCLE (x, y), 3, 6
PAINT (x, y), 6
FOR i = 1 TO 10000: NEXT i
CIRCLE (x, y), 3, 0
PAINT (x, y), 0, 0
IF y = 350 THEN dy = -1
x = x + dx
y = y + dy
NEXT k



Слайд 8
dy = -1
dx = +1
dy = +1
x =

dy = -1dx = +1dy = +1x = 0y = 0Запустим программу на выполнение:

0
y = 0

Запустим программу на выполнение:


Слайд 9 Рассмотрим дальнейшее движение шарика. Достигнув правого края экрана,

Рассмотрим дальнейшее движение шарика. Достигнув правого края экрана, шарик должен отскочить

шарик должен отскочить вниз так, как указано на схеме:
В

этом случае координата Y будет по-прежнему уменьшаться, т.е. dy = -1. Координата X, которая до сих пор увеличивалась, после выполнения условия x = 640 начнет уменьшаться или dх = -1, что то же самое.

dx = +1
dy = +1


Слайд 10 SCREEN 9
COLOR 1, 0
WINDOW (0, 0)-(640, 350)
x =

SCREEN 9COLOR 1, 0WINDOW (0, 0)-(640, 350)x = 1y = 1dx

1
y = 1
dx = 1
dy = 1
FOR k =

0 TO 10000
CIRCLE (x, y), 3, 6
PAINT (x, y), 6
FOR i = 1 TO 10000: NEXT i
CIRCLE (x, y), 3, 0
PAINT (x, y), 0, 0
IF y = 350 THEN dy = -1
IF x = 640 THEN dx = -1
x = x + dx
y = y + dy
NEXT k

Вот так будет выглядеть программа с добавлением второго условного оператора, где предусмотрено условие столкновение шарика с верхней границей экрана:


Слайд 11
dy = -1
dx = -1
x = 0
y =

dy = -1dx = -1x = 0y = 0Запустим вновь программу

0

Запустим вновь программу на выполнение:
dx = +1
dy = +1


Слайд 12 Рассмотрим дальнейшее движение шарика. Достигнув нижнего края экрана,

Рассмотрим дальнейшее движение шарика. Достигнув нижнего края экрана, шарик должен отскочить

шарик должен отскочить вверх так, как указано на схеме:

dy

= -1

dy = +1

x = 0
y = 0

В этом случае координата Y начнет увеличиваться, т.е. dy = +1, а координата X будет по-прежнему уменьшаться, т.е. dх = -1.

dx = +1
dy = +1

dx = +1
dy = +1

dx = -1


Слайд 13 Вот так будет выглядеть программа с добавлением третьего

Вот так будет выглядеть программа с добавлением третьего условного оператора, где

условного оператора, где предусмотрено условие столкновение шарика с нижней

границей экрана:

SCREEN 9
COLOR 1, 0
WINDOW (0, 0)-(640, 350)
x = 1
y = 1
dx = 1
dy = 1
FOR k = 0 TO 10000
CIRCLE (x, y), 3, 6
PAINT (x, y), 6
FOR i = 1 TO 10000: NEXT i
CIRCLE (x, y), 3, 0
PAINT (x, y), 0, 0
IF y = 350 THEN dy = -1
IF x = 640 THEN dx = -1
IF y = 0 THEN dy = +1
x = x + dx
y = y + dy
NEXT k


Слайд 14 dx = -1
dx = -1

dy = -1
x =

dx = -1dx = -1dy = -1x = 0y = 0Запустим

0
y = 0

Запустим программу на выполнение:
dx = -1
dy =

+1

dx = +1
dy = +1


Слайд 15 Нам осталось рассмотреть последний вариант в движении шарика

Нам осталось рассмотреть последний вариант в движении шарика – столкновение его

– столкновение его с левой границей. Достигнув этой границы

экрана, шарик должен отскочить вверх так, как указано на схеме:


dy = -1

dy = +1

dx = +1

x = 0
y = 0

В этом случае после выполнения условия x = 0 координата Х должна увеличиваться, т.е. dх = +1, а координата Y, которая до сих пор увеличивалась, по-прежнему будет увеличиваться, т.е. dy = +1..

dx = -1

dx = +1
dy = +1


Слайд 16 SCREEN 9
COLOR 1, 0
WINDOW (0, 0)-(640, 350)
x =

SCREEN 9COLOR 1, 0WINDOW (0, 0)-(640, 350)x = 1y = 1dx

1
y = 1
dx = 1
dy = 1
FOR k =

0 TO 10000
CIRCLE (x, y), 3, 6
PAINT (x, y), 6
FOR i = 1 TO 10000: NEXT i
CIRCLE (x, y), 3, 0
PAINT (x, y), 0, 0
IF y = 350 THEN dy = -1
IF x = 640 THEN dx = -1
IF y = 0 THEN dy = +1
IF x = 0 THEN dx = +1
x = x + dx
y = y + dy
NEXT k

Так будет выглядеть программа с добавлением четвертого условного оператора, где предусмотрено столкновение шарика с левой границей экрана:


Слайд 17
dy = -1
dy = +1
dx = +1
x =

dy = -1dy = +1dx = +1x = 0y = 0Запустим

0
y = 0

Запустим программу на выполнение и вот, что

получим:

dx = -1

dx = +1
dy = +1


Слайд 18 Эту программу необходимо оптимизировать, заменив четыре условных оператора

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

двумя. Приращения по координатам dx и dy будут менять

знаки на противоположный.

SCREEN 9
COLOR 1, 0
WINDOW (0, 0)-(640, 350)
x = 1
y = 1
dx = 1
dy = 1
FOR k = 0 TO 10000 STEP 1
CIRCLE (x, y), 3, 6
PAINT (x, y), 6
FOR i = 1 TO 4000: NEXT i
CIRCLE (x, y), 3, 0
PAINT (x, y), 0, 0
IF y = 350 or y=0 THEN dy = - dy
IF x = 640 or x=0 THEN dx = - dx
x = x + dx
y = y + dy
NEXT k


Слайд 19
Итак, если мы увеличим число повторений в цикле

Итак, если мы увеличим число повторений в цикле на достаточное количество,

на достаточное количество, то движение биллиардного шарика выглядит следующим

образом:

…и т.д.


  • Имя файла: programmirovanie-graficheskoy-animatsii.pptx
  • Количество просмотров: 165
  • Количество скачиваний: 0
Следующая - Оползни