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



Podobne dokumenty
Wykład VII PASCAL - grafika;

Moduł graph w Pascalu

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

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

Tryb graficzny w Pascalu

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

Czas pracy 170 minut

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

Likwidacja barier architektonicznych to usuwanie tego, co przeszkadza ci korzystać z budynków, chodników, ulic i innych miejsc oraz mebli i sprzętów.

P 0max. P max. = P max = 0; 9 20 = 18 W. U 2 0max. U 0max = q P 0max = p 18 2 = 6 V. D = T = U 0 = D E ; = 6

Harmonogramowanie projektów Zarządzanie czasem

EGZAMIN MATURALNY Z MATEMATYKI

Instalacja Plugin. Rys. 1. Folder Plugin.

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Jak przygotować projekt

IZBA PRZEMYSŁOWO- HANDLOWA W RZESZOWIE. Księga znaku Izby Przemysłowo-Handlowej w Rzeszowie

Programowanie w języku Pascal

ZASADY REPRODUKCJI SYMBOLI GRAFICZNYCH PRZEDMOWA

Instrukcja obsługi Pano2QTVR

SFML. (Simple and Fast Multimedia Library)

Jak spersonalizować wygląd bloga?

Okna i liczby pseudolosowe

Moduł. Rama 2D suplement do wersji Konstruktora 4.6

KSIĘGA ZNAKU TOTORU S.C.

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0

Podstawy pracy w arkuszu kalkulacyjnym MS Excel

Tytuł pracy. Praca dyplomowa inżynierska. Filip Piechocki. Tytuł Imię i Nazwisko

EGZAMIN MATURALNY Z INFORMATYKI CZERWIEC 2011 POZIOM ROZSZERZONY WYBRANE: CZĘŚĆ I. Czas pracy: 90 minut. Liczba punktów do uzyskania: 20

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

Polityka prywatności strony internetowej wcrims.pl

Promocja i identyfikacja wizualna projektów współfinansowanych ze środków Europejskiego Funduszu Społecznego

KSIĘGA IDENTYFIKACJI WIZUALNEJ

Szóstoklasisto! 1. Z urzędu do gimnazjum przyjmowani są absolwenci szkół podstawowych zamieszkali w obwodzie danego gimnazjum.

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

Systemy mikroprocesorowe - projekt

IBM SPSS Statistics dla systemu Linux Instrukcje dotyczące instalacji (jeden użytkownik)

Ogólna charakterystyka kontraktów terminowych

ARKUSZ PRÓBNEJ MATURY ZESTAW ĆWICZENIOWY Z MATEMATYKI

Specyfikacja techniczna banerów Flash

Zmiany w programie C GEO v. 6.5

EGZAMIN MATURALNY Z MATEMATYKI CZERWIEC 2012 POZIOM PODSTAWOWY. Czas pracy: 170 minut. Liczba punktów do uzyskania: 50 WPISUJE ZDAJĄCY

Poznaj swój retrace Lite

SZANOWNY INTERESANCIE

SPECYFIKACJA TECHNICZNA D GEODEZYJNA OBSŁUGA BUDOWY

PRZYK ADOWY ARKUSZ EGZAMINACYJNY Z MATEMATYKI

NUMER IDENTYFIKATORA:

Elementy typografii. Technologia Informacyjna Lekcja 22

Wojewódzki Konkurs Matematyczny dla uczniów gimnazjów województwa wielkopolskiego

WordPad. Czyli mój pierwszy edytor tekstu

Tester pilotów 315/433/868 MHz

Microsoft Management Console

Podstawa magnetyczna do eksperymentów

Materiały metodyczne ZADANIA, ĆWICZENIA I ZABAWY Z AKTYWKIEM I LENIWKIEM. (materiały dla nauczycieli, część I)

Informatyka 1. Przetwarzanie tekstów

JAK NESTLE SCHOLLER STOSUJE PLIKI COOKIES ORAZ INNĄ TECHNOLOGIĘ ŚLEDZENIA

