05.11.2013 Aufrufe

est Bewegung durch eine 3D-Landschaft mit ... - David Zaadstra

est Bewegung durch eine 3D-Landschaft mit ... - David Zaadstra

est Bewegung durch eine 3D-Landschaft mit ... - David Zaadstra

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Projektarbeit 2002, BKIK 2/1<br />

<strong>David</strong> <strong>Zaadstra</strong>, Alexander Fuchs<br />

<strong>Bewegung</strong> <strong>durch</strong> <strong>eine</strong> <strong>3D</strong>-<strong>Landschaft</strong> <strong>mit</strong> Fernbedienung<br />

Elektronikschule Tettnang<br />

1. Zusammenfassung<br />

1.1 Deutsch<br />

Das Projekt ist in zwei Teilen zu sehen: Der Empfang und die Dekodierung der<br />

Fernbedienungssignale <strong>mit</strong> dem Mikrocontroller und die <strong>3D</strong>-<strong>Landschaft</strong> auf dem PC. Die IR-<br />

Signale der Fernbedienung werden <strong>durch</strong> das IR-Empfängerbauteil SFH5110 erkannt, das<br />

Datensignal vom Trägersignal getrennt und als TTL-Impulsfolge an den Mikrocontroller<br />

80C535 weitergegeben. Dieser misst die Impulslängen des Signals, speichert sie, wandelt sie<br />

in ein internes Format um und vergleicht dieses <strong>mit</strong> <strong>eine</strong>m Datensatz von Signalen, die zuvor<br />

von uns aufgenommen wurden. Wurde das Signal erkannt, wird die Nummer des Signals per<br />

V24 an den COM1-Port des PCs gesendet.<br />

Der Tastencode wird vom Windowsprogramm <strong>mit</strong> den Windows-Communications-<br />

Funktionen empfangen. Den Nummern sind verschiedene Aktionen zugeordnet, z.B. vorwärts<br />

bewegen oder rechts drehen. So kann man sich <strong>durch</strong> die dreidimensionale <strong>Landschaft</strong><br />

bewegen. Diese <strong>Landschaft</strong> wird <strong>durch</strong> <strong>eine</strong> Höhenkarte repräsentiert, die aus <strong>eine</strong>r Bitmap<br />

ausgelesen wird. Diese Höhendaten werden in <strong>3D</strong>-Daten umgewandelt und <strong>mit</strong>tels der<br />

ManiaTech <strong>3D</strong>-Engine 1 darg<strong>est</strong>ellt. Diese Engine basiert auf Direct<strong>3D</strong> und ermöglicht die<br />

Darstellung und Verwaltung der <strong>3D</strong>-Grafik, ohne aber direkte Interaktion <strong>mit</strong> der<br />

darunterliegenden API zu erfordern. Das PC-Programm stellt ausserdem beim Start ein<br />

Optionsmenü zur Verfügung, das <strong>eine</strong> Konfiguration der Grafikeinstellungen erlaubt.<br />

1 Unter <strong>eine</strong>r (<strong>3D</strong>-)Engine versteht man im Allgem<strong>eine</strong>n <strong>eine</strong> Ansammlung von Klassen und/oder Funktionen,<br />

die in <strong>eine</strong>m System <strong>mit</strong>einander interagieren, um b<strong>est</strong>immte Aufgaben (z.B. die Darstellung von <strong>3D</strong>-Grafik) zu<br />

vereinfachen, zu abstrahieren (von darunter liegenden APIs oder dem OS) und zu systematisieren. Der<br />

Unterschied zu <strong>eine</strong>r Library b<strong>est</strong>eht im Wesentlichen darin, dass Interaktion zwischen den Funktionen/Klassen<br />

b<strong>est</strong>eht, sodass das Programm zu <strong>eine</strong>m großen Teil von der Engine angetrieben wird. Bei <strong>eine</strong>r Library dagegen<br />

liegt die Hauptarbeit beim Programm, es wird lediglich Funktionalität aus der Library verwendet.<br />

Es sei darauf hingewiesen, dass es auch andere Interpretationen des Begriffs Engine gibt, von denen sich diese<br />

Definition <strong>durch</strong>aus unterscheiden kann.<br />

- 4 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!