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



Podobne dokumenty
Wykład VII PASCAL - grafika;

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

Moduł graph w Pascalu

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

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

Okna i liczby pseudolosowe

Programowanie w języku Pascal

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Tik Z wiadomości wstępne

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

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

PROSTY PROGRAM DO MALOWANIA

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.

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

Laboratorium z Grafiki InŜynierskiej CAD. Rozpoczęcie pracy z AutoCAD-em. Uruchomienie programu

Rysowanie precyzyjne. Polecenie:

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

AUTOCAD MIERZENIE I PODZIAŁ

Język programowania PASCAL

TWORZENIE SZEŚCIANU. Sześcian to trójwymiarowa bryła, w której każdy z sześciu boków jest kwadratem. Sześcian

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

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

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

4.3 WITRAś. 1. UŜywając polecenia Linia (_Line) narysować odcinek, podając jako punkt początkowy współrzędną 90,-300 i punkt końcowy 90,55.

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

Podstawy Processingu. Diana Domańska. Uniwersytet Śląski

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

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

4.2. ELIPSA. 1. W linii statusowej włączamy siatkę i skok, które ułatwią rysowanie:

Pierwsze kroki z easy Soft CoDeSys Eaton Corporation. All rights reserved.

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

Tablice. Jones Stygar na tropie zmiennych

Animacje z zastosowaniem suwaka i przycisku

TWORZENIE SZEŚCIANU. Sześcian to trójwymiarowa bryła, w której każdy z sześciu boków jest kwadratem. Sześcian

Maskowanie i selekcja

PROGRAMOWANIE GRAFIKI I ELEMENTÓW INTERAKTYWNYCH NA STRONY WWW W P5.JS

4.2. ELIPSA. 1. W linii statusowej włączamy siatkę i skok, które ułatwią rysowanie:

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

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

Instrukcja do ćwiczeń: Zapis i podstawy konstrukcji (wszelkie prawa zastrzeŝone, a krytyczne uwagi są akceptowane i wprowadzane w Ŝycie)

W tym ćwiczeniu zostanie wykonany prosty profil cienkościenny, jak na powyŝszym rysunku.

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

Ćwiczenie pochodzi ze strony

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5. Ćwiczenie 5 Aplikacja wielo-okienkowa

Obsługa mapy przy użyciu narzędzi nawigacji

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

PyGame Gra w Ponga. Spis treści

Tryb graficzny w Pascalu

Dziedziczenie. Zadanie 1

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Główne elementy zestawu komputerowego

3.9 Tworzenie rysunku kurczaka

Instrukcja standardowa Writeln

Łożysko z pochyleniami

Szybkie tworzenie grafiki w GcIde

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Instrukcja obsługi funkcji specjalnych szablonu C01 v.1.0

Kolory elementów. Kolory elementów

Grafika i komunikacja człowiek komputer Laboratorium. Część 2: Graphics

Narysujemy uszczelkę podobną do pokazanej na poniższym rysunku. Rys. 1

Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Wstawianie nowej strony

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

Zastosowania informatyki w geologii ćwiczenia 1,2 INKSCAPE 1

X = r cosα = (R+r sinα) cosβ = (R+r sinα) sinβ

Algorytmika i programowanie

INSTYTUT INFORMATYKI STOSOWANEJ MODELOWANIE CZĘŚCI Z WYKORZYSTANIEM PROGRAMU SOLID EDGE


KARTA INFORMACYJNA Z INFORMATYKI DO KLASY 4. Imię i nazwisko ucznia:

PODSTAWY > Figury płaskie (1) KĄTY. Kąt składa się z ramion i wierzchołka. Jego wielkość jest mierzona w stopniach:

OGÓLNOPOLSKI SYSTEM OCHRONY ZDROWIA OSOZ STRONA INTERNETOWA APTEKI

Rysunek map Wstęp do AutoCada. Elżbieta Lewandowicz

4. Rysowanie krzywych

Wymiarowanie i teksty. Polecenie:

ALGORYTMY. Polecenia Skrót Znaczenie Działanie Przykład pż

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

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Delphi podstawy programowania. Środowisko Delphi

