Programowanie. Grafika w języku j programowania. Klasa 2 Lekcja 16 GRAFIKA

Podobne dokumenty
Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny

Wykład VII PASCAL - grafika;

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne. TEMAT 8: Moduły standardowe

Okna i liczby pseudolosowe

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2)

Moduł graph w Pascalu

Misja#3. Robimy film animowany.

Grażyna Koba. Grafika komputerowa. materiały dodatkowe do podręcznika. Informatyka dla gimnazjum

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012

Simba 3D LOGO. Cele zajęć: - Poznanie zasad i sposobów tworzenia procedur z parametrami. - Poznanie zasad wywoływania procedur z parametrami.

BSP_LCD_Clear(LCD_COLOR_WHITE); BSP_LCD_SetFont(&Font16); BSP_LCD_SetTextColor(LCD_COLOR_BLACK);

Przekształcanie wykresów.

KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH

Opis implementacji: Poznanie zasad tworzenia programów komputerowych za pomocą instrukcji języka programowania.

GRAFIKA PROGRAMOWANA W PASCALU ==================================

Rysowanie precyzyjne. Polecenie:

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

Główne elementy zestawu komputerowego

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Animacje z zastosowaniem suwaka i przycisku

Badanie zależności położenia cząstki od czasu w ruchu wzdłuż osi Ox

Cykl lekcji informatyki w klasie IV szkoły podstawowej. Wstęp

TRYGONOMETRIA FUNKCJE TRYGONOMETRYCZNE KĄTA SKIEROWANEGO

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Logo Komeniusz. Gimnazjum w Tęgoborzy. Mgr Zofia Czech

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Ćwiczenie nr 2 - Rysowanie precyzyjne

Ćwiczenie 1 Automatyczna animacja ruchu

Ćwiczenie 3: Rysowanie obiektów w programie AutoCAD 2010

2.1. Duszek w labiryncie

KATEGORIA OBSZAR WIEDZY

Podstawy Informatyki Wykład V

TWORZENIE OBIEKTÓW GRAFICZNYCH

Definicja obrotu: Definicja elementów obrotu:

Rys.1. Uaktywnianie pasków narzędzi. żądanych pasków narzędziowych. a) Modelowanie części: (standardowo widoczny po prawej stronie Przeglądarki MDT)

Algorytmika i programowanie

Kl-1-3 Szkoła Podstawowa

WYMAGANIA EDUKACYJNE NA OCENY KLASYFIKACYJNE Z PRZEDMIOTU ZAJĘCIA KOMPUTEROWE DLA ODDZIAŁU 2a NA ROK SZKOLNY 2017/2018

GRAFIKA I ROZPOZNAWANIE OBRAZÓW

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

FIGURY I BRYŁY JEDNOSTKI MIARY KĄTY POLE I OBWÓD OBJĘTOŚĆ I POWIERZCHNIA TRÓJKĄT PROSTOKĄTNY

Dokąd on zmierza? Przemieszczenie i prędkość jako wektory

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Rysowanie punktów na powierzchni graficznej

Maskowanie i selekcja

Opis Edytora postaci Logomocji

VII. WYKRESY Wprowadzenie

Ćwiczenie 6 Animacja trójwymiarowa

Tematy lekcji informatyki klasa 4a styczeń 2013

Funkcje trygonometryczne

Zastosowania informatyki w geologii ćwiczenia 1,2 INKSCAPE 1

Podstawowe komendy. Ćwiczenie 1

Sylabus Moduł 4: Grafika menedżerska i prezentacyjna

Ruch jednostajnie zmienny prostoliniowy

Dziedziczenie. Zadanie 1

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

8. TRYGONOMETRIA FUNKCJE TRYGONOMETRYCZNE KĄTA OSTREGO.

4. Rysowanie krzywych

FUNKCJE I RÓWNANIA KWADRATOWE. Lekcja 78. Pojęcie i wykres funkcji kwadratowej str

Programowanie w Turbo Pascal

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Programowanie xcomfort Cz. I Eaton Corporation. All rights reserved.

PRÓBNA MATURA ZADANIA PRZYKŁADOWE

Prezentacje multimedialne w Powerpoint

