begin
SetFillStyle (l,Random(14)+l);
PieSlice (320,240,round (Ang), round (Ang+A[i]),230);
(Виведення на діаграмі числових значень)
Str (A[i]*Sum/360:3:0,S);
OutTextXY(round(320+120*coe((2*Ang+A[i]))*Pi/360),
round(240-120*ein((2*Ang+A[i])*Pi/360)),S);
Ang:=Ang+A[i];
end;
Readkey; CloseGraph; {Закриття графічного режиму)
end.
Домашнє завдання:
• повторити сторінки 221 - 229 запропонованого підручника;
• задачі №615,617,620.
Мета уроку: показати створення рухомих графічних об’єктів та простих мультиплікаційних зображень засобами мови Паскаль.
Теоретичний матеріал
Щоб розпочати роботу над створенням найпростішого «мультика» (зображення, що рухається), спочатку розберемося, як воно створюється в реальних умовах. Всі знають, що художник мультиплікатор малює серію зображень, у кожному з яких показується один і той же рух з ледь помітними змінами. Тепер, якщо зображення швидко змінювати одне за одним, ми не помічаємо зміну малюнків, а бачимо рух цього персонажу. Поміркуємо, як відтворити послідовність схожих об’єктів на екрані монітору. Перше, що спадає на думку, це намалювати зображення, затримати його трохи на екрані, витерти зображення (очистити екран) та вивести нове зображення з ледь помітними змінами. При достатньо великій швидкості малювання око людини не помітить зміни малюнків і їй буде здаватися, що об’єкт рухається. Розв’яжемо таким методом наступну задачу.
Формули, за якими обчислюються координати рухомого кінця стрілки, відомі учням з курсу математики (поворот точки на заданий кут відносно нерухомого центру з координатами(x0,y0):
де L - відстань, на якій знаходиться точка від центру повороту, а — кут, на який повертається точка.
Зверніть увагу тільки на те, що в програмі друга формула замість знаку «-» буде містити знак «+», тому що екранні координати мають направленість осей, зворотну до реальних декартових координат (на екрані значення координати Y збільшується в напрямку зверху вниз).
Малювання поділок на циферблаті виконується теж за допомогою вище наведених формул
Програма, що реалізує запропонований алгоритм, наведена нижче. Зверніть увагу, що в цій програмі L_min, L_time - довжини хвилинної та годинникової стрілок відповідно; Color_min, Color_time - кольори хвилинної та годинникової стрілок відповідно; R - радіус циферблату годинника; x_centr, y_centr - координати центра екрану (визначаються у відповідності до поточної роздільної здатності за допомогою функцій getmaxx та getmaxy
Program Example_629;
Uses crt,graph; {Підключення бібліотек}
const L_min=174;