Zobrazování 2D Nadpis křivek 2 Nadpis 3
|
|
- Blanka Havlíčková
- před 7 lety
- Počet zobrazení:
Transkript
1 IZG Nadpis Lab 04 1 Zobrazování 2D Nadpis křivek 2 Nadpis 3 Pavel Jméno Svoboda Příjmení Vysoké Vysoké učení technické učení technické v Brně, v Fakulta Brně, Fakulta informačních informačních technologií technologií v Brně Božetěchova 2, Brno isvoboda@fit.vutbr.cz jmeno@fit.vutbr.cz
2 Obsah Úvodní část Rekapitulace 2D křivek Fergusnova kubika Bézierova křivka Výpočet pomocí Bernstein polynomů Racionální křivka Výpočet pomocí algoritmu De Casteljau Neracionální IZG Lab 04 - Zobrazování 2D křivek 2
3 Rekapitulace 2D křivek Vyjádření křivek Explicitní, Implicitní Parametrické Použití 2D křivek Definice fontů Šablonování Definice objektů Animační křivky [F. Alexandr] IZG Lab 04 - Zobrazování 2D křivek 3
4 Typy křivek Aproximační Interpolační Racionální váhové koeficienty řídících bodů Neracionální váhové koeficienty rovny 1 [F. Alexandr] IZG Lab 04 - Zobrazování 2D křivek 4
5 Fergusnova kubika Interpolační křivka Definována 2 koncovými body 2 tečnými vektory Neintuitivní ovládání Nelokální změna tvaru Počítá se pomocí polynomů Hermitovy polynomy IZG Lab 04 - Zobrazování 2D křivek 5
6 Bézierova křivka Její první užití se datuje do 60tých let CAD aplikace Automobilový design TrueType i Postcript písma Parametrické vyjádření řád polynomu = stupeň křivky je počet řídících bodů křivky - 1 Aproximační křivka Vždy ale prochází prvním a koncovým kontrolním bodem Racionální vs Neracionální IZG Lab 04 - Zobrazování 2D křivek 6
7 Bézierova křivka výpočet pomocí polynomů Stupeň křivky = Řád polynomu = Řídících bodů -1 Racionální X Neracionální Neracionální: váhové hodnoty = 1 Racionální: Váhové hodnoty obecně jakékoli Parametrické vyjádření B Bernsteinův polynom t parametr křivky <0;1> n řád polynomu i index řídícího bodu n i0 Q t PR t n i0 i i n i0 t t n n i ni Bi t t 1 t, t 0,1, i 0,, n i n PB n i i i B i n i IZG Lab 04 - Zobrazování 2D křivek 7
8 Bézierova kubika Bézierova kubika Počet řídících bodů = 4 P0, P1, P2, P3 T = [t3, t2, t1, t0 = 1] Q t T P P P P B t t B t t t B t t t B t t Q t P B t P B t P B t P B t PB t i0 i i IZG Lab 04 - Zobrazování 2D křivek 8
9 Bézierova křivka algoritmus De Casteljau Rekurzivní algoritmus Výpočet Neracionální Bézierovy křivky P j i = (1 t) P j 1 j 1 i + tp j = 1 n; i = 0 n j i+1 P 0 0 P 1 0 P 2 0 P 3 0 lirp lirp lirp P 0 1 P 1 1 lirp lirp P 2 1 P 0 2 P 1 2 lirp P 0 3 Bod na křivce lirp = lineární interpolace IZG Lab 04 - Zobrazování 2D křivek 9
10 Bézierova křivka implementace De Casteljau Základní implementace: Iterujeme přes parametr t <0;1> Iterace přes všechny úrovně rekurze Iterace přes veškeré kontrolní body v dané úrovni a jejich postupný výpočet if(n < 1) return; n = kontrolnich bodu-1; for(int q = 0; q <= quality; ++q, t+=t_step) { } Copy of input vector in to local vector of points for(int j = 0; j < n; ++j) for(int i = 0; i < n-j; ++i) { Výpočet bodu i v úrovni j { IZG Lab 04 - Zobrazování 2D křivek 10
11 Samostatná práce Implementace Bézierovy křivky Buď De Casteljau neracionální křivka Anebo Pomocí Bernsteinových polynomů racionální křivka IZG Lab 04 - Zobrazování 2D křivek 11
12 Cvičení - rozhraní Soubory student.h deklarace funkcí, které programujete student.c zde pište Váš kód void bezierdecasteljau(int quality, const S_Vector *points, S_Vector *line_points) void bezierbernsteinpolynom(int quality, const S_Vector *points,s_vector *line_points) base.h definice struktury Point2D typedef struct Point2d { double x; double y; double weight; }Point2d; IZG Lab 04 - Zobrazování 2D křivek 12
13 Cvičení vector.h Vektor je typu S_Vector USE_VECTOR_OF(Point2d, point2d_vec) Vygeneruje funkce s předponou point2d_vec pro práci s vektorem S_Vector prvků typu Point2d #define point2d_vecget(pvec, i) (*point2d_vecgetptr((pvec), (i))) Definice makra pro získání i-tého prvku s vektoru pvec S_Vector* vector = point2d_veccreateempty() vytvoří prázdný vektor pro prvky typu Point2d point2d_vecsize(pvec) vrátí velikost vektoru point2d_vecgetptr(pvec, i) ukazatel na i-tý prvek vektoru pvec point2d_vecpushback(pvec, p) vloží na konec vektoru pvec prvek p point2d_vecset(pvec, i, p) vloží prvek p do vektoru pvec na index i point2d_vecrelease(&pvec) vs point2d_vecclean(pvec) zruší kompletně celý vektor pvec již s ním nelze pracovat vs smaže prvky vektoru vektor je prázdný o velikosti 0 Další funkce viz vector.h IZG Lab 04 - Zobrazování 2D křivek 13
14 C est la fin. IZG Lab 04 - Zobrazování 2D křivek 14
Bézierovy křivky Bohumír Bastl KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26
Bézierovy křivky Bohumír Bastl (bastl@kma.zcu.cz) KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26 Opakování Spline křivky opakování Bézierovy křivky GPM 2 / 26 Opakování Interpolace
Více15. listopadu Matematický ústav UK Matematicko-fyzikální fakulta. Hermitovská interpolace
Geometrické modelování Zbyněk Šír Matematický ústav UK Matematicko-fyzikální fakulta Hermitovská interpolace 15. listopadu 2017 Zbyněk Šír (MÚ UK) - Geometrické modelování 15. listopadu 2017 1 / 23 Hermiteovská
VícePlochy počítačové grafiky II. Interpolační plochy Bezierovy pláty nad obdélníkovou a trojúhelníkovou sítí Recionální Bezierovy pláty B-spline NURBS
II Interpolační plochy Bezierovy pláty nad obdélníkovou a trojúhelníkovou sítí Recionální Bezierovy pláty B-spline NURBS Konstrukce a zadání plochy hraniční křivky sítí bodů Kinematicky vytvořené křivky
VíceKristýna Bémová. 13. prosince 2007
Křivky v počítačové grafice Kristýna Bémová Univerzita Karlova v Praze 13. prosince 2007 Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 1 / 36 Pojmy - křivky a jejich parametrické
VíceMatematický ústav UK Matematicko-fyzikální fakulta
Geometrické modelování Zbyněk Šír Matematický ústav UK Matematicko-fyzikální fakulta 5. října 2016 Zbyněk Šír (MÚ UK) - Geometrické modelování 5. října 2016 1 / 14 Obsah dnešní přednášky Co je to geometrické
VícePOČÍTAČOVÁ GRAFIKA - PGR 2012037 2014 2015 PROGRAM PŘEDNÁŠEK. Po 9:00-10:30, KN:A-214
PROGRAM PŘEDNÁŠEK Po 9:00-10:30, KN:A-214 1P 16. 2. Křivky definice, analytické vyjádření. Bézierova křivka definice, vlastnosti, odvození Bernsteinových polynomů, de Castejlau algoritmus. 2P 23. 2. Spojitost
VíceJana Dannhoferová Ústav informatiky, PEF MZLU
Počítačová grafika Křivky Jana Dannhoferová (jana.dannhoferova@mendelu.cz) Ústav informatiky, PEF MZLU Základní vlastnosti křivek křivka soustava parametrů nějaké rovnice, která je posléze generativně
VíceMatematický ústav UK Matematicko-fyzikální fakulta
Geometrické modelování Zbyněk Šír Matematický ústav UK Matematicko-fyzikální fakulta 2. října 2018 Zbyněk Šír (MÚ UK) - Geometrické modelování 2. října 2018 1 / 15 Obsah dnešní přednášky Co je to geometrické
VíceKřivky a plochy technické praxe
Kapitola 7 Křivky a plochy technické praxe V technické praxi se setkáváme s tím, že potřebujeme křivky a plochy, které se dají libovolně upravovat a zároveň je jejich matematické vyjádření jednoduché.
VíceKMA/GPM Barycentrické souřadnice a
KMA/GPM Barycentrické souřadnice a trojúhelníkové pláty František Ježek jezek@kma.zcu.cz Katedra matematiky Západočeské univerzity v Plzni, 2008 19. dubna 2009 1 Trojúhelníkové pláty obecně 2 Barycentrické
VíceProgramování v C++ 1, 1. cvičení
Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených
VíceAproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming
Trocha historie geometrické modelování veliký pokrok v oblasti letectví 944 Roy Liming analytik, North American Aviation (výrobce letadel) společně s konstruktérem a designérem Edgardem Schmuedem matematizace
VíceŠablonové metaprogramování v C++ Miroslav Virius KSI FJFI ČVUT
Šablonové metaprogramování v C++ Miroslav Virius KSI FJFI ČVUT Šablonové (generické) metaprogramování Šablona v C++, genericita v jiných jazycích Výpočetní úplnost Problémy Příklad Porovnání s klasickým
VíceAproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming
Trocha historie geometrické modelování veliký pokrok v oblasti letectví 944 Roy Liming analytik, North American Aviation (výrobce letadel) společně s konstruktérem a designérem Edgardem Schmuedem matematizace
VícePlochy zadané okrajovými křivkami
Plochy zadané okrajovými křivkami Lineární plát plocha je určena dvěma okrajovými křivkami, pokud by pro tyto křivky byly intervaly, v nichž leží hodnoty parametru, různé, provedeme lineární transformaci
VíceRhino - základní příkazy
Rhino - základní příkazy Příkazy - volíme z hlavní nabídky levým tlačítkem myši - ikonou z nástrojové lišty levým (LTM)/pravým(PTM) tlačítkem myši Příkaz ukončíme pravým tlačítkem myši (Enter) nebo klávesou
VícePřehled. Motivace Úvod. Křivky a plochy počítačové grafiky. Závěr. Rozvoj počítačové grafiky Výpočetní geometrie
Vývoj výpočetní geometrie Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz Přehled Motivace Úvod Rozvoj počítačové grafiky Výpočetní geometrie Křivky a plochy počítačové
VíceFergusnova kubika, která je definována pomocí bodu P1, vektoru P1P2, bodu P3 a vektoru P3P4
Která barva nepatří do základních barev prostoru RGB? a. Černá b. Zelená c. Modrá d. Červená Úloha 2 Jakým minimálním počtem bodů je jednoznačně určena interpolační křivka 5. řádu? a. 6 b. 3 c. 5 d. 7
VíceKřivky a plochy I. Petr Felkel. Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 na Karlově náměstí
Křivky a plochy I Petr Felkel Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 na Karlově náměstí E-mail: felkel@fel.cvut.cz S použitím materiálů Bohuslava Hudce, Jaroslava Sloupa Poslední
VíceKřivky a plochy. Pavel Strachota. FJFI ČVUT v Praze
Křivky a plochy Pavel Strachota FJFI ČVUT v Praze 5. března 2015 Obsah 1 Parametrické křivky 2 Parametrické bikubické povrchy 3 Implicitní povrchy 4 Dělené křivky 5 Dělené povrchy Úvod potřeba popsat a
VíceTéma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."
Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech." Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Na
VícePB161 Programování v jazyce C++ Přednáška 10
.. PB161 Programování v jazyce C++ Přednáška 10 Šablony Nikola Beneš 23. listopadu 2015 PB161 přednáška 10: šablony 23. listopadu 2015 1 / 29 K zamyšlení Jaký je rozdíl mezi new int[10] a new int[10]()?
VíceRekurze. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.
Rekurze doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Rekurze 161 / 344 Osnova přednášky
VíceKŘIVKY A PLOCHY. Obrázky (popř. slajdy) převzaty od
KŘIVKY A PLOCHY JANA ŠTANCLOVÁ jana.stanclova@ruk.cuni.cz Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK Obsah matematický popis křivek a ploch křivky v rovině implicitní tvar
VíceVYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND
VíceNURBS REPREZENTACE KŘIVEK V MAPLE
25. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE Karolína Kundrátová NURBS REPREZENTACE KŘIVEK V MAPLE Abstrakt Parametrizace křivek jako NURBS (tj. neuniformní racionální B-spliny) patří k moderním postupům
VíceFunkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr
Funkce pokročilé možnosti Úvod do programování 2 Tomáš Kühr Funkce co už víme u Nebo alespoň máme vědět... J u Co je to funkce? u Co jsou to parametry funkce? u Co je to deklarace a definice funkce? K
VíceText úlohy. Kolik je automaticky generovaných barev ve standardní paletě 3-3-2?
Úloha 1 Kolik je automaticky generovaných barev ve standardní paletě 3-3-2? a. 256 b. 128 c. 216 d. cca 16,7 milionu Úloha 2 Jaká je výhoda adaptivní palety oproti standardní? a. Menší velikost adaptivní
VíceZákladní vlastnosti ploch
plocha zpravidla se definuje jako výsledek spojitého pohybu jisté tvořící křivky podél zadané trajektorie lze obohatit o možnost spojitých změn tvaru tvořící křivky x v průběhu pohybu podél trajektorie
VíceCircular Harmonics. Tomáš Zámečník
Circular Harmonics Tomáš Zámečník Úvod Circular Harmonics Reprezentace křivky, která je: podmonožinou RxR uzavřená funkcí úhlu na intervalu Dále budeme hovořit pouze o takovýchto křivkách/funkcích
VíceProgramování v C++ 1, 14. cvičení
Programování v C++ 1, 14. cvičení výpustka, přetěžování funkcí, šablony funkcí 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 funkcí
VíceRekurzivní algoritmy
Rekurzivní algoritmy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA) ZS
VíceCvičení z programování v C++ ZS 2016/2017 Přemysl Čech
Cvičení z programování v C++ ZS 2016/2017 Přemysl Čech cíl: vytvořit třídu inf_system pro ukládání informací o studentech a zaměstnancích působících na fakultě příklad použití: int main() { inf_system
VíceJazyk C++ II. Šablony a implementace
Jazyk C++ II Šablony a implementace AR 2013/2014 Jazyk C++ II Úvod Dědičnost a kompozice nejsou vždy tou správnou odpovědí na požadavky znovupoužitelnosti kódu. Proto máme možnost definování určité třídy
VíceText úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.
Úloha 1 Která barva nepatří do základních barev prostoru RGB? a. Černá b. Červená c. Modrá d. Zelená Úloha 2 V rovině je dán NEKONVEXNÍ n-úhelník a bod A. Pokud paprsek (polopřímka) vedený z tohoto bodu
VíceProgramování v C++ 2, 7. cvičení
Programování v C++ 2, 7. cvičení spojový seznam 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí minule procvičené látky Dědění
VíceMělká a hluboká kopie
Karel Müller, Josef Vogel (ČVUT FIT) Mělká a hluboká kopie BI-PA2, 2011, Přednáška 5 1/28 Mělká a hluboká kopie Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky, Fakulta
VíceStromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy
Stromy úvod Stromy Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Neorientovaný strom Orientovaný strom Kořenový orientovaný
VíceZákladní vlastnosti křivek
křivka množina bodů v rovině nebo v prostoru lze chápat jako trajektorii pohybu v rovině či v prostoru nalezneme je také jako množiny bodů na ploše křivky jako řezy plochy rovinou, křivky jako průniky
Více5. Plochy v počítačové grafice. (Bézier, Coons)
5. PLOCHY V POČÍAČOVÉ GRAFICE Cíl Po prostudování této kapitoly budete umět popsat plochy používané v počítačové grafice řešit příklady z praxe, kdy jsou použity plochy Výklad Interpolační plochy - plochy,
VíceÚvod do programování - Java. Cvičení č.4
Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení
VíceJazyk C++ I. Šablony
Jazyk C++ I Šablony AR 2013/2014 Jazyk C++ I Úvod Zatím známe programovací styly: Strukturované programování, Objektově orientované programovaní. AR 2013/2014 Jazyk C++ I 2 Příklady void Print(const int&
VíceZáklady programování (IZP)
Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden
VíceOdvozené a strukturované typy dat
Odvozené a strukturované typy dat Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 14. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Odvozené a strukturované typy dat 14. listopadu
VíceInterpolace, ortogonální polynomy, Gaussova kvadratura
Interpolace, ortogonální polynomy, Gaussova kvadratura Petr Tichý 20. listopadu 2013 1 Úloha Lagrangeovy interpolace Dán omezený uzavřený interval [a, b] a v něm n + 1 různých bodů x 0, x 1,..., x n. Nechť
VíceStruktura programu v době běhu
Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů
VícePARAMETRICKÉ MODELOVÁNÍ V ARCHITEKTUŘE
Žilinská univerzita v Žiline Stavebná fakulta Študentská vedecká odborná činnosť Akademický rok 2006-2007 PARAMETRICKÉ MODELOVÁNÍ V ARCHITEKTUŘE Meno a priezvisko študenta : Martin Matúšů Ročník a odbor
VíceJazyk C++ I. Šablony 2
Jazyk C++ I Šablony 2 AR 2013/2014 Jazyk C++ I Třídy template class TVektor { T *a; int n; static int PocInstanci; public: TVektor(int _n = 0) : n(_n) { a = new T[n]; PocInstanci++; } ~TVektor()
VíceUniverzita Karlova v Praze Matematicko-fyzikální fakulta
Univerzita Karlova v Praze Matematicko-fyzikální fakulta SEMINÁRNÍ PRÁCE PRO SOUTĚŽ SVOČ Eliška Chudáčková Modelování křivek na počítači Katedra didaktiky matematiky Vedoucí seminární práce: Studijní program:
VíceNumerické algoritmy KAPITOLA 11. Vyhledávání nulových bodů funkcí
Numerické algoritmy KAPITOLA 11 V této kapitole: Vyhledávání nulových bodů funkcí Iterativní výpočet hodnot funkce Interpolace funkcí Lagrangeovou metodou Derivování funkcí Integrování funkcí Simpsonovou
VíceZákladní datové struktury
Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013
VícePB161 Programování v jazyce C++ Přednáška 9
PB161 Programování v jazyce C++ Přednáška 9 Právo friend Přetěžování operátorů Nikola Beneš 16. listopadu 2015 PB161 přednáška 9: friend, přetěžování operátorů 16. listopadu 2015 1 / 30 Reklama PB173 Tematicky
VíceGrafická data jsou u 2D vektorové grafiky uložena ve voxelech NEPRAVDA Grafická data jsou u rastrové grafiky uložena v pixelech PRAVDA Grafická data
Grafická data jsou u 2D vektorové grafiky uložena ve voxelech Grafická data jsou u rastrové grafiky uložena v pixelech Grafická data jsou u vektorové grafiky uložena v pixelech Na rozdíl od rastrové grafiky
VíceBakalářská práce. Použití L-systémů pro křivky počítané rekurzivním dělením
Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Bakalářská práce Použití L-systémů pro křivky počítané rekurzivním dělením Plzeň 2008 Michal Campr Prohlašuji,
VíceRozsáhlé programy = projekty
Rozsáhlé programy = projekty Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 28. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Rozsáhlé programy = projekty 28. listopadu 2011 1
VícePB161 Programování v jazyce C++ Přednáška 10
PB161 Programování v jazyce C++ Přednáška 10 Šablony Nikola Beneš 27. listopadu 2017 PB161 přednáška 10: šablony 27. listopadu 2017 1 / 33 Šablony PB161 přednáška 10: šablony 27. listopadu 2017 2 / 33
VícePB přednáška (23. listopadu 2015)
PB161 10. přednáška (23. listopadu 2015) Šablony Motivace snaha o co nejmenší duplikaci kódu co když máme kód, který chceme použít pro různé typy? generická funkce (maximum, minimum, swap, ) kontejnery
VícePolynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení
Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení Polynom nad R = zobrazení f : R R f(x) = a n x n + a n 1 x n 1 +... + a 1 x + a 0, kde a i R jsou pevně daná
VíceKonstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
VícePole a kolekce. v C#, Javě a C++
Pole a kolekce v C#, Javě a C++ C# Deklarace pole typ_prvku_pole[] jmeno_pole; Vytvoření pole jmeno_pole = new typ_prvku_pole[pocet_prvku_pole]; Inicializace pole double[] poled = 4.8, 8.2, 7.3, 8.0; Java
VíceProgramování v C++, 2. cvičení
Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule
VíceZáklady programování (IZP)
Základy programování (IZP) Osmé počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 20.11.2017,
VíceBitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr
Bitové operátory a bitová pole Úvod do programování 2 Tomáš Kühr Bitové operátory Provádějí danou operaci s jednotlivými bity svých operandů Operandy bitových operátorů mohou být pouze celočíselné Vyhodnocení
VíceProgramování v C++ 1, 6. cvičení
Programování v C++ 1, 6. cvičení dědičnost, polymorfismus 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené
VíceUkázka možností interpolace dat v softwaru Matlab
Ukázka možností interpolace dat v softwaru Matla Ing. Stanislav Olivík Anotace: V následujícím tetu ude čtenář seznámen s několika základními funkcemi softwaru Matla, pomocí nichž může interpolovat data
VíceDERIVACE. ln 7. Urči, kdy funkce roste a klesá a dále kdy je konkávní a
DERIVACE 1. Zderivuj funkci y = ln 2 (sin x + tg x 2 ) 2. Zderivuj funkci y = 2 e x2 cos x 3. Zderivuj funkci y = 3 e sin2 (x 2 ) 4. Zderivuj funkci y = x3 +2x 2 +sin x x 5. Zderivuj funkci y = cos2 x
VíceVector datový kontejner v C++.
Vector datový kontejner v C++. Jedná se o datový kontejner z knihovny STL jazyka C++. Vektor je šablona jednorozměrného pole. Na rozdíl od "klasického" pole má vector, mnoho užitečných vlastností a služeb.
VíceProgramování v jazyce C a C++
Programování v jazyce C a C++ Příklad na tvorbu třídy Richter 1 4. prosince 2017 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno Dvourozměrné pole pomocí tříd Zadání Navrhněte a napište třídu pro realizace
VícePříklady otázek PB009/jaro 2015
Příklady otázek PB009/jaro 2015 Upozornění: Otázky mohou být formulovány jinými slovy, požadovat vysvětlení problému obrázkem, nebo naopak komentování daného obrázku. Nelze spoléhat na prosté opsání odpovědí
VícePROGRAMOVÁNÍ V C++ CVIČENÍ. Michal Brabec
PROGRAMOVÁNÍ V C++ CVIČENÍ Michal Brabec ARCHITECTURE Input 2 / 15 TASK Vytvořte základní data pro filesystem (zatím v main) Jednu autorizační autoritu Jeden registr souborů Cyklus který zpracovává vstup
VíceProgramování v C++ 3, 3. cvičení
Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového
Více4. Rekurze. BI-EP1 Efektivní programování Martin Kačer
4. Rekurze BI-EP1 Efektivní programování 1 ZS 2011/2012 Ing. Martin Kačer, Ph.D. 2010-11 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
VíceINTERPOLAČNÍ POLYNOM. F (x)... hledaná funkce (polynom nebo funkce vytvořená z polynomů), pro kterou platí
8 Řešení Lagrangeovy a Hermiteovy úlohy interpolace Kateřina Konečná/1 INTERPOLAČNÍ POLYNOM aproximace zadaných hodnot nebo hledané funkce f funkcí F (x) (polynomem) F musí být k f co nejblíže značení:
VíceAlgoritmizace a programování
Algoritmizace a programování Strukturované proměnné Struktura, union Jazyk C České vysoké učení technické Fakulta elektrotechnická A8B14ADP Jazyk C - Strukturované proměnné Ver.1.10 J. Zděnek 20151 Struktura
VíceC. 3. Vytvoření metodiky práce s implementovaným IS včetně jeho naplnění daty relevantních procesů a způsobů jejich vyhodnocování
Název příjemce podpory: MĚSTO VESELÍ NAD MORAVOU tř. Masarykova 119 698 13 Veselí nad Moravou IMPLEMENTACE PROCESNÍHO ŘÍZENÍ V OBLASTI SAMOSTATNÉ PŮSOBNOSTI MĚSTA VESELÍ NAD MORAVOU C. 3. Vytvoření metodiky
VícePokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++
Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Globální konstantní proměnné Konstantní proměnné specifikujeme s klíčovým slovem const, tyto konstantní proměné
VíceTeorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy
Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:
VíceZPRO v "C" Ing. Vít Hanousek. verze 0.3
verze 0.3 Hello World Nejjednoduší program ukazující vypsání textu. #include using namespace std; int main(void) { cout
VíceJazyk C++ I. Šablony 3
Jazyk C++ I Šablony 3 AR 2013/2014 Jazyk C++ I Třídy template class TVektor { T *a; int n; static int PocInstanci; public: TVektor(int _n = 0) : n(_n) { a = new T[n]; PocInstanci++; } ~TVektor()
Víceint ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N
Struktura (union) - struktura a union jsou složené typy, které "v sobě" mohou obsahovat více proměnných - struktura obsahuje v každém okamžiku všechny své proměnné, union obsahuje (=je "aktivní") pouze
VíceHornerovo schéma. je algoritmus výpočtu hodnoty polynomu P(x) v bodě x 0. eliminuje výpočet i-té mocniny převodem na postupné násobení.
Hornerovo schéma je algoritmus výpočtu hodnoty polynomu P(x) v bodě x 0 n + n 1 + L + + n n 1 1 P( x) = a x a x a x a eliminuje výpočet i-té mocniny převodem na postupné násobení 0 Vstup: Algoritmus výpočtu
VíceInterpolace Uvažujme třídu funkcí jedné proměnné ψ(x; a 0,..., a n ), kde a 0,..., a n jsou parametry, které popisují jednotlivé funkce této třídy. Mějme dány body x 0, x 1,..., x n, x i x k, i, k = 0,
VíceOffsety KMA/ITG Informační technologie ve vyučování geometrie Offsety ITG 1 / 33
Offsety KMA/ITG Informační technologie ve vyučování geometrie Offsety ITG 1 / 33 Motivace Motivace 3-osé obrábění motivaci k zavedení offsetů je možné hledat v obrábění. 3-osé obrábění je obrábění frézou,
VíceDSA, První krok: máme dokázat, že pro left = right vrátí volání f(array, elem, left, right)
Indukcí dokažte následující výrok: pokud lef t a right jsou parametry funkce f a platí left right, pak volání f(array, left, right) vrátí minimální hodnotu z hodnot všech prvků v poli array na indexech
VíceVíce o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
VícePolymorfismus. Časová náročnost lekce: 3 hodiny Datum ukončení a splnění lekce: 30.března
Polymorfismus Cíle lekce Cílem lekce je vysvětlit význam pojmu polymorfismus jako základní vlastnosti objektově orientovaného programování. Lekce objasňuje vztah časné a pozdní vazby a jejich využití.
VíceRekonstrukce ploch: Polygonální a analytická reprezentace Vybrané metody aproximace ploch
Rekonstrukce ploch: Polygonální a analytická reprezentace Vybrané metody aproximace ploch Petra Surynková Matematicko-fyzikální fakulta Univerzita Karlova v Praze petra.surynkova@mff.cuni.cz Přehled (1)
VícePB161 Programování v jazyce C++ Přednáška 4
PB161 Programování v jazyce C++ Přednáška 4 Přetěžování funkcí Konstruktory a destruktory Nikola Beneš 9. října 2017 PB161 přednáška 4: přetěžování funkcí, konstruktory, destruktory 9. října 2017 1 / 20
VíceAproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.
Aproximace funkcí Aproximace je výpočet funkčních hodnot funkce z nějaké třídy funkcí, která je v určitém smyslu nejbližší funkci nebo datům, která chceme aproximovat. Třída funkcí, ze které volíme aproximace
VíceIAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);
Pole (array) Motivace Častá úloha práce s větším množstvím dat stejného typu o Př.: průměrná teplota za týden a odchylka od průměru v jednotlivých dnech Console.Write("Zadej T pro.den: "); double t = Double.Parse(Console.ReadLine());
VíceDědičnost. Časová náročnost lekce: 3 hodiny Datum ukončení a splnění lekce: 23.března
Dědičnost Cíle lekce Cílem lekce je naučit se pracovat a využívat dědičnosti při návrhu a tvorbě programů. Lekce je zaměřena hlavně na jednoduchou dědičnost. Bude rovněž vysvětlen rozdíl mezi dědičností
VíceJazyk C++, některá rozšíření oproti C
Karel Müller, Josef Vogel (ČVUT FIT) Jazyk C++, některá rozšíření oproti C BI-PA2, 2011, Přednáška 1 1/22 Jazyk C++, některá rozšíření oproti C Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra
VíceŠablony, kontejnery a iterátory
7. října 2010, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 21 Šablona funkce/metody Šablona je obecný popis (třídy, funkce) bez toho, že by
VíceOperační systémy. Cvičení 4: Programování v C pod Unixem
Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné
VícePROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I
PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Programová realizace DKA typedef enum {q0, q1,... qn,
VíceGenerické programování
Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =
VíceINTERPOLAČNÍ POLYNOM.... hledaná funkce (polynom nebo funkce vytvořená z polynomů), pro kterou platí
8 Řešení Lagrangeovy a Hermiteovy úlohy interpolace 1 INTERPOLAČNÍ POLYNOM aproximace zadaných hodnot nebo hledané funkce f funkcí F (x) (polynomem) F musí být k f co nejblíže značení: P (n) množina všech
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceSpojová implementace lineárních datových struktur
Spojová implementace lineárních datových struktur doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB
Více