(1,10) (1,7) (5,5) (5,4) (2,1) (0,0) Grafika 3D program POV-Ray

O czym należy pamiętać?

Użycie przestrzeni papieru i odnośników - ćwiczenie

FINCH PONG. Realizator: Partner: Patronat:

PRÓBNA MATURA ZADANIA PRZYKŁADOWE

Tworzenie prezentacji w MS PowerPoint

Obsługa programu Paint. mgr Katarzyna Paliwoda

MATEMATYKA 8. Funkcje trygonometryczne kąta ostrego (α < 90 ). Stosunki długości boków trójkąta prostokątnego nazywamy funkcjami trygonometrycznymi.

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM

CorelDraw - wbudowane obiekty wektorowe - prostokąty Rysowanie prostokątów

Programowanie. Wprowadzanie danych i wyprowadzanie wyników. Klasa 2 Lekcja 24 WEJŚCIE/WYJŚCIE

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą

Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt

Obsługa programu Paint materiały szkoleniowe

LOGO KOMENIUSZ PODSTAWOWE KOMENDY W LOGO KOMENIUSZ:

Programowanie kontrolera RH robota S-420S Opracował: Karol Szostek

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

AUTOCAD teoria i zadania z podstaw rysowania Rysowanie linii, prostej, półprostej, punktu, trasy, polilinii. Zadania geodezyjne.

Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki

1. A 2. A 3. B 4. B 5. C 6. B 7. B 8. D 9. A 10. D 11. C 12. D 13. B 14. D 15. C 16. C 17. C 18. B 19. D 20. C 21. C 22. D 23. D 24. A 25.

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

Wymagania edukacyjne - Informatyka w klasie I

RYSUNEK TECHNICZNY I GEOMETRIA WYKREŚLNA INSTRUKCJA DOM Z DRABINĄ I KOMINEM W 2D

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE II W PUBLICZNYM GIMNAZJUM NR 2 W ZESPOLE SZKÓŁ W RUDKACH

JAK ZAPROJEKTOWAĆ WYGLĄD STRONY INTERNETOWEJ W KREATORZE CLICK WEB?

Multimedia i interfejsy. Ćwiczenie 5 HTML5

Programowanie w języku LOGO KOMENIUSZ

Lista 3 Funkcje. Środkowa częśd podanej funkcji, to funkcja stała. Jej wykresem będzie poziomy odcinek na wysokości 4.

Jak zrobić klasyczny button na stronę www? (tutorial) w programie GIMP

Konsola operatora TKombajn

Transkrypt:

Programowanie Grafika w języku j programowania Klasa 2 Lekcja 16 GRAFIKA

Wprowadzenie Analizowane dotąd d programy pracują w trybie tekstowym, czyli mogą wyświetla wietlać na ekranie tylko pewien określony z góry g zbiór r znaków. Wszystkie nowoczesne komputery dysponują jednak także trybem graficznym. W trybie tym ekran należy y traktować jako mozaikę miniaturowych punktów, tzw. pikseli, z których każdy może e mieć dowolną,, niezależną od innych barwę. Ponieważ punkty te sąs bardzo małe e (wielkości ok. 1/4 mm), nie dostrzegamy ich pojedynczo, lecz patrząc c na ekran, widzimy cały y obraz. Tryb graficzny określa liczbę punktów w w poziomie i pionie, paletę dostępnych barw oraz liczbę kolorów w dostępnych jednocześnie nie na ekranie.

Układ współrz rzędnych graficznych Piksel (z ang. Picture Element) - najmniejszy, niepodzielny element obrazu. Prostokątny tny układ współrz rzędnych: W prostokątnym tnym układzie współrz rzędnych ośo Ox jest pozioma i skierowana w prawo, natomiast ośo Oy - pionowa i skierowana do góry. g Współrz rzędne x i y mogą przyjmować wartości zarówno dodatnie, jak i ujemne.