Kurs WWW. Paweł Rajba.

po wykonaniu instrukcji wartość zmiennej x zostanie zwiększona o 50,a

TWORZENIE OBIEKTÓW GRAFICZNYCH

Obsługa programu Paint materiały szkoleniowe

Rysowanie punktów na powierzchni graficznej

1. OPEN OFFICE RYSUNKI

1. Prymitywy graficzne

Przewodnik... Tworzenie Landing Page

Programowanie w Turbo Pascal

Jarosław Kuchta Podstawy Programowania Obiektowego. Podstawy grafiki obiektowej

Projekt połowicznej, prostej endoprotezy stawu biodrowego w programie SOLIDWorks.

Podstawy Informatyki Wykład V

4.6 OpenOffice Draw tworzenie ilustracji

Programowanie w języku Python. Grażyna Koba

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Techniki CAD w pracy inŝyniera Aplikacja programu Autodesk Inventor Praktyczne ćwiczenia więzów szkicu 2D

Java. Wykład 9. Piotr Tronczyk

Transkrypt:

Grafika w Pascalu. Do tej pory, tworząc programy w Pascalu, wykorzystywaliśmy jedynie tryb tekstowy. Jednak Pascal, tak jak i inne języki programowania, umoŝliwia korzystanie równieŝ z trybu graficznego. W trybie tekstowym mieliśmy do dyspozycji jedynie moduł crt, który umoŝliwiał kolorowanie tła, znaków oraz czyszczenie ekranu. Dzisiaj poznamy moduł biblioteki graficznej o nazwie graph. Rysujemy prostokąt. Na początku tworzymy program grafika1.pas, który będzie działa w trybie graficznym. Program ten będzie rysował Ŝółtym kolorem prostokąt. (1) Chcąc korzystać z dobrodziejstw, jakie niesie za sobą biblioteka graph, musimy zastosować dyrektywę uses. UmoŜliwi nam to korzystanie ze wszystkich funkcji oraz procedur tego modułu. (2) Po zadeklarowaniu modułu graph w nagłówku programu dokonujemy deklaracji dwóch zmiennych typu całkowitego smallint ( 2-bajtowa liczba całkowita ze znakiem w kodzie U2 (16 bitów), zakres od -215 (-32768) do 215-1 (32767)). Oczywiście nazwy tych zmiennych mogą być dowolne. U nas będą nosiły nazwę sterownik i tryb. (3) W ciele programu, a więc w sekcji -end, wywołujemy procedurę detectgraph biblioteki graph, pobierając dwa argumenty w postaci liczb całkowitych. Przekazujemy do niej zmienne sterownik oraz tryb, zadeklarowane w nagłówku programu. (4) Wywołanie tej procedury spowoduje przypisanie zmiennej sterownik wartości wskazującej na sterownik określonej karty graficznej komputera, a zmiennej tryb wartości opisujących tryb graficzny, związany z rozdzielczością ekranu monitora oraz liczbą wyświetlanych kolorów, jaki ta karta graficzna obsługuje.

