Cílem této bakalářské práce je navrhnout a implementovat modul pro účely vizualizace stavu hry v simulovaném zápase robotického fotbalu. Vizualizační modul využívá technik pro renderování trojrozměrné scény v reálném čase tak, aby zobrazoval stav hry realistickým a divácky atraktivním způsobem. Navíc modul podporuje zobrazení scény pomocí ortogonální projekce do roviny hrací desky, aby bylo možné vyhodnocovat přesnost algoritmů rozpoznávání obrazu. Vizualizační modul byl napsán v jazyce C# a používá knihovnu SlimDX, která zaobaluje funkcionalitu grafického rozhraní Direct3D 9 v prostředí tohoto jazyka. Teoretická část této práce se zaměřuje zejména na popis vnitřní architektury Direct3D a na matematickou podstatu 3D grafiky. Je zde také popsáno komunikační rozhraní mezi vizualizačním modulem a řídicím jádrem systému robotického fotbalu. Druhá část této práce popisuje konkétní návrh a implementaci vizualizačního modulu. Navíc je zde uveden způsob, jakým lze vytvořit modul pro simulovanou kameru na základě tříd vizualizačního modulu.
Anotace v angličtině
The goal of this bachelor thesis is to design and implement a module for visualisation of game state in a simulated robotic football match. Visualisation module uses techniques for real-time rendering of a 3D scene in order to represent the virtual game in a realistic and visually attractive way. In addition, the module implements orthographic projection of the scene in order to simulate an output of a real camera which can be later used for evaluation of image recognition module accuracy. The module was written in programming language C# and used SlimDX library as a wrapper for Direct3D 9 API. The theoretical part of this thesis focuses mainly on the structure of Direct3D rendering pipeline and mathematical background of 3D graphics. There is also described communication interface between visualisation module and the core of robotic football system. The second part of this thesis focuses on the design and implementation of the visualisation module. In addition, there is a section describing how to create another module for simulated camera based on visualisation module.
Klíčová slova
robotický fotbal, 3D grafika, vizualizace, ortogonální projekce, renderování v reálném čase, Direct3D, SlimDX
Cílem této bakalářské práce je navrhnout a implementovat modul pro účely vizualizace stavu hry v simulovaném zápase robotického fotbalu. Vizualizační modul využívá technik pro renderování trojrozměrné scény v reálném čase tak, aby zobrazoval stav hry realistickým a divácky atraktivním způsobem. Navíc modul podporuje zobrazení scény pomocí ortogonální projekce do roviny hrací desky, aby bylo možné vyhodnocovat přesnost algoritmů rozpoznávání obrazu. Vizualizační modul byl napsán v jazyce C# a používá knihovnu SlimDX, která zaobaluje funkcionalitu grafického rozhraní Direct3D 9 v prostředí tohoto jazyka. Teoretická část této práce se zaměřuje zejména na popis vnitřní architektury Direct3D a na matematickou podstatu 3D grafiky. Je zde také popsáno komunikační rozhraní mezi vizualizačním modulem a řídicím jádrem systému robotického fotbalu. Druhá část této práce popisuje konkétní návrh a implementaci vizualizačního modulu. Navíc je zde uveden způsob, jakým lze vytvořit modul pro simulovanou kameru na základě tříd vizualizačního modulu.
Anotace v angličtině
The goal of this bachelor thesis is to design and implement a module for visualisation of game state in a simulated robotic football match. Visualisation module uses techniques for real-time rendering of a 3D scene in order to represent the virtual game in a realistic and visually attractive way. In addition, the module implements orthographic projection of the scene in order to simulate an output of a real camera which can be later used for evaluation of image recognition module accuracy. The module was written in programming language C# and used SlimDX library as a wrapper for Direct3D 9 API. The theoretical part of this thesis focuses mainly on the structure of Direct3D rendering pipeline and mathematical background of 3D graphics. There is also described communication interface between visualisation module and the core of robotic football system. The second part of this thesis focuses on the design and implementation of the visualisation module. In addition, there is a section describing how to create another module for simulated camera based on visualisation module.
Klíčová slova
robotický fotbal, 3D grafika, vizualizace, ortogonální projekce, renderování v reálném čase, Direct3D, SlimDX
Cílem práce je vytvořit grafický subsystém řídicího software robotického fotbalu, který bude přehledně a realisticky zobrazovat herní situaci virtuální hry nebo interpretované stavové situace reálné hry. Vizualizační modul bude také umožňovat zobrazení ortogonální projekce interpretované hry do roviny hrací desky, aby bylo možné vyhodnocovat přesnost modulu počítačového vidění.
Seznamte se s problematikou vizualizace stavového prostoru hry, zejména s přihlédnutím k potřebám 3D zobrazení herní scény robotického fotbalu. Prostudujte materiály, týkající se dané problematiky, a existující volně dostupná řešení.
Navrhněte a implementujte vizualizační modul, který bude přehlednou formou prezenovat data dodávaná řídicím (příp. i jinými) modulem robotického fotbalu. Namodelujte 3D komponenty vizualizované scény, zejména s ohledem na její snadnou čitelnost a přehlednost.
Zajistěte transparentní komunikaci Vašeho modulu s ostatními moduly řídicího systému.
Opatřete modul podrobnou dokumentací, pečlivě popište proces implementace a zakomponování modulu do řídicího systému robotického fotbalu. Kriticky zhodnoťte dosažené výsledky.
Zásady pro vypracování
Cílem práce je vytvořit grafický subsystém řídicího software robotického fotbalu, který bude přehledně a realisticky zobrazovat herní situaci virtuální hry nebo interpretované stavové situace reálné hry. Vizualizační modul bude také umožňovat zobrazení ortogonální projekce interpretované hry do roviny hrací desky, aby bylo možné vyhodnocovat přesnost modulu počítačového vidění.
Seznamte se s problematikou vizualizace stavového prostoru hry, zejména s přihlédnutím k potřebám 3D zobrazení herní scény robotického fotbalu. Prostudujte materiály, týkající se dané problematiky, a existující volně dostupná řešení.
Navrhněte a implementujte vizualizační modul, který bude přehlednou formou prezenovat data dodávaná řídicím (příp. i jinými) modulem robotického fotbalu. Namodelujte 3D komponenty vizualizované scény, zejména s ohledem na její snadnou čitelnost a přehlednost.
Zajistěte transparentní komunikaci Vašeho modulu s ostatními moduly řídicího systému.
Opatřete modul podrobnou dokumentací, pečlivě popište proces implementace a zakomponování modulu do řídicího systému robotického fotbalu. Kriticky zhodnoťte dosažené výsledky.