Układ współrz rzędnych graficznych Układ współrz rzędnych graficznych: Układ współrz rzędnych graficznych wygląda nieco inaczej. Także e tu oś Ox jest pozioma i skierowana w prawo, natomiast ośo Oy jest wprawdzie pionowa, ale skierowana w dół d (y rosną w dół"). d Punkt (0, 0) - początek układu współrz rzędnych - znajduje się w lewym górnym rogu ekranu, wszystkie współrz rzędne ekranowe sąs więc dodatnie. Para współrz rzędnych (x, y) jedno znacznie określa położenie punktu. Niektóre procedury graficzne wymagają podania kąta. k Kąty K liczymy względem osi Ox; ; kąty k dodatnie skierowane sąs przeciwnie do ruchu wskazówek wek zegara, ujemne - zgodnie z ich ruchem.

Przejście do trybu graficznego Programy pisane w Pascalu standardowo pracują w trybie tekstowym. Aby przejść do trybu graficznego, niezbędne jest użycie u odpowiednich instrukcji i procedur: program Grafika; uses CRT, Graph; var driver, mode: integer; begin driver := DETECT; lnitgraph(driver, mode,'c :\BP\BGI'); {tutaj można już używać instrukcji graficznych} repeat until KeyPressesed; CloseGraph; end. {wykrywanie trybu pracy karty graficznej} {przejście z trybu tekstowego do graficznego} {oczekiwanie na naciśnięcie klawisza} {powrót do trybu tekstowego}

Przejście do trybu graficznego Deklaracja uses Graph" " określa, że e będziemy b posługiwa ugiwać się procedurami graficznymi. Aby uruchomić tryb graficzny, potrzebne sąs nam dwie zmienne driver i modę, odpowiadające za określenie sterownika karty graficznej i trybu jej pracy. Najprostszym sposobem włąw łączenia grafiki jest rozpoznanie karty graficznej przez system Turbo Pascal - dzieje się tak po przypisaniu zmiennej driver stałej DETECT (zawartość zmiennej modę jest wtedy ignorowana). Innym rozwiązaniem zaniem jest samodzielne przypisanie tej zmiennej odpowiednich wartości (zademonstrujemy to na końcu tego tematu).

Przejście do trybu graficznego Procedura InitGraph powoduje włąw łączenie trybu graficznego - niezbędnym jej elementem jest wyrażenie tekstowe (np( np. 'C: C:\BP\BGF), określaj lające położenie katalogu, który zawiera sterowniki kart graficznych (pliki z rozszerzeniem.bgi). Pliki te sąs standardowym elementem Turbo Pascala. Położenie katalogu zależy y od sposobu zainstalowania Turbo Pascala, więc c podaną tu ścieżkę należy y odpowiednio samemu dopasować.

Przejście do trybu graficznego Po włąw łączeniu trybu graficznego można już posługiwa ugiwać się procedurami graficznymi. Po zakoń czeniu pracy z grafiką należy y wróci cić do trybu tekstowego procedurą CloseGraph. Powoduje ona jednak skasowanie zawartości obrazu. Aby więc c pozostawić sobie możliwo liwość zapoznania się ze swoim dziełem, em, należy y opóźni nić wyłą łączenie grafiki poprzez użycie u instrukcji: repeat until KeyPressed - aby komputer czekał na naciśni nięcie dowolnego klawisza.

Rysowanie punktów, prostych i krzywych

Rysowanie punktów, prostych i krzywych Ćwiczenie 1 Napisz program rysujący zygzak na górze ekranu monitora (patrz tabela wcześniej). Ćwiczenie 2 Zdefiniuj procedurę rysującą zamalowany" prostokąt, używając wyłącznie instrukcji rysowania linii. Wskazówka: Zamaluj wnętrze prostokąta, używając w pętli procedury rysowania odcinka.

Rysowanie punktów, prostych i krzywych Korzystając z grafiki komputerowej, mamy możliwość pełnego wpływania na wygląd rysowa nych obiektów, m.in. poprzez ustawienie koloru linii, jej rodzaju i grubości. Procedury do usta wiania tych parametrów noszą nazwy typu SetXXX (od ang. set, czyli ustaw"). Podobnie procedury umożliwiające sprawdzanie aktualnych parametrów noszą nazwy typu GetXXX (od ang. get, czyli pobierz"). Uwaga: Bardzo ważne jest używanie procedur graficznych w odpowiedniej kolejności.

Rysowanie punktów, prostych i krzywych Przykład 1 Rysowanie czerwonego okręgu o środku w punkcie (100,100) i promieniu równym 50 pikseli. Ćwiczenie 3 Zdefiniuj procedurę rysującą trójkąt. Zastanów się nad wymaganą liczbą parametrów procedury.

Wypełnianie barwą wyznaczonego obszaru W Pascalu istnieje możliwo liwość rysowania obiektów geometrycznych nie tylko konturowych, lecz także wypełnionych barwą.. Niektóre z poznanych już procedur mają swoje odpowiedni ki, umożliwiaj liwiające wypełnianie rysowanej figury. Kolor wypełnienia należy y wcześniej ustawić procedurą SetFillStyle: Uwaga: Przy ustalaniu koloru wypełniania bardzo ważne jest zachowanie odpowiedniej kolejności procedur.

Wypełnianie barwą wyznaczonego obszaru Przykład 2 Rysowanie na środku ekranu żółtego koła a o promieniu 100 pikseli W Turbo Pascalu istnieje także możliwość wypełniania dowolnych obszarów zamkniętych. Służy do tego procedura FloodFill: Ze względu na użytą w tej procedurze metodę wypełniania (tzw. metodę powodzi" lub metodę pożaru") instrukcja ta działa wolno, w miarę możliwości należy więc unikać jej stosowania

Wypełnianie barwą wyznaczonego obszaru Ćwiczenie 4 Napisz program rysujący na całym ekranie monitora flagę Szwajcarii (biały y krzyż na czerwonym tle). Napisz program w dwóch wariantach (z użyciem u procedury Bar oraz z użyciem u procedury FloodFill). Porównaj czas działania ania obu. Ćwiczenie 5 Napisz program rysujący na ekranie monitora flagę Unii Europejskiej. Wskazówka wka: : Zdefiniuj procedurę rysowania żółtej gwiazdy w zadanym punkcie ekranu.

Jak narysować wykres funkcji? Rysując c wykres funkcji, należy y pamięta tać o tym, że: 1. Uk Układ współrz rzędnych graficznych jest zorientowany inaczej niż prostokątny tny układ współrz rzęd nych (skierowana w dółd oś Oy,, początek układu znajduje się w lewym górnym g rogu ekranu). 2. Współrz rzędne graficzne sąs liczbami całkowitymi, podczas gdy wartości funkcji sąs na ogół liczbami rzeczywistymi.

Wykres funkcji typu y = f(x) Przykład 3 Rysowanie wykresu funkcji: y = sin(x) w przedziale [-180[ 180 ; ; 180 ]. Do narysowania wykresu użyjemy u pętli, p której zmienna sterująca zmienia się w wybranym przez nas przedziale.

Wykres funkcji typu y = f(x) program Wykres; uses CRT.Graph; var xr,, yr: real; xe,, ye: integer; i: integer; d, m: integer; begin end.

Wykres funkcji typu y = f(x) begin d := DETECT; lnitgraph(d,, m, 'C:\BP BP\BGI' BGI'); for i := -180 to 180 do begin xr:= i*pii *Pi/180; yr:=sin(xr sin(xr); xe := Round(i + GetMaxX div 2); ye := Round((-yr)*100 + GetMaxY div 2); PutPixel(xe,, ye, 15); end; repeat until KeyPressed; CloseGraph; end.

Wykres funkcji typu y = f(x) W zmiennych xr i yr pamiętamy prostokątne tne współrz rzędne punktu wykresu, w zmiennych xe i ye - współrz rzędne ekranowe (graficzne) punktu. Wyrażenie i*pi/180 dokonuje zamiany wartości wyrażonej w stopniach na wartość w radianach, ponieważ standardowa funkcja Pascala sin operuje na wartościach wyrażonych w radianach. Funkcja standardowa Round dokonuje zamiany liczby rzeczywistej na najbliższ szą jej liczbę całkowit kowitą (przez zaokrąglenie). Dodanie do współrz rzędnych GetMaxX div 2, 2 GetMaxY div 2 pozwala na przeniesienie środka układu współrz rzędnych na środek ekranu. Ponieważ wartości funkcji sin są z przedziału u [-1;[ 1], konieczne jest przeskalowanie wykresu (stąd d mnożenie przez 100). I wreszcie znak -"" przy yr oznacza odwrócenie wartości, by dopasować ją do graficznego układu współrz rzędnych.

Wykres funkcji typu y = f(x) Ćwiczenie 6 Przeanalizuj program z przykładu 3 i przepisz go w edytorze Pascala. Skompiluj i uruchom program. Zmodyfikuj go tak, by dodatkowo rysował osie Ox i Oy (wraz z opisami). Ćwiczenie 7 Wykres tworzony przez program nie jest linią ciągłą łą,, lecz składa się z punktów. Zmodyfikuj program tak, by wykres był linią ciągłą łą. Wskazówka: Użyj procedury MoveTo i LineTo; prawdopodobnie użyjesz u równier wnież instrukcji warunkowej.

Przykład 4 Wykres funkcji parametrycznej Rysowanie spirali Archimedesa. Spirala Archimedesa opisana jest równaniem r r = c*φ, gdzie c to stała a i c>0, r - odległość od środka układu współrz rzędnych (promień wodzący), φ - kąt, o jaki obróci się dana półprosta p prosta (promień wodzący), przyjmując, że e w położeniu początkowym pokrywała a się z dodatnią półosią Ox. Ponieważ korzystając c z instrukcji Pascala, posługujemy się współrz rzędnymi w postaci (x,( y), y musimy każdą parę (r, φ) przekształci cić w parę (x, y). y Zamiana taka nazywa się zamianą współrz rzędnych biegunowych na współrz rzędne prostokątne tne i jest opisana wzorami: x = r cos φ, y = r sin φ.

Wykres funkcji parametrycznej Ćwiczenie 8 Napisz program rysujący na ekranie monitora spiralę Archimedesa, której środek znajduje się na środku ekranu. Wskazówka: Przyjmij c = 0,125 i zastosuj pętlp tlę od 0 do 1440. Porównaj swój j program z programem ćwiczenie8. Ćwiczenie 9 Zmodyfikuj swój j program tak, by każdy nowy obrót" spirali był rysowany innym kolorem.

Elementy grafiki animowanej Tradycyjna animacja polega na szybkim wyświetlaniu wietlaniu następuj pujących po sobie klatek taśmy filmowej. Jeżeli eli dzieje się to dostatecznie szybko, nasz wzrok nie jest w stanie rozróżni nić poje dynczych klatek i zlewają się one w ruchomy obraz. Odpowiednia szybkość to 25-30 klatek na sekundę; ; im więcej klatek w ciągu sekundy, tym doskonalsza iluzja ruchu.

Proste animacje W animacji komputerowej klatce taśmy filmowej odpowiada zawartość ekranu wyświetlana wietlana przez odpowiednio długi d czas. Następnie ekran jest czyszczony, wypełniany nową zawartości cią i proces powtarza się od początku. Ogólny schemat animacji komputerowej można więc przed stawi stawić jak na rysunku.

Przykład 5 Proste animacje Skonstruujmy program wyświetlaj wietlający na ekranie przesuwający się napis: Lubię in formatyk formatykę". Napis powinien przesuwać się po przekątnej ekranu od lewego górneg rne go rogu. W zmiennych x i y zapamiętujemy współrz rzędne naszego obiektu. Wyrażenie y:=x-3 div 4 określa, że e obiekt będzie b poruszać się wzdłuż osi Oy z szybkości cią 3/4 ruchu w osi 0x (ekran monitora ma właśnie w proporcje 4:3). Procedura Delay(20) powoduje, że e komputer przed wykonaniem następnej procedury czeka przez 1/50 sekundy (parametr procedury Delay to opóźnienie w milisekundach; 1/50 sekundy to 20 mili sekund). Następnie cały y ekran jest czyszczony procedurą ClearViewPort. Szybkości cią ruchu można sterować,, zwiększaj kszając c lub zmniejszając c opóźnienie - albo wyświetlaj wietlając c nasz obiekt, np.. co kilka pikseli.

Proste animacje Niestety, powyższy program nie jest pozbawiony wad. Procedura ClearViewPort działa a dosyć wolno i zanim napis zostanie pokazany na nowo w następnej pozycji, ekran przez moment pozostaje pusty. TęT nieciągłość odbieramy jako denerwujące miganie obrazu. Czy jednak czyszczenie całego obrazu jest naprawdę potrzebne? Przecież tak naprawdę chodzi nam jedynie o chwilowe pozbycie się napisu z ekranu! Zamiast więc c czyści cić cały y ekran, wyczyść śćmy sam napis. Jak? Wypisując c go ponownie, tym razem w kolorze tła t a (na czarno). Wprawdzie nie pozbyliśmy się migotania, jednak zostało o ono zredukowane do akceptowalnych rozmiarów.

program Anim; uses CRT, Graph; var i, x, y: integer; d, m: integer; begin d := DETECT; lnitgraph(d, m,'c:\bp\bgi'); for i := 0 to GetMaxX do begin x:= i; y := x*3 div 4; OutTextXY(x, y, lubię informatykę'); Delay(20); ClearViewPort end; CloseGraph; end.

Proste animacje Ćwiczenie 10 Otwórz plik przykład5, w którym zapisany jest program z przykładu 5. Uruchom ten program. Następnie zmień go tak, aby zamiast całego ekranu czyszczony był tylko obszar napisu. Ćwiczenie 11 Napisz program animujący twoje imię i nazwisko. Imię powinno przesuwać się z lewej strony ekranu na prawą, natomiast nazwisko - z dołu u ekranu do góry; g imię i nazwisko powinny spotkać się w odpo wiednim miejscu i czasie, tworząc c kompletny napis.

Podwójne buforowanie Aby całkowicie uniknąć efektu migotania animowanego obrazu, niezbędne jest skorzystanie z techniki podwójnego buforowania (wykorzystywanej powszechnie w grach komputerowych). W technice tej istnieją jak gdyby dwa ekrany. W danym momencie jeden z nich jest widoczny, natomiast wszystkie operacje rysowania sąs wykonywane na drugim ekranie. Po wykonaniu całego rysunku ekrany sąs zamieniane (przełą łączenie jest błyskawiczne). b W rezultacie animacja jest płynna. p

Podwójne buforowanie Kluczowym elementem programu jest funkcja przełą łączania buforów w ekranu - ZamienStrony. Wykorzystuje ona standardowe procedury Pascala SetActivePage i SetVisualPage. Podczas gdy widoczna jest jedna strona, na drugiej czyścimy cimy najpierw odpowiedni fragment ekranu (z wy korzystaniem procedury Bar), a potem rysujemy napis. Gdy jest już gotowy, można pokazać go na ekranie i przejść do operacji na niewidocznej stronie. Dodatkowo program ustawia specjalny tryb graficzny, wpisując c odpowiednie wartości do zmiennych d i m (w normalnym trybie VGA podwójne buforowanie nie jest możliwe).

Zadanie domowe Napisz program rysujący prostokąt t otaczający cy lewą górną ćwiartkę ekranu. Napisz program rysujący na środku ekranu okrąg g o promieniu 100 pikseli. Napisz program rysujący elipsę wypełniaj niającą lewą połówk wkę ekranu. Napisz program tworzący na ekranie monitora rysunek domu (patrz: wzór r rysunku domu na następnym slajdzie). Korzystając c z systemu pomocy Turbo Pascala, przygotuj tabelę dla następuj pujących procedur: SeiLineStyle, SetTextStyle, SetTextJustify, SetBkColor, SetPalette.

Zadanie domowe

Zadanie domowe Napisz program wyświetlaj wietlający animowaną flagę olimpijską. Każde koło o olimpijskie powinno przylecieć"" na swoje miejsce z innego kierunku. Napisz program wyświetlaj wietlający kwadrat obracający cy się i przesuwający jednocześnie. nie. Wskazówka: Użyj zamiany współrz rzędnych biegunowych na prostokątne tne (patrz przykład 3). Napisz program wyświetlaj wietlający na ekranie komputera zegar cyfrowy. Wskazówka: Użyj funkcji GetTime z modułu DOS, by pobrać aktualny czas. Napisz program wyświetlaj wietlający na ekranie komputera zegar analogowy (ze wskazówkami). wkami). Skorzystaj z doświadcze wiadczeń nabytych w poprzednich ćwiczeniach. Wykorzystując procedury Sound i NoSound, dodaj efekt tykania. Napisz program rysujący na ekranie szachownicę.