KLAUZULE ARBITRAŻOWE

Scenariusz integralnego zajęcia dla klasy I z wykorzystaniem komputera.

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj.

Pingwin kontra Okna, czyli Wolne Oprogramowanie kontra...?

2.1 INFORMACJE OGÓLNE O SERII NX

Laboratorium nr 2. Edytory tekstu.

Podstawowe pojęcia: Populacja. Populacja skończona zawiera skończoną liczbę jednostek statystycznych

Ramki tekstowe w programie Scribus

SPRAWDZIANY Z MATEMATYKI

Komentarz technik ochrony fizycznej osób i mienia 515[01]-01 Czerwiec 2009

Istotne postanowienia umowy (część III) Nr R.U.DOA-IV

Spis treści. 1. Znak Konstrukcja symbolu Budowa znaku Kolorystyka wersja podstawowa Kolorystyka wersja czarno-biała...

Archiwum Prac Dyplomowych

Grupa bezpieczeństwa kotła KSG / KSG mini

Zamawiający potwierdza, że zapis ten należy rozumieć jako przeprowadzenie audytu z usług Inżyniera.

Przykładowy konspekt lekcji dla uczniów klas IV-VI

REJESTRACJA NA LEKTORATY Z JĘZYKÓW OBCYCH

Praca z układem. Omówione zagadnienia. Tworzenie tła

PRZYK ADOWY ARKUSZ EGZAMINACYJNY Z MATEMATYKI

Czas pracy 170 minut

Projekt z dnia 2 listopada 2015 r. z dnia r.

TYTUŁ DZIAŁU 01 OX SPIS TREŚCI LOGO 3 SYMBOLIKA MARKI 15 WERSJA PODSTAWOWA 3 WERSJE PODSTAWOWE: POZIOMA I PIONOWA 4 SIATKA MODUŁOWA 5

EGZAMIN MATURALNY Z MATEMATYKI MAJ 2014 POZIOM ROZSZERZONY. Czas pracy: 180 minut. Liczba punktów do uzyskania: 50. pobrano z

Warszawa, dnia 11 marca 2016 r. Poz. 327 ROZPORZĄDZENIE. z dnia 7 marca 2016 r.

PRÓBNY EGZAMIN MATURALNY Z FIZYKI I ASTRONOMII

Jak otrzymać pomoc z Powiatowego Urzędu Pracy w Poznaniu

Analiza wyników egzaminu gimnazjalnego. Test matematyczno-przyrodniczy matematyka. Test GM-M1-122,

Ćwiczenie 6.5. Otwory i śruby. Skrzynia V

Instrukcja obsługi. Oprogramowanie SAS 31

ARKUSZ PRÓBNEJ MATURY Z OPERONEM MATEMATYKA

Instrukcja obsługi zamka. bibi-z50. (zamek autonomiczny z czytnikiem identyfikatora Mifare)

Podstawy Programowania Wykład czternasty:

PRÓBNY EGZAMIN MATURALNY Z FIZYKI I ASTRONOMII

Regulamin Systemu Stypendialnego. Fundacji Grażyny i Wojciecha Rybka Pomoc i Nadzieja. w Bydgoszczy (tekst jednolity)

CRUSB Spartan KONWERTER CAN / USB

EGZAMIN MATURALNY Z JĘZYKA ROSYJSKIEGO POZIOM ROZSZERZONY MAJ 2011 CZĘŚĆ I. Czas pracy: 120 minut. Liczba punktów do uzyskania: 23 WPISUJE ZDAJĄCY

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

1. MONITOR. a) UNIKAJ! b) WYSOKOŚĆ LINII OCZU

Przykład implementacji przeciażeń operatorów problem kolizji

VinCent Office. Moduł Drukarki Fiskalnej

EGZAMIN MATURALNY Z MATEMATYKI

Metoda LBL (ang. Layer by Layer, pol. Warstwa Po Warstwie). Jest ona metodą najprostszą.

Spring MVC Andrzej Klusiewicz 1/18

