Skip to main content
main-content

Über dieses Buch

Dieses Buch ist sowohl eine systematische Einführung in das 3D-Grafiksystem HOOPS (Hierarchical Object-Oriented Picture System) als auch ein ausführliches Handbuch für dessen Programmierung. Es wird vorausgesetzt, daß der Benutzer die Grundbegriffe der Computergrafik beherrscht. Der Neuling, der Hoops kennen- und nutzen lernen möchte, kann das Buch als Lehrbuch verwenden. Jedes Kapitel behandelt einen abgeschlossenen Aspekt von Hoops. Dabei werden die jeweils relevanten Prozeduren zusammengefaßt und kurz erläutert. Anschauliche Beispiele erleichtern das Verständnis. Der schon mit Hoops vertraute Leser kann das Buch als Nachschlagewerk für die Programmierung benutzen. Eine ausführliche Prozedur-Referenz rundet das Buch ab. Mit zahlreichen Programmierbeispielen in C.

Inhaltsverzeichnis

Frontmatter

1. Einführung

Zusammenfassung
Dieses Buch stellt eine Einführung in die Programmierung von Graphikanwen-dungen mit HOOPS 3.30 dar. HOOPS steht für Hierachical Object Oriented Picture System. Ähnlich wie GKS und PfflGS ist auch HOOPS der Versuch einer Standardisierung der graphischen Programmierung. Es wurde entwickelt, um auf verschiedenen Rechnern, unter verschiedenen Betriebssystemen und in verschiedenen Sprachen eingesetzt werden zu können. So lassen sich Graphik-Programme, die auf der Grundlage von HOOPS erstellt wurden, relativ leicht auf andere (Rechner-) Systeme übertragen (Abb. 1.1) - abgesehen von der Portabilität derjenigen Sprache, in der die HOOPS-Routinen eingebettet sind.
Ljubomir Christov, Markus Gorzelanczyk

2. Grundsätzliches zu HOOPS-Prozeduren

Zusammenfassung
Dieses Kapitel enthält einige grundsätzliche Anmerkungen zum formalen Aufbau der Prozeduren in HOOPS. Details zu jeder einzelnen Prozedur sind in der Prozedur-Referenz zu finden.
Ljubomir Christov, Markus Gorzelanczyk

3. Segmente: Organisation der graphischen Daten

Zusammenfassung
Jedes graphische Objekt bzw. jede Szene in HOOPS wird aus grundlegenden Darstellungselementen (Kap. 5) aufgebaut. Setzt man einen Kreis, drei Ellipsen, einen Ellipsenbogen und zwei Marker auf geeignete Weise zusammen, so entsteht ein Kopf. Fügt man ein zwölfeckiges Polygon und vier Ellipsen hinzu, so entsteht eine Figur - wir wollen sie Hoopsy nennen (Abb. 3.1), die wiederum Bestandteil einer ganzen Szene sein kann.
Ljubomir Christov, Markus Gorzelanczyk

4. Windows: Ordnung auf dem Bildschirm

Zusammenfassung
Ein Window ist nichts anderes als ein (Bildschirm-) Fenster. Es wird hier jedoch weiterhin das englische Wort Window verwendet, da es für fast jeden, der sich mit Computern beschäftigt, zu einem feststehenden Begriff geworden ist.
Ljubomir Christov, Markus Gorzelanczyk

5. Geometrie: Darstellungselemente

Zusammenfassung
Alle graphischen Szenen werden in HOOPS aus einer endlichen Menge von folgenden Darstellungselementen aufgebaut, die auch Grundelemente {primitives} genannt werden:
Ljubomir Christov, Markus Gorzelanczyk

6. Attribute für Darstellungselemente

Zusammenfassung
Im letzten Kapitel wurden die geometrischen Grundelemente und ihre speziellenAttribute diskutiert. Dieses Kapitel befaßt sieh nun mit einigen allgemeinen Attributen, die für alle Darstellungselemente gleichermaßen und darüberhinaus teilweise auch fiir Windows und Segmente als Ganzes gelten. Im einzelnen sind dies die Transformationen {transformations}, die Farbe {color} und die Sichtbarkeit {visibility}.
Ljubomir Christov, Markus Gorzelanczyk

7. Objektkoordinaten und Kameras

Zusammenfassung
Alle Objekte in HOOPS werden in einem dreidimensionalen kartesischen Koor-dinatensystem definiert. Dieses wird Objektkoordinatensystem {object coordinate system} und der zugehörige Raum Objektraum {user Space} genannt. Das Objektkoordinatensystem ist per Voreinstellung (Abschn. 15.5) linkshändig. Die Händigkeit kann mit der Prozedur Set_Handedness geändert werden.
Ljubomir Christov, Markus Gorzelanczyk

8. Beleuchtung

Zusammenfassung
Die Darstellung realitätsiiaher Szenen und Objekte hat aufgrund der Entwick-lung leistungsfähiger Rechner in den letzten Jahren immer mehr an Bedeutung gewonnen. Ein Schritt in diese Richtung ist die Einfuhrung der Beleuchtung {lighting}. Je nach Art, Position und Farbe der Lichtquellen {light} sowie dem verwendeten Schattierungsmodell {shading modell} werden beleuchtete Objekte unterschiedlich dargestellt.
Ljubomir Christov, Markus Gorzelanczyk

