Számítógépes Grafika 1. gyakorlat Programtervező informatikus (esti)‏ 2009/2010 őszi félév.

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

Számítógép bemeneti egységei
Billentyűzet és egér.
Grafikus tervezőrendszerek programozása 10. előadás.
A Windows használata Bevezetés.
2D grafikus rendszerek Szirmay-Kalos László. 2D grafikus editor: GUI, use-case, dinamikus modell L L L R LD LU MouseLDown első pont MouseLDown második...
Gyakori hibák C# programozásban
GPGPU labor I. OpenGL, Cg.
Billentyűzet Az egyik legtöbbet használt bemeneti eszköz
Számítógépes Grafika 6. gyakorlat Programtervező informatikus (esti)‏ 2009/2010 őszi félév.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Bevezetés a Java programozásba
1 Programozás alapjai GEIAL312B (ANSI C) BSc (Bachelor of Science) / Alap képzés 2005/2006. őszi félév Miskolci Egyetem Általános Informatikai Tanszék.
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
Tömbök ismétlés Osztályok Java-ban Garbage collection
STÍLUSOK Tulajdonságok és értékek. Színek megadási módjai H1 {color: #CCF150} H1 {color: rgb(204,241,80)} H1 {color: rgb(80%,95%,30%)} H1 {color: red}
Grafika a programban Készítette: Pető László. Bevezetés Valójában nem a célobjektumra rajzolunk, hanem annak festővászon területére (canvas). Csak olyan.
Leírónyelvek: HTML és XHTML
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
Számítógépes grafika OpenGL 1. gyakorlat.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Számítógépes Grafika 1-2. gyakorlat
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
HTML oldal felépítése Készítette: Pataki Arnold
,,Én így tanítanám az informatikát”
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Számítógépes Grafika 2. gyakorlat Programtervező informatikus (esti) 2011/2012 őszi félév.
Számítógépes Grafika 1-2. gyakorlat Programtervező informatikus (esti)‏ 2011/2012 őszi félév.
Számítógépes Grafika Programtervező informatikus (esti)‏ Textúrázás.
Web-grafika (VRML) 1. gyakorlat Nyitrai Erika Varga Balázs.
Számítógépes Grafika Megvilágítás Programtervező informatikus (esti)‏
Turbo Pascal 11..
Grafikus tervezőrendszerek programozása 11. előadás.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
Készítette: Csíki Gyula
Billentyűzet (keyboard) az alapértelmezett beviteli eszköz
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Paint.
Hyper Text Markup Language
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Számítógépes Grafika 4. gyakorlat Programtervező informatikus (esti)‏ 2011/2012 őszi félév.
Számítógépes Grafika 7. gyakorlat Programtervező informatikus (esti)‏ 2009/2010 őszi félév.
Web-grafika II (SVG) 1. gyakorlat
Komoróczy Tamás 1 Java programozási nyelv Stringek.
Webprogramozó tanfolyam
Grafikai lehetőségek WPF-ben Egyszerű grafika (Shape-ek)
A Visual Basic nyelvi elemei
Számítógépes Grafika 6. gyakorlat Programtervező informatikus (esti)‏ 2009/2010 őszi félév.
Az operációs rendszerek feladatai, csoportosításuk
Táblázatok.
Billentyűzet.
Számítógépes Grafika 4. gyakorlat Programtervező informatikus (esti)‏ 2009/2010 őszi félév.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Web-grafika (VRML) 1. gyakorlat Nyitrai Erika Varga Balázs alapján Kereszty Gábor.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Excel programozás (makró)
Számítógépes Grafika 3. gyakorlat Programtervező informatikus (esti)‏ 2009/2010 őszi félév.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
V 1.0 Programozás III. Gyakorlás. V 1.0ÓE-NIK, 2014 Gyakorlás –Feladat: Tic Tac Toe játék –Szabályok: A játékosok felváltva teszik le a jelöléseiket.
Programozási alapismeretek
Excel programozás (makró)
Script nyelvek előadás
Rajzprogramok Bevezetés a Paint program használatába.
Neumann János Informatikai Kar
JavaScript a böngészőben
Hasznos billentyű kombinációk
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Előadás másolata:

Számítógépes Grafika 1. gyakorlat Programtervező informatikus (esti)‏ 2009/2010 őszi félév

Információk ETR kód: IP-eSZG1G Időpont: kedd, 17:00-18:30 Helyszín: nyelvi labor Jegyszerzés: két beadandó + egy elméleti zh Gyakorlati diák:

Mire lesz szükség Processing:

Ajánlott irodalom Processing reference: Casey Reas, Ben Fry: Processing: A Programming Handbook for Visual Designers and Artists

Processing Java-ra épülő nyelv, grafikus, interaktív, vizualizációs alkalmazások fejlesztésére Nem szükséges előzetes Java tudás Tud futtatható fájlba exportálni Linux, Mac és Windows alá is Saját IDE-vel jön: Processing Development Environment

Példaprogram 1

Utasítások print(s): – A státuszsorba ír – Konkatenáció jele: + – Támogatott típusok: boolean, byte, char, color, int, float, String, Object float a = 4.3; int b = 2; print(“a = “ + a + “ és b = “ + b);

Utasítások println(s): – Új sort kezd – A print típusain túl tömböket is meg tud jeleníteni float[] a = {4.3, 2.4, 3, 5}; println(a);

Utasítások Kommentek a szokásos módon: // egysoros komment print(“Hello!”); /* hosszú komment */

Alap típusok long color double char float int boolean byte

Példaprogram 2 // Helló Vonal példaprogram line(15, 25, 70, 90);

Példaprogram 2

Utasítások size(width, height): (több később) – A megjelenítő ablak méretének beállítása line(fromX, fromY, toX, toY): – KKR-ben, tehát (0,0) a bal-felső sarok (0,0)X Y

Utasítások stroke(r, g, b [, t] ): – A kirajzolás vonalának színe – Minden paraméter között – A t az átlátszóság – stroke(s [, t]): r=g=b=s, pl. stroke(255) = fehér background(r, g, b [, t] ): – Háttérszín beállítása – Egyúttal törli is a képernyő tartalmát

Példaprogram 3 size(400, 400); background(192, 64, 0); stroke(255); line(150, 25, 270, 350);

Példaprogram 3’ size(400, 400); color bg = color(192, 64, 0); color st = color(255); background(bg); stroke(st); line(150, 25, 270, 350);

Processing A programokat sketch-eknek hívják Háromféle módon programozható: – Alap – Folytonos – Java

Példaprogram 4 void setup() { size(400, 400); stroke(255); background(32, 64, 16); } void draw() { line(0, 0, mouseX, mouseY); }

Processing Az előző kód már folytonos típusú volt A setup() függvény a program inicializálásakor A draw() minden egyes képkocka kirajzolásakor meghívódik

Utasítások mouseX, mouseY: – Az egér pillanatnyi X és Y koordinátái (KKR)‏ rect(x, y, width, height): – Egy téglalapot rajzol ki – Bal-felső sarka: (x,y) – szélessége/magassága: width/heigth random(min, max)‏ fill(r, g, b [, t] ): – Kitöltési szín zárt alakzatok rajzolásakor

Feladat 1 Az egérmutató pozíciójába egy 10x10-es négyzet kirajzolása véletlenszerű kitöltési- és keretszínnel

Feladat 2 Az egérmutató pozíciójába egy 10x10-es négyzet kirajzolása véletlenszerű kitöltési- és keretszínnel Ne látszódjanak a korábbi képkockákban kirajzolt dolgok

Egér mouseDragged(): – Meghívásra kerül, ha mozgatják az egeret és közben valamelyik gomb nyomva van mouseMoved(): – Az egér mozgatásakor hívódik meg mouseClicked(): – Meghívódik ha valamelyik egérgombot megnyomták majd felengedték

Egér mousePressed(): – Egérgomb lenyomásakor hívódik – A mousePressed bool típusú változó azt tárolja le van-e nyomva egy egérgomb mouseReleased(): – Egérgomb felengedésekor hívódik

Egér változók mouseButton: – melyik egérgomb van lenyomva – LEFT, RIGHT, CENTER mousePressed: – Változó, true, ha le van nyomva egy egérgomb pmouseX, pmouseY: – Az X és Y irányú elmozdulás mértéke a legutóbbi pozícióhoz képest – Más a draw() és más az egér callback függvényekben!

Billentyűzet keyType(): – Az OS billentyűismétlési szabályának megfelelően hívódik meg – A módosítók (ctrl, alt, shift stb.) nincsenek figyelembe véve keyReleased(): – Billentyű felengedésekor – A felengedett billentyű: Nem ASCII karakterek: keyCode ASCII karakterek: key

Billentyűzet keyPressed(): – Lenyomott billentyű: Nem ASCII karakterek: keyCode ASCII: key Megjegyzés: – ASCII specifikációban benne vannak ezek is: BACKSPACE, TAB, ENTER, RETURN, ESC, DELETE PC, Linux, …: ENTER Mac: RETURN – Iránybillentyűk keyCode-ban (UP, DOWN, LEFT, RIGHT)

Utasítások A szokásos módon: – switch-case – for ciklus – if-else

Billentyűzet void keyPressed() { switch (keyCode) { case UP: // felfelé break; } if (key == ‘c’) { // c }

Példaprogram 5 void setup() { size(400, 400); stroke(255); } void draw() { background(32, 64, 16); strokeWeight(10); point(mouseX, mouseY); }

Utasítások strokeWeight(w): – A vonalvastagság pixelben, nemnegatív érték kell legyen int millis() – Az alkalmazás indítása óta eltelt idő ms-ben year(), month(), day(), hour(), minute(), second(): – Aktuális dátum – Mind int, megfelelő intervallumokból sin(x), cos(x): – Az x radiánban adott

Feladat 3 Periodikusan változzon a kirajzolt pont nagysága

Feladat 4 Periodikusan változzon a kirajzolt pont nagysága Ne töröljük le a képernyőt minden draw()-ban Csak akkor rajzoljunk, ha az egyik egérgomb nyomva van tartva Véletlenszerűen változzon a kirajzolás színe A smooth() hívásával simább képet kapunk

noSmooth()smooth()

Utasítások pixels[]: – A képernyőn megjelenő színek tömbje, width x height nagyságú – (x,y) színe pixels[y*width + x] – Használata előtt loadPixels() utasítás kell – Ha módosítottuk a tartalmát updatePixels() visszaírja a képernyőre az adatokat

Utasítások PImage: –.gif,.jpg,.tga és.png képek megjelenítését szolgáló osztály – A.width és.height mezők az adott kép szélességét és magasságát tárolják – A.pixels tömbje pedig a színeket – A képet a Sketch/Add file-lal hozzá kell adni a sketch-hez

Utasítások image(img, x, y, width, height): – Az img Pimage width x height nagyságú részét a képernyő (x,y) pontjába kirajzolja

Példaprogram 6 Először adjuk hozzá a programunkhoz a Dokumentumok képek könyvtárából a Naplemente.jpg-t

Példaprogram 6 PImage img; void setup() { size (400, 400); img = loadImage("Naplemente.jpg"); } void draw() { image(img, 0, 0); }

Példaprogram 6’ void draw() { image(img, 0, 0); color c = img.pixels[ mouseY*img.width + mouseX]; fill(c); stroke(0); rect(mouseX+1, mouseY-11, 10, 10); }

Feladat Írjunk egy nagyítót: a kurzor által mutatott pozíció körüli 10x10-es részt nagyítsuk ki a tízszeresére

Segítség Egy sor kirajzolása: for (int i=-5; i<5; ++i) { int x = constrain(mouseX+i, 0, img.width); color l = img.pixels[ mouseY*img.width + x]; fill(l); rect(mouseX+1+(i+5)*10, mouseY-11, 10, 10); }