Vysoké Učení Technické V Brně Brno University of Technology
Total Page:16
File Type:pdf, Size:1020Kb
CORE Metadata, citation and similar papers at core.ac.uk Provided by Digital library of 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 MULTIMEDIA VEKTOROVÝ 2D KRESLICÍ PROGRAM BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE MARTIN CHROBOCZEK AUTHOR BRNO 2011 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 MULTIMEDIA VEKTOROVÝ 2D KRESLICÍ PROGRAM VECTOR BASED 2D DRAWING PROGRAM BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE MARTIN CHROBOCZEK AUTHOR VEDOUCÍ PRÁCE Doc. Ing. PŘEMYSL KRŠEK, Ph.D. SUPERVISOR BRNO 2011 Abstrakt Tato práce řeší problematiku vektorové počítačové grafiky a její tvorby. Na začátku je uveden stručný přehled dostupných softwarových nástrojů s příklady oblastí jejich typického použití. Následuje popis vektorových 2D grafických editorů na které se práce primárně zaměřuje. Popsáno je typické uživatelské rozhraní takovýchto programů doplněné popisem základní funkčnosti a vlastností těchto aplikací. Po teoretické části následuje popis návrhu vlastního vektorového 2D kreslícího programu včetně jeho implementace, použitých nástrojů a klíčových technologií. Nakonec je zde obsaženo zhodnocení dosažených výsledků s vyhodnocením směřování projektu do budoucna. Abstract This thesis solves the issue of vector computer graphics and its creation. At the beginning there is a brief overview of available software tools with examples of typical application areas. It is followed by a description of 2D vector graphics editors, which are the primary focus. Described is a typical user interface of such programs, together with a description of the basic features and functionality of these applications. After the theoretical part is followed by the design our own vector based 2D drawing program, including its implementation, the tools and core technologies. Finally, there is included an evaluation of the results, assessing the future directions of the project. Klíčová slova Dvojrozměrná (2D) grafika, trojrozměrná (3D) grafika, rastrová grafika, vektorová grafika, grafické aplikace, vektorové grafické editory, vektorový 2D kreslicí program, kreslicí nástroje, manipulační nástroje, navigační nástroje, kresby, grafické uživatelské rozhraní, Qt framework, mechanismus Signálu & Slotu. Keywords Two-dimensional (2D) graphics, three-dimensional (3D) graphics, raster graphics, vector graphics, graphical applications, vector graphics editors, vector based 2D drawing program, drawing tools, manipulation tools, navigation tools, drawings, a graphical user interface, Qt framework, Signal & Slot mechanism. Citace Martin Chroboczek: Vektorový 2D kreslicí program, bakalářská práce, Brno, FIT VUT v Brně, 2011 Vektorový 2D kreslicí program Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením doc. Ing. Přemysla Krška, Ph.D. Další informace jsem čerpal z níže uvedené literatury a dostupných elektronických zdrojů. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal. …………………… Martin Chroboczek 17. 5. 2011 Poděkování Zde bych chtěl na prvním místě poděkovat svému vedoucímu bakalářské práce, panu doc. Ing. Přemyslu Krškovi, Ph.D. za všechny jeho odborné i pedagogické rady a vedení, které mi dopomohlo k realizaci této práce. Navíc bych zde chtěl ještě vzdáleně poděkovat vývojovému týmu Qt frameworku za to, že vytvořili dle mého názoru výborný technologický produkt na kterém jsem založil implementační část této práce a který svou kvalitou a multiplatformní portabilitou zvyšuje i úroveň samotné vytvořené aplikace. © Martin Chroboczek, 2011 Tato práce vznikla jako školní dílo na Vysokém učení technickém v Brně, Fakultě informačních technologií. Práce je chráněna autorským zákonem a její užití bez udělení oprávnění autorem je nezákonné, s výjimkou zákonem definovaných případů. Obsah Obsah...................................................................................................................................................1 1 Úvod...................................................................................................................................................2 2 Rozbor problematiky..........................................................................................................................3 2.1 Software pro tvorbu počítačové grafiky......................................................................................4 2.1.1 Rastrové grafické editory.....................................................................................................4 2.1.2 Vektorové grafické editory..................................................................................................5 2.1.3 Hybridní grafické editory.....................................................................................................6 2.1.4 Ostatní možnosti a nástroje..................................................................................................6 2.2 Vektorové 2D kreslicí programy.................................................................................................6 2.2.1 Uživatelská rozhraní kreslících programů............................................................................6 2.2.2 Základní funkčnost a vlastnosti kreslicích programů...........................................................9 3 Návrh vlastní aplikace......................................................................................................................17 3.1 Obecný stereotyp uživatelského rozhraní vektorových kreslicích programů.............................17 3.2 Základní funkce a vlastnosti obecného vektorového 2D kreslícího programu...........................19 3.2.1 Základní vektorové entity, kreslicí nástroje a postupy.......................................................19 3.2.2 Manipulační nástroje a možnosti.......................................................................................22 3.2.3 Polohovací a navigační nástroje.........................................................................................23 3.2.4 Doplňkové nástroje a funkce..............................................................................................24 3.2.5 Import a export kreseb.......................................................................................................24 3.3 Praktický cíl projektu................................................................................................................24 3.4 Implementované funkce a vlastnosti.........................................................................................24 3.5 Architektura aplikace................................................................................................................25 3.5.1 Architektura uživatelského rozhraní aplikace....................................................................25 3.5.2 Architektura kreslicího jádra aplikace................................................................................26 3.5.3 Celková struktura navržené aplikace..................................................................................28 4 Implementace vlastního programu...................................................................................................29 4.1 Použité nástroje a techniky........................................................................................................29 4.2 Implementace uživatelského rozhraní.......................................................................................29 4.3 Implementace kreslicího jádra...................................................................................................30 4.4 Komunikace mezi vrstvami aplikace.........................................................................................30 4.4.1 Signály a sloty v aplikaci a jejich struktura........................................................................31 5 Výsledky práce.................................................................................................................................32 5.1 Portabilita aplikace....................................................................................................................32 5.2 Snímky obrazovek aplikace......................................................................................................32 5.3 Podporované funkce a vlastnosti...............................................................................................34 5.3.1 Kreslicí nástroje.................................................................................................................34 5.3.2 Parametry grafických entit.................................................................................................35 5.3.3 Manipulační nástroje a možnosti.......................................................................................35 5.3.4 Polohovací nástroje a možnosti..........................................................................................36 5.3.5 Ukládání kreseb, import a export.......................................................................................36 5.4 Příklad komplexnější kresby.....................................................................................................36 6 Závěr................................................................................................................................................37