9. Eingabetechniken

Zusammenfassung
Ein Computerprogramm, das dem Anwender nicht die Möglichkeit gibt, den Programmablauf durch momentane Entscheidungen und variable Daten zu beeinflussen, kann nur eine — zur Programmierzeit — fest vorgegebene Aufgabe lösen. Da jedoch oft eine ganze Klasse von Problemen bearbeitet werden soll, bzw. verschiedenste Anforderungen an das Programm gestellt werden, ist die Möglichkeit der interaktiven Steuerung durch den Anwender nicht nur wichtig, sondern fast immer unerläßlich.
Ljubomir Christov, Markus Gorzelanczyk

10. Weitere Techniken der Segmentverwaltung

Zusammenfassung
Dieses Kapitel stellt eine Reihe verschiedener Techniken und Verfahren vor, die es dem Entwickler interaktiver Graphikprogramme möglich machen, dem Anwender komfortable und nützliche Funktionen zur Bearbeitung geometrischer Daten zur Verfügung zu stellen. Jeder der folgenden Abschnitte enthält eine kurze Beschreibung eines dieser Verfahren sowie einen Hinweis auf eine mögliche Anwendung. Die für die Programmierung notwendigen Details und zusätzliche Erläuterungen werden in der Prozedur-Referenz bei den entsprechenden Prozeduren angegeben.
Ljubomir Christov, Markus Gorzelanczyk

11. Weitere Darstellungstechniken

Zusammenfassung
In den Kapiteln 6 und 8 wurde gezeigt, wie die Darstellung eines Objekts durch allgemeine Darstellungsattribute (Tranformationen, Farben und Sichtbarkeit) und durch das Einbringen von Lichtquellen gesteuert werden kann. Dieses Kapitel stellt zwei weitere Methoden — Falschfarbendarstellungen und die Verwendung von Schnittebenen — vor, mit denen die Wiedergabe eines Objekts beeinflußt werden kann.
Ljubomir Christov, Markus Gorzelanczyk

12. Langzeitspeicherung

Zusammenfassung
Viele Programme, insbesondere Graphikanwendungen, erzeugen Daten, die im Moment ihrer Entstehung noch nicht benötigt werden oder noch nicht weiterverarbeitet werden können. Auch sollten bestimmte Daten — sind sie erst einmal erzeugt — jederzeit zugreifbar sein. Daher enthalten viele Programme Mechanismen, die der Langzeitspeicherung von Daten dienen, sei es zum Zwecke der reinen Archivierung oder, um einen Datenaustausch mit anderen Programmen zu ermöglichen, d.h. zum Zwecke der Weiterverarbeitung.
Ljubomir Christov, Markus Gorzelanczyk

13. Steuerung des Systemverhaltens

Zusammenfassung
HOOPS stellt eine Reihe von Möglichkeiten zur Verfügung, mit denen das Verhalten des Systems gesteuert werden kann. Dies geschieht größtenteils mit Hilfe von System-Routinen. Allen System-Routinen ist gemeinsam, daß sie keinen Einfluß auf die graphische Datenbasis haben. (Dies ist eine Eigenschaft, die sie mit den von HOOPS angebotenen Hilfs-Routinen gemeinsam haben. Dabei handelt es sich um Prozeduren, mit denen verschiedene nützliche Berechnungen durchgeführt werden können, wie z.B. die Bestimmung der konvexen Hülle einer gegebenen Menge von Punkten. Erläuterungen dazu sind in der Prozedur-Referenz ab Seite 238 zu finden.)
Ljubomir Christov, Markus Gorzelanczyk

14. Die Zusatzmodule A.I.R. und I.M.

Zusammenfassung
Im folgenden werden zwei Zusatzmodule für das „klassische“1 HOOPS beschrieben: HOOPS A.I.R. und HOOPS I.M. Ein drittes Zusatzpaket, das hier jedoch nicht beschrieben wird, enthält einen japanischen Zeichensatz: HOOPS Kanji. Mit diesen optionalen Modulen, die in der Version 1.1 bzw. Version 1.0 als Grundlage für dieses Kapitel zur Verfügung standen, können erheblich realistischere Darstellungen erzeugt bzw. benutzerdefinierte Interaktionen gesteuert werden. Ihre Installation erfolgt anschließend an die des „klassischen“ HOOPS — unter MS-DOS beispielsweise durch den Aufruf
  • addair
bzw.
  • addim
Vergleiche dazu auch Anhang A.
Ljubomir Christov, Markus Gorzelanczyk

15. Systeminitialisierung

Zusammenfassung
Wenn die erste HOOPS-Routine aufgerufen wird (entweder beim Start eines Anwendungsprogramms oder nach einem Aufruf von Reset_System), wird das System durch eine festgelegte Start-Sequenz initialisiert. In deren Verlauf werden z.B. die Standard-Farben und -Segmente definiert sowie eine Reihe anderer Aktionen durchgeführt, die im folgenden im Detail beschrieben werden.
Ljubomir Christov, Markus Gorzelanczyk

Backmatter

Weitere Informationen