Po wyszukaniu przez procedurę detectgraph typu karty graficznej oraz odpowiadającego jej trybu graficznego ekranu przystępujemy do inicjalizacji trybu graficznego. W tym celu wywołujemy procedurę initgraph pobierającą trzy parametry: wartość zmiennej sterownik oraz zmiennej tryb, którym to wcześniej procedura detectgraph przypisała odpowiednie wartości, oraz wartość typu string przechowującą ścieŝkę dostępu (katalog) do sterownika karty graficznej, umieszczonego w katalogu Pascala. (5) Kolejnym krokiem jest ustawienie bieŝącego koloru. SłuŜy do tego procedura setcolor, w której przekazujemy jedną z wartości koloru. My wybierzemy liczbę 14 wskazująca kolor Ŝółty. (6) Aby narysować w ustawionym wcześniej kolorze prostokąt, wywołujemy procedurę rectangle. Pobiera ona cztery parametry w postaci liczb całkowitych. Pierwsze dwa z nich to współrzędne x i y (x to współrzędna pozioma jej wartość liczymy od lewej krawędzi okna, i y współrzędna pionowa jej wartość liczymy od górnej krawędzi okna) lewego górnego rogu prostokąta, a kolejne to współrzędne x i y prawego dolnego rogu prostokąta. Parametry te więc wyznaczają w postaci pikseli konkretne punkty w oknie, które muszą być ze sobą połączone tak, aby utworzyć prostokąt. Na koniec pozostaje nam wyłączyć tryb graficzny. SłuŜy do tego bezargumentowa procedura closegraph. ZauwaŜcie, Ŝe funkcja ta jest wywołana po funkcji readln, a nie przed nią, co daje gwarancję, Ŝe przełączenie na tryb tekstowy nastąpi dopiero po zakończeniu przez uŝytkownika. Zobaczcie co się stanie jak przesuniecie readln na koniec programu. program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2) (3) clrscr; detectgraph(sterownik,tryb); (4) initgraph(sterownik,tryb,''); (5) rectangle(10,10,200,300); (6) readln; closegraph; (3) Kod źródłowy programu:

Wypełnianie figur W pierwszym programie narysowaliśmy Ŝółtym kolorem prostokąt. Tym razem prostokąt będzie wypełniony. Teraz zapiszemy go sobie w pliku o nazwie grafika2.pas. Do narysowania prostokąta słuŝy procedura rectangle. Natomiast do narysowania prostokąta wypełnionego kolorem jest wykorzystywana procedura bar. (1) Pobiera ona te same cztery parametry co procedura rectangle. Jednak wywołanie tylko samej procedury spowoduje namalowanie prostokąta, którego nie zobaczymy. Dzieje się tak dlatego, Ŝe domyślnie zostanie zastosowany kolor tła okna. Aby to zmienić, wywołujemy najpierw procedurę setfillstyle. Pobiera ona dwa parametry: pierwszy to sposób wypełnienia, a drugi to jego kolor. Jeśli ustawimy wypełnienie jako solidfill, to otrzymamy wypełnienie jednolite. W naszym przypadku będzie to kolor Ŝółty, podając liczbę 14.(2) program Grafika2; uses crt, graph; var sterownik, tryb:smallint; clrscr; detectgraph(sterownik,tryb); initgraph(sterownik,tryb,''); setfillstyle(solidfill,14);) (2) bar(50,50,200,300); (1) readln; closegraph; Kod źródłowy programu:

Rodzaje wypełnień: closedotfill wypełnienie kropkami hatchfill wypełnienie siatkowe linefill wypełnienie liniami interleavefill wypełnienie wzorkiem slashfill wypełnienie skośne Spróbujcie pozmieniać poszczególne wartości, aby sprawdzić działanie procedur. Inne figury geometryczne Jak do tej pory, nauczyliśmy się rysować wypełniony dowolnym wzorem prostokąt oraz rysować jedynie jego obrys. To oczywiście nie jedyna figura geometryczna, jaką Pascal dostarcza w module graph. Spróbujcie pobawić się parametrami poszczególnych figur, zmieniając je dowolnie, aby zrozumieć, który parametr za co odpowiada! OKRĄG aby narysować okrąg, wywołujemy procedurę circle. Procedura ta pobiera trzy parametry: współrzędną poziomą x oraz współrzędną pionową y środka okręgu, a takŝe długość promienia okręgu. circle(100,100,80); ŁUK aby narysować łuk, wywołujemy procedurę arc. Procedura ta pobiera pięć argumentów: współrzędną x i y środka okręgu, początek kąta w stopniach, koniec kąta w stopniach a takŝe długość promienia okręgu. Kąt w stopniach liczymy od zera(wskazówka na zegarze na godzinie 3) do 360, czyli tego samego miejsca, Stopnie są liczone przeciwnie do ruchu wskazówek zegara. arc(100,100,0,120,80);

