Pr - PowerPoint PPT Presentation

About This Presentation
Title:

Pr

Description:

Fachhochschule Amberg-Weiden Fachbereich Elektro- und Informationstechnik Pr sentation der Diplomarbeit: Erstellung eines 3D-Funktions- zeichenprogramms in der ... – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 23
Provided by: Stefan268
Category:
Tags: rotation

less

Transcript and Presenter's Notes

Title: Pr


1
Präsentation der Diplomarbeit
Fachhochschule Amberg-WeidenFachbereich Elektro-
und Informationstechnik
  • Erstellung eines 3D-Funktions- zeichenprogramms
    in der Programmiersprache C unter Verwendung
    von Direct3D

von Stefan Bartmann Studiengang Elektrotechnik,
Studienschwerpunkt Multimediatechnik
Datum 27. 01.2003
2
Vortragsinhalt
  • Klärung der Aufgabenstellung
  • Funktionsweise von Direct3D
  • Bestandteile des Funktionszeichenprogrammes
  • Demonstration des Funktionszeichenprogrammes
  • Zusammenfassung

3
Klärung der Aufgabenstellung
  1. Welche Art von Funktionszeichenprogramm ist zu
    erstellen?
  2. Wieso eignet sich Direct3D für die Umsetzung
    eines 3D-Funktionszeichenprogramms?
  3. Warum soll die Programmiersprache C verwendet
    werden?

4
Welche Art von Funktionszeichenprogramm ist zu
erstellen?
  • Funktionen der Form z f(x,y) als Fläche im
    Raum darstellen
  • Angabe eines Zeitparameters in der
    Funktionsgleichung möglich
  • Interaktivität in Echtzeit während der
    Darstellung möglich
  • Skalierbarkeit
  • gtMotivation Erfahren von Funktionen soll
    interaktiv möglich sein, um ein Verständnis für
    die Funktionsgleichung zu entwickeln

5
Wieso eignet sich Direct3D für die Umsetzung
eines 3D-Funktionszeichenprogramms?
  • DirectX kapselt den direkten Zugriff auf
    Computerhardware
  • Direct3D ist Teil von DirectX und bietet
    Schnittstellen für die Ausgabe von 3D-Grafik an
  • flexibel zu handhaben
  • Ausnutzung der Rechenkapazität von
    Grafikbeschleunigungskarten
  • gt Ausführungsgeschwindigkeit
  • Voraussetzung Es muss eine Grafikkarte vorhanden
    sein, welche Hardwareunterstützung beim Zeichnen
    bietet!

6
Warum soll die Programmiersprache C verwendet
werden?
  • schnell
  • flexibel

7
Vortragsinhalt
  • Klärung der Aufgabenstellung
  • Funktionsweise von Direct3D
  • Bestandteile des Funktionszeichenprogrammes
  • Demonstration des Funktionszeichenprogrammes
  • Zusammenfassung

8
Funktionsweise von Direct3D
  • Auf folgende Aspekte soll im Anschluss
    eingegangen werden
  • Im Gesamtzusammenhang auftretende Vorgänge beim
    Zeichnen mit Direct3D
  • Zusammenspiel von Direct3D mit einem
    Win32-Programm
  • Die Organisation der zu zeichnenden Daten
  • Umrechnung des 3D-Modelles in 2D-Bildschirmkoordin
    aten

9
Im Gesamtzusammenhang auftretende Vorgänge beim
Zeichnen mit Direct3D
  • Hardware Abstractive Layer

10
Zusammenspiel von Direct3D mit einem
Win32-Programm
  • Verständigung zwischen einer Win32-Anwendung und
    DirectX wird über die COM-Schnittstelle
    abgewickelt
  • Schritte, welche in einem Win32-Programm
    durchgeführt werden müssen, um mittels Direct3D
    zu zeichnen
  • Erzeugen eines Fensters für die Ausgabe
  • Direct3D mitteilen, welches Fenster für die
    Ausgabe verwendet werden soll
  • Auswählen eines Adapters, über welchen die
    Grafikausgabe stattfinden soll
  • Direct3D mitteilen, welcher Adapter für die
    Grafikausgabe gewählt wurde
  • Zeichenbefehle an Direct3D übermitteln

