субота, 24 листопада 2012 р.


Практична робота №23

ТЕМА: "Створення рухомих графічних об’єктів ".

                МЕТА: Ознайомитись з методами створення рухомих графічних об’єктів . Набути практичних навичок створення програм з рухомими графічними об’єктами .

Теоретичні відомості

        Для того, щоб створити об’єкт який рухається по складній траєкторії, наприклад по колу  , необхідно виконати послідовність наступних дій :

Ø  Розрахувати координати розміщення об’єкта (вони повинні бути цілого типу, тому бажано використати функцію TRUNC або подібну);

Ø  намалювати об’єкт ;

Ø  затримати його зображення на екрані;

Ø  витерти об’єкт;

Ø  повторити дану послідовність дій ( координати розраховуються з невеликим зміщенням в потрібному напрямку )

Як приклад розглянемо рух по колу . Складемо програму що намалює 60 крапок по колу з радіусом 120 точок і з центром в центрі екрану.

Program CYFERBAT;

Uses CRT, GRAPH;

VAR

Gd, Gm, I , X, Y : Integer;

Begin

CLRSCR;

Gd:=Detect;

InitGRAPH( Gd, Gm, 'D:/TP5/BGI');

For i:=1 to 60 do

    Begin

     X:=320+TRUNC( 120*Cos(i*Pi/30) );

     Y:=240+ TRUNC( 120*Sin(i*Pi/30) );  

      PutPixeL( x , y ,14 );

   End;    

End.
Щоб створити рух необхідно намалювати об’єкт, затримати на екрані, замалювати кольором екрану . Створимо рух секундної стрілки, радіус стрілки нехай буде 110.Один кінець лінії знаходиться в центрі екрану (320,240)  , інший переміщається по 60 точках, що розміщені на колі. Вставимо  нижче наведений фрагмент у виділене місце програми.

 
I:=0 ;

REPEAT

          X:=320+TRUNC( 110*Cos(i*Pi/30) );

          Y:=240+ TRUNC( 110*Sin(i*Pi/30) );  

           SetColor(14);

           LINE (320 , 240 , x, y);

           DELAY(3000);

           SetColor(0);

           LINE (320 , 240 , x, y);

            i:=i+1;

            IF  i=60  then i:=0;

 UNTIL KeyPressed;
 
Для того щоб і не досягало дуже великих значень доставлено наступний умовний оператор:

IF  i=60  then i:=0;

Хід роботи

1.              Написати в редакторі програму CYFERBAT.

2.              Записати її як файл в бібліотеку.

3.              Добавити фрагмент, що забезпечує рух стрілки.

4.       Запустити на виконання .

5.      Доробити циферблат, щоб на ньому були відмітки рисочками , через кожні 5 секунд.

6.      У зошити записати текст програми.

7.      Доробити програму так, щоб на екрані була ще й хвилинна стрілка, яка зміщувалась при повному проходження секундною стрілкою кола.

  
  Додаткове завдання:

Доробити програму , щоб можна було задавати початкові умови (наставляти хвилинну стрілку).
Додаткові матеріали:
Файл практичної роботи

Завдання самостійної роботи №4

Немає коментарів:

Дописати коментар