WYCINEK KOŁA aby narysować wycinek koła, wywołujemy procedurę pieslice. Procedura ta pobiera pięć parametrów: współrzędną poziomą x oraz współrzędną pionową y środka koła, początek kąta w stopniach, koniec kąta w stopniach a takŝe długość promienia części koła. pieslice(100,100,0,120,80); ELIPSA aby narysować wycinek koła wywołujemy procedurę ellipse. Procedura ta pobiera sześć parametrów: współrzędną x i y, początek kąta w stopniach, koniec kąta w stopniach, a takŝe długość promienia elipsy w poziomie oraz długość elipsy w pionie. ellipse(60,110,0,360,50,100); WYPEŁNIONA ELIPSA aby narysować wypełnioną elipsę, wywołujemy procedurę fillellipse. Procedura ta pobiera cztery parametry: współrzędną poziomą x oraz współrzędną pionową y, długość promienia elipsy w poziomie oraz długość promienia elipsy w pionie. setfillstyle(solidfill,14); fillellipse(60,100,50,100); LINIA aby narysować linię, wywołujemy procedurę line. Procedura ta pobiera cztery parametry: współrzędną poziomą x i pionową y punktu początkowego linii oraz parę współrzędnych punktu końcowego linii. line(100,100,200,342); DOWOLNY OBIEKT aby narysować dowolny obiekt, wywołujemy procedurę drawpoly. Procedura ta pobiera dwa parametry: liczbę punktów, które będą do połączenia ze sobą, oraz tablicę tych punktów. Tablica jest zbiorem elementów typu pointtype, czyli współrzędnych punktów. KaŜdy punkt zapisujemy w nawiasach zwykłych. Wewnątrz nawiasów

podajemy x oraz po znaku dwukropka jego wartość. Podobnie postępujemy ze współrzędną y. Współrzędne oddzielamy od siebie znakiem średnika. const Punkty: array[1..6] of PointType = ((x: 50; y: 10), (x: 130; y: 10), (x: 200; y: 100), (x: 150; y: 200), (x: 50; y: 140), (x: 50; y: 10)); drawpoly(6,punkty); WYPEŁNIONY DOWOLNY OBIEKT aby narysować dowolny wypełniony obiekt wywołujemy procedurę fillpoly. Procedura ta pobiera dwa parametry: liczbę punktów, które będą do połączenia ze sobą, oraz tablicę tych punktów. const Punkty: array[1..6] of PointType = ((x: 50; y: 10), (x: 130; y: 10), (x: 200; y: 100), (x: 150; y: 200), (x: 50; y: 140), (x: 50; y: 10)); fillpoly(6,punkty);

FIGURY 3 D Oprócz rysunków figur płaskich za pomocą procedury bar3d mamy moŝliwość utworzenia sześcianu lub prostopadłościanu. Nazwij kolejny program grafika3.pas. Spróbujemy zmusić go, aby narysował nam sześcian. Na początek tak jak w poprzednich programach musimy pamiętać o ustawieniu koloru krawędzi. SłuŜy do tego procedura setcolor. Przekazując do niej liczbę 14, definiujemy kolor Ŝółty. Kolejny krok to ustawienie za pomocą procedury setfillstyle koloru i rodzaju wypełnienia. Do procedury tej przekazujemy parametr hatchfill wskazujący na wypełnienie siatkowe oraz liczbę 4 oznaczająca kolor czerwony. Ostatnim krokiem jest wywołanie procedury bar3d rysującej sześcian. Procedura ta pobiera sześć parametrów. Pierwsze dwa to współrzędne x i y lewego górnego naroŝnika frontowej ściany figury. Kolejne dwa parametry to współrzędne x i y prawego dolnego naroŝnika frontowej ściany figury. Piąty parametr wskazuje na głębokość sześcianu, a ostatni mówi nam o tym czy górna powierzchnia sześcianu jest widoczna (true) czy teŝ nie (false). program Grafika3; uses crt, graph; var sterownik, tryb:smallint; clrscr; detectgraph(sterownik,tryb); initgraph(sterownik,tryb,''); setfillstyle(hatchfill,4); bar3d(10,100,110,200,50,true); readln; closegraph; Zadanie do wykonania: Dzięki zdobytym wiadomością narysuj flagę Francji.