11
Die Organisation der zu zeichnenden Daten
  • Direct3D mittels des FVF (Flexible Vertex Format)
    mitteilen, welche Komponenten die zu zeichnenden
    Vertices enthalten sollen
  • Beispielsweise
  • Position
  • Normalenvektor
  • Farbkomponenten
  • Erzeugen von Vertexpuffern für die Ablage der
    Vertices

12
Die Organisation der zu zeichnenden Daten
  • Beispiel Jeweils drei im Vertexpuffer abgelegte
    Vertices werden für das Zeichnen eines Dreieckes
    herangezogen

13
Umrechnung des 3D-Modelles in 2D-Bildschirmkoordin
aten
  • Vertices liegen als dreidimensionale Punkte im
    Vertexpuffer vor, die Ausgabeoberfläche ist aber
    zweidimensional
  • Die Betrachtungsrichtung und die Position der
    Kamera sollen beliebig sein
  • gtes sind Transformationen erforderlich, welche
    durch Matrizen repräsentiert werden
  • Matrix für Kameratransformation enthält
    Translation und Rotation
  • Matrix für Projektionstransformation, welche
    perspektivische Abbildung von 3D nach 2D leistet
  • Transformierungen werden von D3D berechnet, wenn
    dies die Grafikkarte nicht beherrscht

14
Vortragsinhalt
  • Klärung der Aufgabenstellung
  • Funktionsweise von Direct3D
  • ?Bestandteile des Funktionszeichenprogrammes
  • Demonstration des Funktionszeichenprogrammes
  • Zusammenfassung

15
Bestandteile des Funktionszeichenprogrammes
  • Ablaufstruktur
  • Funktionsparser
  • Textausgabe in das Zeichenfenster
  • Koordinatenkreuz
  • Benutzerinterface beinhaltet Eingaben über
  • Tastatur während der Darstellung der Funktion
  • Menü
  • Dialoge
  • Logik zur Verwaltung und Berechnung der
    Funktionsdaten

16
Ablaufstruktur
17
Funktionsparser
  • Übernommen und Angepasst an eigene Bedürfnisse
  • Wiederholtes Berechnen kann beschleunigt
    ausgeführt werden
  • Unterstützte Operaden
  • - /
  • Unterstützte Funktionen
  • sin asin cos acos tan atan sqrt
    log log10

18
Logik zur Verwaltung und Berechnung der
Funktionsdaten
  • Vertices werden in einem Dreiecksraster
    vorausberechnet

19
...
Logik zur Verwaltung und Berechnung der
Funktionsdaten
  • Zeitparameter
  • Für jeden darzustellenden Zeitpunkt muss die
    Funktion berechnet werden
  • Der Vertexpuffer muss für jeden Zeitpunkt neu
    belegt werden

20
Vortragsinhalt
  • Klärung der Aufgabenstellung
  • Funktionsweise von Direct3D
  • Bestandteile des Funktionszeichenprogrammes
  • ? Demonstration des Funktionszeichenprogrammes
  • Zusammenfassung

21
Vortragsinhalt
  • Klärung der Aufgabenstellung
  • Funktionsweise von Direct3D
  • Bestandteile des Funktionszeichenprogrammes
  • Demonstration des Funktionszeichenprogrammes
  • ? Zusammenfassung

22
Zusammenfassung
  • Nutzen des Funktionsplotters
  • Hilfe fehlt
  • Mögliche Verbesserungen des Funktionszeichenprogra
    mmes
  • Einsatz von Echtzeitbeleuchtungseffekten
  • Einbau einer Kollisionsabfrage
  • Erweiterung der Autopilot-Möglichkeiten
Write a Comment
User Comments (0)
About PowerShow.com