Véletlen szám generálás Labirintus felépítése 1x1-es felbontástól a teljes méretig
|
|
- Ádám Kovács
- 6 évvel ezelőtt
- Látták:
Átírás
1
2 Véletlen szám generálás Labirintus felépítése 1x1-es felbontástól a teljes méretig Labirintusban egy kiindulási pontból az összes pontba legrövidebb út keresése Egy végállomásból elindulva visszafejteni a legrövidebb utat a kiindulási állapotig
3 Fraktál zaj + =
4 2D zaj, 4 színcsatornában 4 független véletlen szám tárolható MipMap glteximage2d(gl_texture_2d, level, GL_RGBA32F,...); glframebuffertexture2d(gl_framebuffer,..., TexID, miplevel); Brown mozgás: R kezdeti értéke 0.5 noisescale kezdeti értéke 0.5 minden mipmap szintnél noisescale*= 0.5 vec4 R = texturelod(inputtex2, ftexcoord, level + 1); //előző szint vec4 rand = texelfetch(noisetex, ivec2(mod(coord + ivec2(noiseseed, 0), ivec2(16))), 0); R = R + noisescale * (rand - 0.5);
5 Cella: 4 szomszéd, 4 csatorna Ha vezet út a szomszéd felé akkor 1, egyébként V(R,G,B,A) = (0,1,1,1) 3
6 Rekurzív tovább osztás Szülő cella értékeit megörököljük Közbülső falakat töröljük Az átjárók egyik felét lezárjuk Az új 4 cellát egy irányban felosztjuk (4 lehetséges irányból 1-et véletlenszerűen választunk)
7 Probléma: Két szomszédos cellacsoport másképp dönt az átjáró lezárásáról (kommunikáció kellene a szálak között) Legegyszerűbb megoldás: Mindig ugyanazt választjuk, pl. bal oldalt és felül tartjuk meg az átjárókat. Ismételhető lesz.
8 Cellák indexelése (index): Irányok indexelése (csatornák): Maszk (M), mely irányokban van szomszédja befele : 3 Maszk (D), mindig bal oldalon és felül tartjuk meg az átjárókat (melyik irányban kell átjárót lezárni): Halmaz operátorok: A * B: metszet uni(a, B) : unió Örököljünk a szülőtől, de zárjuk le a kijáratok felét: V = inv(p * D[index]) * P; (1,0,0,1) (0,0,1,1) (1,1,0,0) (0,1,1,0) (0,0,0,0) (0,1,0,0) (0,0,1,0) (1,0,0,1) Közbülső falak eltüntetése V = uni(v, M[index]);
9 vec4 W1; // függőleges v. vízszintes vec4 W2; // bal/lenn - jobb/fenn if(r.x < 0.25) { // right W1 = vec4(1,0,1,0); W2 = vec4(m[index].x == 1); } else if(r.x < 0.5){ // top W1 = vec4(0,1,0,1); W2 = vec4(m[index].y == 1); } else if(r.x < 0.75) { // left W1 = vec4(1,0,1,0); W2 = vec4(m[index].z == 1); } else{ // bottom W1 = vec4(0,1,0,1); W2 = vec4(m[index].w == 1); } Fontos, hogy a négy cella ugyanazt a döntést hozza a felosztásról. Az Rvéletlen számot az előző szintről olvassuk: vec4 R = texturelod(inputtex2, ftexcoord, level + 1); V = V * uni(uni(w1, W2), inv(m[index]));
10
11 Opcionális lépcső Primitíveken dolgozik Bemenet: egy primitív Kimenet: egy vagy több A shader kimenete visszaköthető Vertex Shader Geometria Shader Fragmens Shader
12 Bementi primitívek glprogramparameteri(shader, GL_GEOMETRY_INPUT_TYPE, tipus); Pont GL_POINTS Szakasz GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP Háromszög GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN Adjacencia információ
13 Adjacencia Szakasz GL_LINES_ADJACENCY GL_LINE_STRIP_ADJACENCY Háromszög GL_TRIANGLES_ADJACENCY GL_TRIANGLE_STRIP_ADJACENCY
14 Kimeneti primitívek glprogramparameteri(shader, GL_GEOMETRY_OUTPUT_TYPE, tipus); glprogramparameteri(shader, GL_GEOMETRY_VERTICES_OUT, darab); Pont GL_POINTS Szakasz GL_LINE_STRIP Háromszög GL_LINE_STRIP
15 Speciális bemeneti változók gl_clipdistance[] : vágási információk gl_pointsize[] : vertex méret a vertex shaderből gl_position : vertex pozíció gl_primitiveidin : a feldolgozott primitív sorszáma Speciális kimeneti változók A bemeneti változók gl_layer : melyik rétegbe tegye a fragmens shader (pl. cube map rendereléshez)
16 Primitívek generálása Vertex információk beállítása Vertex lezárása EmitVertex(); Primitív lezárása EndPrimitive();
17 Példa #version 130 #extension GL_EXT_geometry_shader4 : enable in vec2 vtexcoord[]; out vec2 ftexcoord; void main(void){ for(int i=0; i < gl_verticesin; ++i){ gl_position = gl_positionin[i]; ftexcoord = vtexcoord[i]; EmitVertex(); } EndPrimitive(); for(int i=0; i < gl_verticesin; ++i){ gl_position = gl_positionin[i].yxzw; ftexcoord = vtexcoord[i].yx; EmitVertex(); } EndPrimitive(); }
18 Primitívek újrafeldolgozása Transform feedback glbegintransformfeedback(mode); // gldrawarrays(...); glendtransformfeedback(); Feedback Buffer Vertex Shader Feedback mód Megadja a használható primitíveket Feedback buffer kiválasztása glbindbufferbase(gl_transform_feedback_buffer, index, buffer); Tulajdonságok kiválasztása gltransformfeedbackvaryings(...); Geometria Shader Fragmens Shader
19 Információ a geometria shader működéséről Primitive query GLuint outputquery; glgenqueries(1, &outputquery); glbeginquery(mode, outputquery);... glendquery(mode); Query mód GL_PRIMITIVES_GENERATED Mennyi primitívet állított elő a geometria shader GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN Mennyi primitívet tudott a feedback bufferbe írni a shader
20 Információ a geometria shader működéséről A Query eredményének lekérdezése GLuint outpointcount = 0; GLuint succeded = 0; while(!succeded){ glgetqueryobjectiv(outputquery, GL_QUERY_RESULT_AVAILABLE, &succeded); } glgetqueryobjectiv(outputquery, GL_QUERY_RESULT, &outpointcount);
21 Elágazó folyamat, szélességi gráf bejárás
22 A bejárás során egy cellának egy pont primitív fog megfelelni V(x,y,d,n) x,y: cella index d: eddig megtalált legrövidebb úthossz n: a legrövidebb úton melyik szomszédból jutottunk ide (irány index) A legrövidebb úthosszat egy textúrában tároljuk Textúra inicializálása (0,0,0,0) A start cellából indulva azonosítjuk a szomszédjait Ha az adott szomszédba vezet út, megvizsgáljuk, hogy az ahhoz tartozó eddig megtalált legrövidebb úthossz hosszabb-e a csomópontunkhoz tartozó (d + 1) értéknél (vagy még nem is jártunk ebben a cellában) Ha igen, a cella értékét frissíteni kell, és szomszédaitmeg kell látogatni (előző lépés ismétlése)
23 Elágazás: egy pontból több pont lesz megoldás: Geometry Shader Rekurzió: a szomszédokra újra végre kell hajtani a feladatot megoldás: Vertex Transform Feedback
24 ... vec2 windowsize = texturesize(inputtex2, 0); vec4 vertexdata = gl_positionin[0]; //read neighbour information vec4 neighinf = texelfetch(inputtex1, ivec2(vertexdata.xy), 0); vec4 storedcelldata = texelfetch(inputtex2, ivec2(vertexdata.xy), 0); if(storedcelldata.z > vertexdata.z storedcelldata.w == 0){ celldata = vertexdata; vec2 wcoord = vertexdata.xy / windowsize * ; gl_position = vec4(wcoord,0,1); EmitVertex(); }...
25 //emit neighbours if connected //right if(neighinf.r == 1){ celldata = vertexdata; celldata.x += 1; celldata.z += 1; celldata.w = 3; storedcelldata = texelfetch(inputtex2, ivec2(celldata.xy), 0); if((storedcelldata.z > celldata.z storedcelldata.w == 0) && celldata.x < windowsize.x){ vec2 wcoord = celldata.xy / windowsize * ; gl_position = vec4(wcoord,0,1); EmitVertex(); } }... EndPrimitive();
26
27 Hasonló a feladat, csak nincs elágazás Célcellából indulunk (pontprimitív) Kiolvassuk, hogy melyik cellából jutottunk ide Ez a cella lesz az új pont primitív (ki is rajzoljuk a képernyőre, hogy lássuk) Addig folytatjuk, míg el nem jutunk a start cellába (ahol az úthossz 0)
28 #version 130 #extension GL_EXT_geometry_shader4 : enable uniform sampler2d inputtex1; //cell information out vec4 celldata; void main(void){ vec2 windowsize = texturesize(inputtex1, 0); vec4 vertexdata = gl_positionin[0]; } vec4 storedcelldata = texelfetch(inputtex1, ivec2(vertexdata.xy), 0); if(storedcelldata.z == 0) return; if(storedcelldata.w == 1){ // right celldata = vertexdata; celldata.x += 1; vec2 wcoord = (celldata.xy * 2 + 1) / (windowsize * 2 + 1) * ; gl_position = vec4(wcoord,0,1); EmitVertex(); }... EndPrimitive();
29
HLSL programozás. Grafikus játékok fejlesztése Szécsi László t06-hlsl
HLSL programozás Grafikus játékok fejlesztése Szécsi László 2013.02.16. t06-hlsl RESOURCES PIPELINE STAGES RENDER STATES Vertex buffer Instance buffer Constant buffers and textures Index buffer Constant
Fraktálok és káosz. Szirmay-Kalos László
Fraktálok és káosz Szirmay-Kalos László A természet geometriája Euklideszi geometria metrikus Sima egyenesre/síkra épít (analízis: differenciálás) Kicsiben mindenki lineáris: Skálafüggőség Méret lényeges
Nincs szinkronizáció és kommunikáció Csővezeték alkalmazása Párhuzamosítás
Nincs szinkronizáció és kommunikáció Csővezeték alkalmazása Párhuzamosítás Proc Proc 2 Csővezeték Proc 2 Proc Párhuzamosság Proc 22 Alapműveletek Map Amplify Reduce Sum CPU Vertex Shader Vertexek + tulajdonságok:
A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 217/218 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai 1. feladat: Csatornák (24 pont) INFORMATIKA II. (programozás) kategória Egy város csomópontjait csatornahálózat
Textúrák. Szécsi László
Textúrák Szécsi László Textúra interpretációk kép a memóriában ugyanolyan mint a frame buffer pixel helyett texel adatok tömbje 1D, 2D, 3D tömb pl. RGB rekordok függvény diszkrét mintapontjai rácson rekonstrukció:
Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter
Információ megjelenítés Számítógépes ábrázolás Dr. Iványi Péter Raszterizáció OpenGL Mely pixelek vannak a primitíven belül fragment generálása minden ilyen pixelre Attribútumok (pl., szín) hozzárendelése
Számítógépes grafika
Számítógépes grafika XX. rész A GPU programozása a GLSL nyelv Az OpenGL árnyaló nyelve a GLSL (OpenGL Shading Language), amely segítségével vertex- és pixel- (fragment) shaderek által programozhatjuk a
HLSL programozás. Szécsi László
HLSL programozás Szécsi László RESOURCES PIPELINE STAGES RENDER STATES Vertex buffer Instance buffer Constant buffers and textures Index buffer Constant buffers and textures Output buffer Constant buffers
A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 201/2014 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória 1. feladat: Metró (20 pont) Egy metróállomásra
Plakátok, részecskerendszerek. Szécsi László
Plakátok, részecskerendszerek Szécsi László Képalapú festés Montázs: képet képekből 2D grafika jellemző eszköze modell: kép [sprite] 3D 2D képével helyettesítsük a komplex geometriát Image-based rendering
A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 1/18 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai INFORMATIKA II. (programozás) kategória 1. feladat: K-homogén sorozat ( pont) Azt mondjuk, hogy az
Fordítás Kódoptimalizálás
Fordítás Kódoptimalizálás Kód visszafejtés. Izsó Tamás 2016. október 20. Izsó Tamás Fordítás Kódoptimalizálás / 1 Aktív változók Angol irodalomban a Live Variables kifejezést használják, míg az azt felhasználó
Direct3D pipeline. Grafikus játékok fejlesztése Szécsi László t03-pipeline
Direct3D pipeline Grafikus játékok fejlesztése Szécsi László 2013.02.12. t03-pipeline RESOURCES PIPELINE STAGES RENDER STATES Vertex buffer Instance buffer Constant buffers and textures Index buffer Constant
Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.
Algoritmuselmélet Gráfok megadása, szélességi bejárás, összefüggőség, párosítás Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 2. előadás
INFORMATIKA javítókulcs 2016
INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.
Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 4. előadás Procedurális programozás: iteratív és rekurzív alprogramok Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
2D képszintézis. Szirmay-Kalos László
2D képszintézis Szirmay-Kalos László 2D képszintézis Modell szín (200, 200) Kép Kamera ablak (window) viewport Unit=pixel Saját színnel rajzolás Világ koordinátarendszer Pixel vezérelt megközelítés: Tartalmazás
GPU Lab. 14. fejezet. OpenCL textúra használat. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc
14. fejezet OpenCL textúra használat Grafikus Processzorok Tudományos Célú Programozása Textúrák A textúrák 1, 2, vagy 3D-s tömbök kifejezetten szín információk tárolására Főbb különbségek a bufferekhez
Függvények Függvények
teknőc parancsok ismétlése függvények fogalma, használata grafikon rajzoló program Reversi játékprogram függvények lokális változói rekurzió és fraktál-szerű ábrák rajzolása Emlékeztető töbszörös elágazás
Klár Gergely
Számítógépes Grafika Klár Gergely tremere@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2010/2011. őszi félév Tartalom Vágás Szakaszvágás Poligonvágás 1 Vágás Szakaszvágás Poligonvágás 2 Vágás
Algoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 6. Ugrólista (Skiplist) Definíció. Olyan adatszerkezet, amelyre
Tanács Attila. Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem
Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem Direct3D, DirectX o Csak Microsoft platformon OpenGL o Silicon Graphics: IRIS GL (zárt kód) o OpenGL (1992) o Nyílt
Érdekes informatika feladatok
Érdekes informatika feladatok XX. rész Az első OpenGL példaprogram Visual C++-ban Ha OpenGL programot szeretnénk létrehozni VisualC++-ban, három lehetőségünk van: Win32 alkalmazás, Win32 konzol alkalmazás
Információs Technológia
Információs Technológia Rekurzió, Fa adatszerkezet Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 18. Rekurzió Rekurzió
Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35
Grafika I. Kép mátrix Feladat: Egy N*M-es raszterképet nagyítsunk a két-szeresére pontsokszorozással: minden régi pont helyébe 2*2 azonos színű pontot rajzolunk a nagyított képen. Pap Gáborné-Zsakó László:
Klár Gergely 2010/2011. tavaszi félév
Számítógépes Grafika Klár Gergely tremere@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2010/2011. tavaszi félév Tartalom Virtuális világ tárolása 1 Virtuális világ tárolása 2 3 4 Virtuális világ
Programozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
Gauss szűrő L ' ( X, Y ) L ( X x, Y y ) w ( X, Y, x, y ) dxdy 2 2 x y w ( x, y ) e /
Gass szűrő / 16 1 1 4 1 1 1 e w dd Y w Y Y ' Gass szűrő niform samplerd colormap; cons floa kernel[9] = floa[9] 1.0.0 1.0.0 4.0.0 1.0.0 1.0; o vec4 ocolor; void main{ ocolor = vec40.0; forin =-1;
Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./0. 3D grafika programozása OpenGL támogatással A 3D API
Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./0. 3D grafika programozása OpenGL támogatással A 3D API Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László
Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 8. előadás Visszatekintés A Windows Console alkalmazások egy karakteres képernyőt biztosítottak, ahol a kimenet a kiírt szöveg, míg a bemenet a billentyűzet volt.
Algoritmusok bonyolultsága
Algoritmusok bonyolultsága 5. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 27 Gazdaságos faváz Kruskal-algoritmus Joseph Kruskal (1928 2010) Legyen V = {v 1, v 2,..., v n }, E = {e 1, e 2,...,
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok
DIGITÁLIS TECHNIKA I
DIGITÁLIS TECHNIKA I Dr. Kovács Balázs Dr. Lovassy Rita Dr. Pődör Bálint Óbudai Egyetem KVK Mikroelektronikai és Technológia Intézet 6. ELŐADÁS Arató Péter: Logikai rendszerek tervezése, Tankönyvkiadó,
Mintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
Dinamikus programozás vagy Oszd meg, és uralkodj!
Dinamikus programozás Oszd meg, és uralkodj! Mohó stratégia Melyiket válasszuk? Dinamikus programozás vagy Oszd meg, és uralkodj! Háromszögfeladat rekurzívan: c nj := a nj ha 1 j n c ij := a ij + max{c
OpenGL Compute Shader-ek. Valasek Gábor
OpenGL Compute Shader-ek Valasek Gábor Compute shader OpenGL 4.3 óta része a Core specifikációnak Speciális shaderek, amikben a szokásos GLSL parancsok (és néhány új) segítségével általános számítási feladatokat
Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás
Programozás alapjai 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Háziellenőrzés Egészítsd ki úgy a simplemaths.c programot, hogy megfelelően működjön. A program feladata az inputon soronként megadott
Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
Számláló rendezés. Példa
Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a
Mesterséges Intelligencia MI
Mesterséges Intelligencia MI Problémamegoldás kereséssel ha sötétben tapogatózunk Dobrowiecki Tadeusz Eredics Péter, és mások BME I.E. 437, 463-28-99 dobrowiecki@mit.bme.hu, http://www.mit.bme.hu/general/staff/tade
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések
Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája
Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból
Geometria brute force tárolása
Virtuális világ tárolása - kérdések Számítógépes Grafika Klár Gergely tremere@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar Hol táruljuk az adatokat? Mem. vagy HDD? Mire optimalizálunk? Rajzolás
Országzászlók (2015. május 27., Sz14)
Országzászlók (2015. május 27., Sz14) Írjon programot, amely a standard bemenetről állományvégjelig soronként egy-egy ország zászlójára vonatkozó adatokat olvas be! Az egyes zászlóknál azt tartjuk nyilván,
C programozási nyelv Pointerek, tömbök, pointer aritmetika
C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek
Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).
Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a
I. Internetes keresési feladatok (ajánlott idő: 20 perc)
I. Internetes keresési feladatok (ajánlott idő: 20 perc) A talált oldalak internet címét (URL) másold ki egy szöveges dokumentumba és mentsd Csapatnev_internet néven! A konkrét válaszokat ide a papírra
Algoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE
Algoritmusokfelülnézetből 1. ELŐADÁS Sapientia-EMTE 2015-16 Algoritmus Az algoritmus kifejezés a bagdadi arab tudós, al-hvárizmi(780-845) nevének eltorzított, rosszul latinra fordított változatából ered.
Bánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
Felvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
Grafikus csővezeték és az OpenGL függvénykönyvtár
Grafikus csővezeték és az OpenGL függvénykönyvtár 1 / 32 A grafikus csővezeték 3D-s színtér objektumainak leírása primitívekkel: pontok, élek, poligonok. Primitívek szögpontjait vertexeknek nevezzük Adott
Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation
Visszalépéses módszer (Backtracking) folytatás Permutáció n = 3 esetében: 1 2 3 2 3 1 3 1 2 Eredmény: 3 2 3 1 2 1 123 132 213 231 312 321 permutációk száma: P n = n! romámul: permutări, angolul: permutation
BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli. A versenyzők figyelmébe:
BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli A versenyzők figyelmébe: 1. A tömböket 1-től kezdődően indexeljük. 2. A rácstesztekre
SR mini PLC Modbus illesztő modul. Modul beállítása Bemeneti pontok kiosztása főmodul esetén Bemeneti pontok címkiosztása kiegészítő modul esetében
SR mini PLC Modbus illesztő modul Modul beállítása Bemeneti pontok kiosztása főmodul esetén Bemeneti pontok címkiosztása kiegészítő modul esetében Kimeneti pontok címkiosztása főmodul esetében, olvasásra
A Verem absztrakt adattípus
A Verem absztrakt adattípus Értékhalmaz: E Verem = [a 1,...,a n : a i E,i = 1,...,n,] Műveletek: V : Verem, x : E {Igaz} Letesit(V) {V = []} {V = V } Megszuntet(V) {Igaz} {V = V } Uresit(V) {V = []} {V
1. numere.txt n (1 n 10000) n növekvő kilenc a) Pascal/C++ Például: NUMERE.TXT
Az informatika érettségi harmadik tételsora tartalmaz egy feladatot, melyet hatékonyan kell megoldani. A program megírása mellett követelmény a megoldásban használt módszer rövid leírása, kitérve a módszer
Rubin SMART COUNTER. Műszaki adatlap 1.1. Státusz: Jóváhagyva Készítette: Forrai Attila Jóváhagyta: Parádi Csaba. Rubin Informatikai Zrt.
Rubin SMART COUNTER Műszaki adatlap 1.1 Státusz: Jóváhagyva Készítette: Forrai Attila Jóváhagyta: Parádi Csaba Rubin Informatikai Zrt. 1149 Budapest, Egressy út 17-21. telefon: +361 469 4020; fax: +361
INFORMATIKA tétel 2019
INFORMATIKA tétel 2019 ELIGAZÍTÁS: 1 pont hivatalból; Az 1-4 feladatokban (a pszeudokód programrészletekben): (1) a kiír \n utasítás újsorba ugratja a képernyőn a kurzort; (2) a / operátor osztási hányadost
Tanács Attila. Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem
Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem Direct3D, DirectX o Csak Microsoft platformon OpenGL o Silicon Graphics: IRIS GL (zárt kód) o OpenGL (1992) o Nyílt
SZÁLLÍTÁSI FELADAT KÖRUTAZÁSI MODELL WINDOWS QUANTITATIVE SUPPORT BUSINESS PROGRAMMAL (QSB) JEGYZET Ábragyűjtemény Dr. Réger Béla LÉPÉSRŐL - LÉPÉSRE
SZÁLLÍTÁSI FELADAT KÖRUTAZÁSI MODELL WINDOWS QUANTITATIVE SUPPORT BUSINESS PROGRAMMAL (QSB) JEGYZET Ábragyűjtemény Dr. Réger Béla LÉPÉSRŐL - LÉPÉSRE KÖRUTAZÁSI MODELL AVAGY AZ UTAZÓÜGYNÖK PROBLÉMÁJA Induló
Lényege: valamilyen szempont szerint homogén csoportok képzése a pixelekből. Amit már ismerünk:
Lényege: valamilyen szempont szerint homogén csoportok képzése a pixelekből. Amit már ismerünk: Küszöbölés, vágás, sávkijelölés hátránya: az azonos csoportba sorolt pixelek nem feltétlenül alkotnak összefüggő
Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel
Navigáci ció és s mozgástervez stervezés Algoritmusok és alkalmazásaik Osváth Róbert Sorbán Sámuel Feladat Adottak: pálya (C), játékos, játékos ismerethalmaza, kezdőpont, célpont. Pálya szerkezete: akadályokkal
Form1 Form Size 400;400 Text Mozgó kör timer1 Timer Enabled True Interval 100
BME MOGI Gépészeti informatika 16. 1. feladat Írjon alkalmazást, melyben egy 4 pixel sugarú, pirosra kifestett kört egy másik körön mozgat! A mozgást időzítő vezérelje! Megoldási mód: Windows Forms alkalmazás
7. Régió alapú szegmentálás
Digitális képek szegmentálása 7. Régió alapú szegmentálás Kató Zoltán http://www.cab.u-szeged.hu/~kato/segmentation/ Szegmentálási kritériumok Particionáljuk a képet az alábbi kritériumokat kielégítő régiókba
Grafikus csővezeték 1 / 44
Grafikus csővezeték 1 / 44 Grafikus csővezeték Vertex feldolgozás A vertexek egyenként a képernyő térbe vannak transzformálva Primitív feldolgozás A vertexek primitívekbe vannak szervezve Raszterizálás
Kupacrendezés. Az s sorban lévő elemeket rendezzük a k kupac segítségével! k.empty. not s.isempty. e:=s.out k.insert(e) not k.
10. Előadás Beszúró rendezés Használjuk a kupacokat rendezésre! Szúrd be az elemeket egy kupacba! Amíg a sor ki nem ürül, vedd ki a kupacból a maximális elemet, és tedd az eredmény (rendezett) sorba! 2
Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte.
Programozási alapismeretek :: beadandó feladat Készítő adatai Név: Molnár Tamás EHA: MOTIABT.ELTE E-mail cím: motiabt@inf.elte.hu Gyakorlatvezető: Horváth László Feladat sorszáma: 23. Felhasználói dokumentáció
3. Hőmérők elkészítése
3. Hőmérők elkészítése A jelenlegi hőmérőink pt100-as ellenállás hőmérők. Ezeknek az ellenállását szükséges digitális jellé alakítani, és egy 7-szegmenses kijelzővel egy tized pontossággal kijelezni, valamint
Adatszerkezetek 7a. Dr. IványiPéter
Adatszerkezetek 7a. Dr. IványiPéter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér () Nincsennek hurkok!!! 2 Bináris fák Azokat a
T201W/T201WA 20 -os szélesvásznú LCD monitor Felhasználói kézikönyv
T201W/T201WA 20 -os szélesvásznú LCD monitor Felhasználói kézikönyv Tartalom A csomag tartalma... 3 Telepítés... 4 A monitor csatlakoztatása a számítógéphez... 4 A monitor csatlakoztatása az áramforráshoz...
DIGITÁLIS TECHNIKA I KARNAUGH TÁBLA, K-MAP KARNAUGH TÁBLA PROGRAMOK PÉLDA: ÖT-VÁLTOZÓS MINIMALIZÁLÁS PÉLDA: ÖT-VÁLTOZÓS MINIMALIZÁLÁS
IGITÁLIS TEHNIK I r. Pıdör álint MF KVK Mikroelektronikai és Technológia Intézet 5. ELİÁS 5. ELİÁS. Karnaugh táblázat programok. Nem teljesen határozott logikai függvények. Karnaugh táblázat, logikai tervezési
Keresések Gregorics Tibor Mesterséges intelligencia
Keresések ADAT := kezdeti érték while terminálási feltétel(adat) loop SELECT SZ FROM alkalmazható szabályok ADAT := SZ(ADAT) endloop KR vezérlési szintjei vezérlési stratégia általános modellfüggő heurisztikus
Neumann János Tehetséggondozó Program Gráfalgoritmusok II.
Neumann János Tehetséggondozó Program Gráfalgoritmusok II. Horváth Gyula horvath@inf.elte.hu 1. A szélességi bejárás alkalmazásai. Nyilvánvaló, hogy S(0) = {r}. Jelölés: D(p) = δ(r, p) Nyilvánvaló, hogy
Algoritmuselmélet 7. előadás
Algoritmuselmélet 7. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Március 11. ALGORITMUSELMÉLET 7. ELŐADÁS 1 Múltkori
2018, Diszkrét matematika
Diszkrét matematika 3. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? számtartományok: természetes
Tartalom. Tartalom. Hajder Levente Szakasz raszterizálása. 2017/2018. II. félév. Poligon raszterizáció.
Tartalom Hajder Levente hajder@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2017/2018. II. félév 1 Emlékeztető 2 Vágás 3 Raszterizálás Inkrementális képszintézis Tartalom 1 Emlékeztető Inkrementális
Geometriai modellezés. Szécsi László
Geometriai modellezés Szécsi László Adatáramlás vezérlés Animáció világleírás Modellezés kamera Virtuális világ kép Képszintézis A modellezés részfeladatai Geometria megadása [1. előadás] pont, görbe,
Grafikus csővezeték (Általános áttekintés) Grafikus csővezeték (Általános áttekintés)
Dr. Mileff Péter 2 Grafikus csővezeték (Általános áttekintés) A grafikus csővezeték(graphics pipeline): feldolgozási szakaszok egy elméleti modellje ezen keresztül küldjük a grafikai adatokat, hogy megkapjuk
Az MS Word szövegszerkesztés modul részletes tematika listája
Az MS Word szövegszerkesztés modul részletes tematika listája A szövegszerkesztés alapjai Karakter- és bekezdésformázás Az oldalbeállítás és a nyomtatás Tabulátorok és hasábok A felsorolás és a sorszámozás
A számítógépes grafika inkrementális képszintézis algoritmusának hardver realizációja Teljesítménykövetelmények:
Beveetés A sámítógépes grafika inkrementális képsintéis algoritmusának hardver realiációja Teljesítménykövetelmények: Animáció: néhány nsec/ képpont Massívan párhuamos Pipeline(stream processor) Párhuamos
Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás A tárgy órái Előadás hetente (St101) csüt. 8:15 Bécsi Tamás C elmélet Ajánlott irodalom Dennis Ritchie: A C programozási nyelv Gyakorlat hetente
2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1
2. Rekurzió Egy objektum definícióját rekurzívnak nevezünk, ha a definíció tartalmazza a definiálandó objektumot. Egy P eljárást (vagy függvényt) rekurzívnak nevezünk, ha P utasításrészében előfordul magának
OKTV 2007/2008 Informatika II. kategória döntő forduló Feladatlap. Oktatási Hivatal
Feladatlap Kedves Versenyző! A megoldások értékelésénél csak a programok futási eredményeit vesszük tekintetbe. Ezért igen fontos a specifikáció pontos betartása. Ha például a feladat szövege adatok valamilyen
Cohen-Sutherland vágóalgoritmus
Vágási algoritmusok Alapprobléma Van egy alakzatunk (szakaszokból felépítve) és van egy "ablakunk" (lehet a monitor, vagy egy téglalap alakú tartomány, vagy ennél szabálytalanabb poligon által határolt
Gráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 1. Tárolási módok, bejárások előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Gráfok 1. Tárolási módok Szélességi
Adatszerkezetek 2. Dr. Iványi Péter
Adatszerkezetek 2. Dr. Iványi Péter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér (root) Nincsennek hurkok!!! 2 Bináris fák Azokat
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Programkészítés Megrendelői igények begyűjtése Megoldás megtervezése (algoritmuskészítés)
Valasek Gábor
Valasek Gábor valasek@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2011/2012. őszi félév Tartalom 1 Textúrázás Bevezetés Textúra leképezés Paraméterezés Textúra szűrés Procedurális textúrák
Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.
Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,
Hajder Levente 2018/2019. II. félév
Hajder Levente hajder@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2018/2019. II. félév Tartalom 1 2 Törtvonal Felületi folytonosságok B-spline Spline variánsok Felosztott (subdivision) görbék
Egyszerű programozási tételek
Egyszerű programozási tételek Sorozatszámítás tétele Például az X tömbben kövek súlyát tároljuk. Ha ki kellene számolni az összsúlyt, akkor az S = f(s, X(i)) helyére S = S + X(i) kell írni. Az f0 tartalmazza
Számítógépes Graka - 4. Gyak
Számítógépes Graka - 4. Gyak Jámbori András andras.jambori@gmail.com 2012.03.01 Jámbori András andras.jambori@gmail.com Számítógépes Graka - 4. Gyak 1/17 Emlékeztet A múlt órákon tárgyaltuk: WinAPI programozás
Bevezetés a programozásba II 1. gyakorlat. A grafikus könyvtár használata, alakzatok rajzolása
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba II 1. gyakorlat A grafikus könyvtár használata, alakzatok rajzolása 2014.02.10. Giachetta Roberto groberto@inf.elte.hu
Gyakori elemhalmazok kinyerése
Gyakori elemhalmazok kinyerése Balambér Dávid Budapesti M szaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Számítástudomány szakirány 2011 március 11. Balambér Dávid (BME) Gyakori
Árnyalás, env mapping. Szécsi László 3D Grafikus Rendszerek 3. labor
Árnyalás, env mapping Szécsi László 3D Grafikus Rendszerek 3. labor Egyszerű árnyaló FS legyen egy fényirány-vektor normálvektor és fényirány közötti szög koszinusza az irradiancia textúrából olvasott
Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.
Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb
9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.
Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi
72-74. Képernyő. monitor
72-74 Képernyő monitor Monitorok. A monitorok szöveg és grafika megjelenítésére alkalmas kimeneti (output) eszközök. A képet képpontok (pixel) alkotják. Általános jellemzők (LCD) Képátló Képarány Felbontás
Időjárási csúcsok. Bemenet. Kimenet. Példa. Korlátok. Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny, 2-3. korcsoport
Időjárási csúcsok Ismerjük N napra a déli hőmérséklet értékét. Lokálisan melegnek nevezünk egy napot (az első és az utolsó kivételével), ha az aznap mért érték nagyobb volt a két szomszédjánál, lokálisan