Transkrypt:

GRAFIKA PROGRAMOWANA Cg to kompletne środowisko programistyczne do szybkiego tworzenia efektów specjalnych i grafiki o kinowej jakości w czasie rzeczywistym dla wielu platform. Ponieważ język jest niezależny od sprzętu, programiści mogą pisać kod dla interfejsów OpenGL, DirectX oraz systemów Windows, Linux, Mac OS X, a także platform konsolowych, (Xbox) bez potrzeby korzystania z języka asemblerowego. Język Cg powstał w firmie NVIDIA Corporation przy bliskiej współpracy z firmą Microsoft Corporation i jest kompatybilny z OpenGL API oraz językiem HLSL dla biblioteki DirectX 9. GRAFIKA PROGRAMOWANA W PASCALU ================================== 1. OTWIERANIE I ZAMYKANIE TRYBU GRAFICZNEGO Do rozpoczęcia pracy w trybie graficznym potrzebne są dwie zmienne typu integer. Możesz je nazwać jak chcesz, ale najlepiej tak: var ster, tryb: integer; Zmienna ster będzie przechowywała informacje o wybranym sterowniku graficznym, a tryb o wybranym trybie. Zalecane jest automatyczne wykrycie sterownika, chyba że używasz sterownika specjalnego. ster := Detect; Do pracy w trybie graficznym niezbędne są pliki: Graph.tpu EgaVga.bgi moduł z procedurami graficznymi plik ze sterownikiem tpu Turbo Pascal Unit bgi Borland Graphic Interface * Najlepiej jest skopiować te pliki oraz pliki czcionek ~~~.chr do tego samego folderu, w którym zapisujesz swój program. Jeżeli chcesz zastosować inną rozdzielczość i inną paletę kolorów musisz zainstalować inny plik ~~~.bgi.

Otwarcie trybu graficznego ścieżka dostępu do pliku ze sterownikiem ster := Detect; InitGraph (ster, tryb, C:\TP\BGI ); * Jeżeli wykonasz, to możesz napisać pustą ścieżkę (dwa apostrofy bez spacji) ster := Detect; InitGraph (ster, tryb, ); Zamknięcie trybu graficznego CloseGraph; Zanim zamkniesz tryb graficzny zastosuj przytrzymanie ekranu (readln; readkey; itp.), gdyż inaczej niczego nie zobaczysz. Wykrycie błędu podczas inicjowania trybu graficznego Jeżeli chcesz dowiedzieć się co było przyczyną, że grafika nie została otwarta, użyj instrukcji: blad := GraphResult; if blad<>0 then writeln ( kod=, GraphErrorMsg(blad)); Chwilowa zmiana trybu graficznego na tekstowy W trakcie pracy w trybie graficznym możesz przejść do trybu tekstowego bez konieczności zamykania grafiki. Do tego celu służą polecenia: RestoreCrtMode; SetGraphMode (tryb); przejście do trybu tekstowego powrót do trybu graficznego

2. WYBÓR KOLORÓW Kolor pisaka (pen) wybieramy poleceniem: SetColor (kolor); gdzie kolor jest zmienną liczbową albo predefiniowaną stałą. 0 czarny, 1 niebieski,,14 żółty, 15 biały (dla trybu standardowego). Kolor wypełnienia (brush) wybieramy poleceniem: SetFillStyle(styl, kolor); gdzie kolor określa kolor wypełnienia, a styl sposób wypełnienia np. 1 wypełnienie jednolite. Kolor tła (background) wybieramy poleceniem: SetBkColor (kolor); 3. EKRAN W TRYBIE GRAFICZNYM 0 GetMaxX np.1280 0 (640, 512) GetMaxY np.1024 Pamiętaj, że oś Y jest skierowana do dołu (odwrotnie niż w układzie matematycznym).

