Entity-Component-Systeme als Basis für 3D-Simulation

Bachelor- oder Masterarbeit:  Entity-Component-Systeme als Basis für 3D-Simulation

In großen Softwareframeworks kommt es häufig zu immer komplexer werdenden Klassenhierarchien. Dies kann dazu führen, dass die Flexibilität, die Software an neue Anforderungen anpassen zu können, mit der Zeit abnimmt. Diesem Problem kann mit Hilfe  der Architektur sogenannter „Entity-Component-Systeme“ (ECS) begegnet werden, welche besonders in der Computerspieleindustrie gerne angewendet werden [1]. Dabei wird beim Design auf das zentrale Prinzip „favor composition over inheritance“ gesetzt, d.h. Kopplung soll möglichst durch Komposition an Stelle von Vererbung umgesetzt werden. In der ECS-Architektur erhalten grundlegende Entity-Basisklassen durch verschiedene Komponenten ihr Verhalten.

 

Entity-Component-System in Qt3D [2].

Entity-Component-System in Qt3D [2].

 

Im weit verbreiteten C++-Programmierframework Qt gibt es innerhalb des Qt3D-Moduls eine Basisstruktur für eigene ECS [2], die näher untersucht werden soll. Auch die flexible Render-Engine von Qt3D soll in die Arbeit einbezogen werden. Welche Vor- und Nachteile ergeben sich aus dem ECS-Ansatz im Vergleich zu klassischen Szenegraphen? Sind die Ansätze kombinierbar?

Im Rahmen der Arbeit soll der Prototyp eines ECS entwickelt werden und an das 3D-Simulationssystem VEROSIM angebunden werden. An exemplarischen Simulationsmodellen (z.B. Fahrzeugmodell, Roboterzelle, Satelliten-Anflug) soll untersucht werden, wie sich bestehende Datenstrukturen in ECS überführen lassen. Können bestehende Simulationsmodelle bzw. Szenegraphen mit Hilfe des Qt3D-Renderers dargestellt werden? Weitere Informationen zu Qt3D und ECS in der Praxis finden sich z.B. in [3].

Stichworte: Entity-Component-Systeme, Softwarearchitektur, Szenegraphen, Render-Engines, C++, Qt, Qt3D

[1] heise Developer: Component-Based Entity Systems in Spielen,  http://www.heise.de/developer/artikel/Component-Based-Entity-Systems-in-Spielen-2262126.html
[2] Qt 5.6: Qt3D Overview: http://doc.qt.io/qt-5/qt3d-overview.html
[3] Kévin Ottens – Advances in Qt 3D: https://ervin.ipsquad.net/slides/talks/ak2017-qt3d-advances/ak2017-qt3d-advances.pdf

Betreuer: Dipl.-Phys. Linus Atorf, Mail: , Tel.: 0241 80-26106

Weitere Arbeiten

Grafik2

Analyse der Schnittstellen zur Integration agentenbasierter Simulation in traditionelle Methoden der Montageplanung

Klein- und mittelständische Unternehmen im produzierenden Gewerbe sind zumeist auf...
Grafik1

Evaluation der Modellierung und Anwendung agentenbasierter Simulation in der Montage

Klein- und mittelständische Unternehmen im produzierenden Gewerbe sind zumeist auf...
v2i

Integrating Network Simulation into a Multi-Domain Simulation Framework

Bachelor-/Masterarbeit: Integrating Network Simulation in a Multi-Domain Simulation Framework The...
v2i

Integration of Wireless Communication Simulation into a 3D Simulation Framework

Master Thesis: Integration of Wireless Communication Simulation in a 3D...
iSAT1_Specification1b

Automatisierte Generierung von Simulationsszenarien auf Basis formaler Modellspezifikationen

Vergleich und Bewertung von Qualitätskennzahlen aus verschiedenen Anwendungsbereichen
ifc2

Methoden zur automatisierten Verifikation und Validierung numerischer Simulationsmodelle

Methoden zur automatisierten Verifikation und Validierung numerischer Simulationsmodelle
ifc2

Vergleich und Bewertung von Qualitätskennzahlen aus verschiedenen Anwendungsbereichen

Vergleich und Bewertung von Qualitätskennzahlen aus verschiedenen Anwendungsbereichen
ifc2

Synchronisation von parallel simulierten Experimentierbaren Digitalen Zwillingen in Virtuellen Testbeds

Entwicklung eines räumlichen Partitionierungsschemas zur parallelen Simulation.
robotsOnTable

Evaluation von diskriminativen und generativen Modellen zur Bewegungsgenerierung in der kooperativen Manipulation

Die kooperative Manipulation verfolgt das Ziel, Robotersysteme dazu zu befähigen...
900px-Astronaut-EVA

Entwicklung eines aktiven Lageregelungssystems für einen 3U CubeSat mit Reaktionsrädern und Magnettorquern

Der finanzielle und technische Aufwand einer kommerziellen oder wissenschaftlichen Raumfahrtmission...
UnfelledTrees_2

Platzierung von Haltepunkten in einem Wegenetz

Automatisch generierte Wegenetze spielen eine wichtige Rolle bei der Simulation...
Schnittvolumen_2

Berechnung und Auflösung von Kontakten zwischen beliebigen Polyedern

Moderne "Game Engines" haben hinsichtlich der eingesetzten Methoden sowie der...
hololens

Simulationsgestützte AR-Applikationen mit der Microsoft HoloLens

Moderne "Game Engines" haben hinsichtlich der eingesetzten Methoden sowie der...

Entwurf und Realisierung eines Datenmanagement Systems für eine spezialgefertigte Anwendung eines bestehenden Simulationssystems.

Entwurf und Realisierung eines Datenmanagement Systems für eine spezialgefertigte Anwendung...
incidentRadiantPowerThumbnail

Simulations-basierte Bestimmung der auf erdnahen Satelliten eingehenden Albedo- und Infrarot-Strahlungsleistung

Simulations-basierte Bestimmung der auf erdnahen Satelliten eingehenden Albedo- und Infrarot-Strahlungsleistung.
U-3-4-Holzerntekostenrechnung-640x480

Game Engines in der Simulationstechnik

Moderne "Game Engines" haben hinsichtlich der eingesetzten Methoden sowie der...

Simulation kommunizierender Systeme

Die Nutzung von Simulationen im Engineering beginnt typischerweise mit der...
W-6-3-DesktopVirtuellesTestbed-640x480

3D-Simulationstechnik in Web-Architekturen

Die Nutzung von Simulationen ist aktuell im Wesentlichen Desktop-Applikationen vorbehalten....
ramdb

In-Memory Datenbankmanagementsysteme in der 3D-Simulation

In-Memory Datenbankmanagementsysteme für die verteilte Verwaltung und Bereitstellung von Modellen...
ifc2

STEP (ISO 10303) als Austauschformat für die 3D-Simulation

Für die 3D-Simulation stellt das STEP-Format ein wichtiges Mittel zum...
FESTO

Soft Robotics Simulation

Modellbildung und Simulation weicher Körper innerhalb einer vohandenen Starrkörper-VR-Simulation
BMW1600Gt

Modellbildung: Reifen

Integration eines geeigneten, erweiterbaren Reifenmodells in ein bestehendes Mehrkörpersimulations-Frameworks zur...

Objektrelationales Mapping in der 3D-Simulation

Nutzung von Techniken zur Abbildung von objekt-orientierten Strukturen auf relationale...