Zmiany położenia punktu na ekranie x y y x + y x x + x y + y + x + y + 4. PODSTAWOWE PROCEDURY GRAFICZNE punkt PutPixel (a, b, kolor); odcinek (c, d) Line (a, b, c, d); albo MoveTo ; LineTo (c, d); albo MoveTo ; LineRel (c-a, d-b); Prostokąt ( pusty ) RectAngle (a, b, c, d); (c, d)

Prostokąt ( wypełniony ) Bar (a, b, c, d); (c, d) Do ustalenia rodzaju linii służy polecenie SetLineStyle(rodzaj, wzór, grubość). Okrąg r Circle (a, b, r); Elipsa ( pusta ) (x, y) Ry Rx Ellipse (x, y, α, β, Rx, Ry); (x, y) - środek elipsy α - kąt początkowy β - kąt końcowy Rx - promień poziomy Ry - promień pionowy np. Ellipse (300, 400, 0, 360, 100, 980); Elipsa ( zamalowana ) FillEllipse (x, y, Rx, Ry); Łuk okręgu Arc (x, y, α, β, r); np. Arc(300, 400, 0, 90, 100);

Wielokąt (na przykładzie trójkąta) const trjkt : array [1..4] of PointType = ((x:10; y:10), (x:15; y:100), (x:150; y:50), (x:10; y:10)); DrawPoly(4, trjkt); FillPoly(4, trjkt); pusty zamalowany 4 bo pierwszy wierzchołek musi być podany też na końcu, żeby łamana się zamknęła. 5. WYLEWANIE FARBY Figura, którą chcemy zamalować musi mieć zamknięty brzeg! (x, y) (x, y) farba wypłynie przez dziurę DOBRZE ŹLE FloodFill (x, y, kolor_brzegu); Informacja o kolorze punktu GetPixel (x, y);

6. TEKSTY W TRYBIE GRAFICZNYM SetTextStyle(krój, kierunek, rozmiar); OutTextXY (x, y, tekst); np. SetTextStyle(1, 0, 4) krój rodzaj czcionki, kierunek kierunek pisania (poziomo/pionowo) 7. PRZYKŁADY setcolor(1); for k:=0 to 50 do circle(200,200,k*5); ------------------------------------------------------------------------------------------------------------ setbkcolor(15); cleardevice; for k:=0 to 7 do for j:=0 to 7 do if (k mod 2=0) then if (j mod 2=0) then setfillstyle(1,3) else setfillstyle(1,15) else if (j mod 2=1) then setfillstyle(1,3) else setfillstyle(1,15); bar(50+k*20,50+j*20,70+k*20,70+j*20); setcolor(1); for k:=0 to 7 do for j:=0 to 7 do rectangle(50+k*20,50+j*20,70+k*20,70+j*20); ------------------------------------------------------------------------------------------------------------ for k:=0 to 20 do line(200,50+k*5,200+k*5,150); line(200,50+k*5,200-k*5,150); line(200,150+k*5,300-k*5,150); line(200,150+k*5,100+k*5,150);

------------------------------------------------------------------------------------------------------------ settextstyle(3,0,20); for k:=0 to 5 do for j:=0 to 5 do if (k>0) and (j>0) then setcolor(1) else setcolor(11); outtextxy(20+k,50+j,'abc'); ------------------------------------------------------------------------------------------------------------ for k:=0 to 7 do for j:=0 to 3 do moveto(50+k*40,50+j*50); linerel(-20,20); linerel(0,10); linerel(20,20); linerel(20,-20); linerel(0,-10); linerel(-20,-20); linerel(-20,20); linerel(20,20); linerel(0,10); linerel(0,-10); linerel(20,-20); setfillstyle(1,7);floodfill(50+k*40,60+j*50,8); setfillstyle(1,8);floodfill(60+k*40,85+j*50,8); ----------------------------------------------------------------------------------------------------------------- kat:=pi/20; for k:=0 to 19 do x:=100*cos(kat*k); y:=100*sin(kat*k); line(300,300,300+round(x),300+round(y)); //////////////////////////////////// Materiały I LO w Kwidzynie Wszelkie prawa zastrzeżone \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\