Visualisierung des Tageslichteinfalls für Bauwerke in VRML


Diplomarbeit, 2002

127 Seiten, Note: 1,0


Leseprobe

Inhaltsverzeichnis

1 Einleitung
1.1 Aufgabenstellung
1.2 Ausgangsdaten
1.3 Aufbau der Diplomarbeit

2 Virtual Reality
2.1 VRML
2.1.1 Aufbau eines VRML-Programms
2.1.2 Die wichtigsten Knoten
2.1.3 Programmbeispiel
2.2 GeoVRML
2.2.1 GeoVRML 1.0 - Knoten
2.2.2 Neuerungen von GeoVRML
2.3 Wiedergabe
2.3.1 VRML-Browser
2.3.2 GeoVRML 1.0 Run-Time Version

3 Realisierung „Bebauungsplan“
3.1 Erstellen einer dreidimensionalen Szene (Welt)
3.1.1 Gebäude
3.1.1.1 Konstruktion
3.1.1.2 Konvertierung nach VRML97
3.1.1.3 Einsatz von GeoVRML
3.1.2 Gelände
3.1.2.1 DGM-Erzeugung
3.1.2.2 Erstellen der VRML-Datei
3.1.3 Ansichtspunkte
3.2 Beleuchten der dreidimensionalen Szene (Welt)
3.2.1 Umsetzung mit VRML
3.2.2 Grundlagen der Astronomie
3.2.2.1 Koordinatensysteme und Koordinaten
3.2.2.2 Die scheinbar tägliche Bewegung der Gestirne
3.2.3 Programm
3.2.4 Anbindung an VRML
3.3 Übersichtsplan

4 Tageslichteinfall auf Einzelgebäude

5 Benutzeroberfläche
5.1 HTML-Eingabeformular
5.2 WWW-Server
5.3 CGI-Script

6 Schlusswort

7 Abkürzungen

8 Abbildungsverzeichnis

9 Quellenverzeichnis
9.1 Internet
9.2 Fachliteratur
9.3 Datenmaterial
9.4 Software

Inhalt der CD-ROM

Quellcodes

1 Einleitung

1.1 Aufgabenstellung

„Die Datenbeschreibungssprache ®VRML erlaubt es, dreidimensionale Szenen, deren Blickrichtungen und Beleuchtungen zu definieren bzw. zu variieren. VRML - Darstellungen (auch „Welten" genannt) können in den gängigen Webbrowsern umgesetzt werden.

Es soll eine VRML - Repräsentation eines Gebäudes vorgenommen werden. Es soll eine Applikation erstellt werden, welche den Tageslichteinfall visualisiert. Dazu müssen Transformationen zwischen den geodätischen und den Koordinatensystemen von VRML eingeführt werden. Der Lichteinfall der Sonne wird durch ein zu erstellendes angebundenes Programm (z.B. in C oder JAVA) berechnet."[1]

1.2 Ausgangsdaten

Da die zu erstellende dreidimensionale Szene nicht aus fiktiven Angaben, sondern aus einer existierenden Vorlage umgesetzt werden sollte, galt es zunächst zu überlegen, welche Datengrundlage sich hierfür am besten eignet und sich zudem beschaffen lässt.

Nach einer Unterhaltung mit Herrn Prof. Brettschneider fiel die Entscheidung, einen digitalen, im dgn-Format vorliegenden Bebauungsplan als Grundlage für die Visualisierung und die Anordnung der Gebäude zu verwenden. Dieser wurde ebenso wie ein ® ASCII-File mit 3D-Koordinaten (zur Visualisierung eines Geländes) von aufgemessenen Punkten eines Gebietes, in welchem auch das Bebauungsplangebiet liegt, durch das Vermessungsbüro Hils aus Stuttgart zur Verfügung gestellt.

Abbildung in dieser Leseprobe nicht enthalten

Als weitere Applikation wurde für ein Einzelgebäude, das aufgrund seiner Größe und der vielen Ecken der unregelmäßig ausgebildeten Oberfläche gut für die Darstellung der Beleuchtungs- und Schatteneffekte geeignet ist, eine Simulation des Tageslichteinfalls realisiert.

Die VRML-Datei mit diesem Gebäude, dem Tower 6 des Rockefeller- Centers in New York City, wurde von Herrn Paul S. Hoffman über das Internet zugänglich gemacht.

1.3 Aufbau der Diplomarbeit

Es ist das Bestreben beim Aufbau der Diplomarbeit, nur elementare Grundlagen den Ausführungen über die Umsetzung der eigentlichen Aufgabe voranzustellen und weitere Erläuterungen sowie Erklärungen und Einführungen in spezielle Themengebiete und Programmsysteme an den jeweiligen Stellen, an denen sie in der chronologischen Abfolge der Bearbeitung stehen, zu geben. Durch dieses Vorgehen soll zum einen vermieden werden, dass zu umfangreich auf theoretische Hintergründe, die bei der Bewältigung der speziellen Aufgabe nicht zum Tragen kommen, eingegangen wird und somit die Ausführungen zur Realisierung der vorgegebenen Aufgabenstellung zu kurz kommen. Zum anderen sind die vermittelten Grundlagen noch besser im Gedächtnis, was vor allem Laien auf diesem Gebiet das Lesen der Arbeit erleichtert.

Durch die Erstellung einer VRML-Szene anhand des Bebauungsplanes konnten zunächst die VRML-Sprachelemente kennengelernt und Zusammenhänge verstanden werden. Dies war nötig, um anschließend den Tageslichteinfall für die erstellte Welt zu realisieren. Diese Beleuchtung wurde schließlich noch in eine VRML-Datei eines interessanten Einzelgebäudes eingefügt.

Zum weiteren Verständnis wird in Kapitel 2 erläutert, was man unter ®VR versteht und wie man mit Hilfe von VRML und seiner Erweiterung GeoVRML

Abbildung in dieser Leseprobe nicht enthalten

Objekte in der virtuellen Realität darstellen kann. Für tieferreichende Informationen zum Thema VRML wird auf die Literatur von Rolf Däßler („VRML- Das Einsteigerseminar“) und Hans-Lothar Hase („Dynamische virtuelle Welten mit VRML 2.0“) sowie auf die Internetseite des web3DCONSORTIUM2 für Einzelheiten zu GeoVRML verwiesen. Es folgt eine Darstellung der verschiedenen Arten zur Wiedergabe von VRML-Dateien mittels VRML-Browsern.

In Kapitel 3 wird die Realisierung anhand des Bebauungsplans dargestellt, die sich in „Erstellen einer dreidimensionalen Szene (Welt)“, „Beleuchten der dreidimensionalen Szene (Welt)“ und den Übersichtsplan aufgliedert.

In Kapitel 4 folgt die Anwendung des erstellten Tageslichteinfalls auf ein weiteres Gebäude, an dem sich die Licht- und Schatteneffekte besonders gut darstellen lassen.

In Kapitel 5 wird die Benutzeroberfläche erläutert. Der Anwender gibt die zur Berechnung des Tageslichteinfalls notwendigen Daten in ein HTML-Formular ein, anschließend werden diese Eingaben überprüft und weiterverarbeitet.

Danach folgen Schlusswort, in dem noch einmal die wesentlichen Erkenntnisse dargestellt werden, Verzeichnisse und Quellenangaben sowie die Quellcodes.

Im Text wurden Fachausdrücke aus der Astronomie sowie Sprachelemente kursiv dargestellt und der ® zum Verweis auf eine erläuterte Abkürzung verwendet. Schlagworte sind fett dargestellt, URLs werden unterstrichen.[2]

2 Virtual Reality

Unter Virtual Reality verstehen wir heute alle Konzepte, die unsere natürliche audiovisuelle und räumliche Wahrnehmung im Computer simulieren."[3]

Es gibt verschiedene VR-Systeme, die den Benutzer mit der virtuellen Welt verbinden. Inwieweit der Benutzer diese virtuelle Welt als seine eigene Realität wahrnimmt, wird als Immersionsgrad bezeichnet. Den höchsten Immersionsgrad erreicht man mit den „Immersiven Systemen", bei denen der persönliche Blickpunkt des Betrachters vollständig in der virtuellen Welt liegt. Erreicht wird dies durch VR-Helme (®HMD) oder durch ein sogenanntes Cave. Hier ist der Benutzer vollständig von Projektionswänden umgeben, auf die von außen eine virtuelle Umgebung projiziert wird.

Bei VRML stellt der VRML-Browser die 3D-Objekte an einem normalen, flachen Computermonitor dar, was dazu führt, dass der Benutzer von einem Blickpunkt außerhalb der virtuellen Welt wie durch ein Fenster in diese hineinschaut. Diese Darstellungsart, die nur einen geringen Immersionsgrad erreicht, wird „Desktop-VR" oder „Window on World" genannt.

Die Steuerinformationen des VRML-Programms an den VRML-Browser beziehen sich auf einen unsichtbaren Avatar. Dieser ist die Präsentation einer Person der realen Welt in einer synthetischen Umgebung.

2.1 VRML

„VRML ist eine Skriptsprache zur Beschreibung von virtuellen 3D-Welten, die über das World Wide Web ausgetauscht werden können. Ähnlich wie ®HTML ist VRML keine Programmiersprache im herkömmlichen Sinn, sondern eine Beschreibungssprache, mit der man definiert, wie dreidimensionale Objekte auszusehen haben, wie sie in einer virtuellen Welt angeordnet sind und welche Wechselwirkung sie miteinander haben."[4]

VRML stellt mit der aktuellen Version VRML97 einen anerkannten Industriestandard dar, der im September 1997 als ® ISO-Norm akzeptiert wurde.

2.1.1 Aufbau eines VRML-Programms

Jedes VRML-Skript beginnt mit einem Programmkopf (Header). Dieser wird vom VRML-Browser benötigt, um den Quellcode interpretieren und die virtuelle Welt generieren zu können.

Die weitere Syntax besteht aus beliebig vielen Knoten, welche die Basiselemente eines VRML-Programms darstellen. Die gesamte Struktur eines Programms kann in einer Baumstruktur, dem Szenegraph, abgebildet werden. Jeder VRML-Baustein wird so zu einem Knoten in einer baumartigen Struktur.

Am Ende des Programms stehen meist Routen, welche bei dynamischen Welten Verbindungen zwischen Knoten definieren, über die Ereignismitteilungen ausgetauscht werden. Ein Ereignis stellt eine Änderung eines Zustandes dar, in VRML zeitabhängige Änderungen von Attributen eines Knotens, woraus Animationen erstellt werden können.

2.1.2 Die wichtigsten Knoten

Innerhalb jedes Knotens gibt es Felder (auch Attribute genannt), die beispielsweise Farbe, Größe oder Position von 3D-Objekten festlegen. Dazu benutzt man Feldwerte. Jeder Feldwert ist an einen definierten Datentyp (Feldtyp) gebunden, der angibt, welche Werte man für ein spezifisches Attribut verwenden darf. Bestimmte Felder können als Feldwert wieder einen

Abbildung in dieser Leseprobe nicht enthalten

Knoten enthalten, der wiederum Felder besitzt. Folgende Knoten werden am häufigsten verwendet:

- Gestaltknoten:

Mit ihm lassen sich die Grundbausteine einer virtuellen Welt, Objekte bzw. Körper, modellieren. Er hat zwei Attribute: die Felder appearance (Erscheinung) und geometry (Geometrie).

- Erscheinungsknoten:

Im appearance-Feld des Gestaltknotens (Shape-Knoten) verwendet man den gleichnamigen Appearance-Knoten zur Beschreibung einer Oberfläche. Dieser besitzt hierfür die zwei Attribute material und textur

- Geometrieknoten:

Zur Modellierung können vordefinierte Formen, sogenannte geometrische Primitive (Quader, Kegel, Zylinder, Kugel), genutzt werden. Es besteht auch die Möglichkeit, benutzerdefinierte Formen (Punkte, Linien, Flächen / Polygone) für komplexe oder unregelmäßige Geometrien zu verwenden. Landschaften lassen sich als Höhenprofile (ElevationGrid) darstellen.

- Gruppenknoten:

Ein Gruppenknoten fasst verschiedene Knoten in einer Liste zusammen, die dann Kindknoten dieses Eltern- oder Gruppenknotens sind. Alle folgenden Operationen wie z.B. Transformationen beziehen sich auf die Liste mit den Kindknoten.

- Objekttransformation:

Um Objekte nicht nur betrachten, sondern auch positionieren und ausrichten zu können, benutzt man den Transform-Knoten. Hierfür dienen dessen Attribute translation, rotation und scale. Er gehört zu den Gruppenknoten.

- Szenenbeleuchtung:

Um die Realwelt möglichst gut simulieren zu können, sollte man

Abbildung in dieser Leseprobe nicht enthalten

Lichtquellen in der Szene positionieren. Es gibt drei verschiedene Arten: parallel gerichtetes Licht (DirectionalLight), Punktlicht (PointLight) und Spotlicht (SpotLight). Zusätzlich wird standardmäßig das Headlight eingeschaltet. Dies ist eine in unendlicher Entfernung befindliche Lichtquelle, die paralleles Licht sendet, mit der Besonderheit, dass sich die Beleuchtungsrichtung der Blickrichtung des Beobachters anpasst.

- Beobachterposition:

Durch Vorgabe sogenannter Viewpoints können dem Betrachter entweder voreingestellte Ansichten eines 3D-Modells präsentiert werden oder man programmiert eine Reise durch die Szene durch Animation dieser Beobachtungspunkte.

- Time Sensor:

Um aus einer statischen Welt eine dynamische zu erzeugen, in der sich Objekte und deren Eigenschaften verändern (Animation), benötigt man Ereignisse. Es gibt Objekte, die Ereignisse produzieren und welche, die Ereignisse empfangen und auf diese reagieren. Zur ersten Gruppe gehört der TimeSensor-Knoten, eine interne Uhr, die als Taktgeber Zeitereignisse in der virtuellen Welt generiert. Außer der Benutzung der relativen Zeitmessung kann der Zeitsensor auch als normale Uhr für die absolute Zeitmessung verwendet werden.

- Interpolatoren:

Interpolatoren berechnen aus vorgegebenen Schlüsselwerten Parameter für dynamische Prozesse. Sie erhalten Zeitwerte von einem Zeitgeber und übergeben Parameteränderungen an einen Ausführungsknoten. Es gibt vier verschiedene Interpolatoren:

- Orientierungsinterpolator
- Positionsinterpolator
- Farbinterpolator
- Skalarinterpolator

Abbildung in dieser Leseprobe nicht enthalten

- Sensoren:

Sensoren nehmen Informationen aus der virtuellen Welt auf und generieren aus diesen Eingangssignalen Werte, die sie an Ausführungsknoten übermitteln. Es gibt folgende Typen von Sensoren, welche für unterschiedliche Aufgaben verwendet werden können:

- TimeSensor (Uhr / Zeitgeber)
- TouchSensor (Berührsensor)
- Anchor (Hyperlink zu Webseiten oder anderen Welten)
- PlaneSensor (Verschiebung von Objekten)
- SphereSensor (Rotation eines Objektes)
- CylinderSensor (Drehung eines Objektes)
- ProximitySensor (registriert die Bewegung eines Beobachters)
- VisibilitySensor (gibt für einen quaderförmigen Bereich an, ob er im Blickfeld liegt)
- Collision (registriert die Kollision des Beobachters mit einem Objekt)
- LOD (registriert die Entfernung eines Beobachters zu einem Objekt)
- Script-Knoten:

Mit Hilfe des Script-Knotens kann ein Programm-Interface entwickelt werden, mit dem man externe Programmelemente in ein VRML- Programm integrieren kann. Dies ist dann nötig, wenn der Funktionsumfang von VRML nicht mehr ausreicht. Da VRML eine Beschreibungssprache und keine Programmiersprache ist, fehlen Rechenoperationen und algorithmische Abläufe, die Programmiersprachen zur Verfügung stellen.

2.1.3 Programmbeispiel

Abbildung in dieser Leseprobe nicht enthalten

2.2 GeoVRML

GeoVRML ist eine Erweiterung der Internet 3D-Modellierungssprache VRML97[5].

Aufbauend auf dieser stellt GeoVRML in der Version 1.0 zehn weitere Knoten zur Verfügung, die gerade bei der Darstellung geographischer Daten (Geodaten) die Grundsprache für diesen Zweck erweitern. Erarbeitet wurde GeoVRML von der gleichnamigen offiziellen Arbeitsgruppe des web3DcONSORTiUM, welche am 27. Februar 1998 gegründet wurde.

2.2.1 GeoVRML 1.0 - Knoten

Die GeoVRML-Knoten erkennt man an dem Präfix „Geo" vor den Knotennamen.

GeoVRML 1.0 enthält folgende Knotenpunkte[6]:

- GeoCoordinate: konstruiert ein geometrisches Objekt unter Verwendung geographischer Koordinaten
- GeoElevationGrid: dient der Modellierung eines Geländemodells unter Verwendung geographischer Koordinaten
- GeoInline: bindet eine Datei ein, mit der Kontrolle, wann die Daten geladen und entfernt werden
- GeoLocation: lokalisiert ein VRML Modell auf die Erdoberfläche bezüglich des festgelegten Koordinatensystems -> Wahrung der Georeferenz
- GeoLOD: regelt die Detaildarstellung bei hochauflösenden Gebieten
- GeoMetadata: schließt eine generische Teilmenge von Metadaten über die geographischen Daten ein
- GeoOrigin: spezifiziert ein lokales Koordinatensystem für erhöhte Präzision
- GeoPositionInterpolator: animiert Objekte innerhalb eines geographischen Koordinatensystems
- GeoTouchSensor: gibt aufgrund der Zeigerposition die geographischen Koordinaten einer beliebigen Position zurück
- GeoViewpoint: Definition von Ansichtspunkten unter Verwendung geographischer Koordinaten

Alle GeoVRML-Knoten sind Prototypen: „Innerhalb einer VRML-Datei kann die Menge der Knotentypen durch die Definition von Prototypen erweitert werden. Ein Prototyp enthält die Beschreibung einer Miniszene auf der Basis von bereits existierenden Knoten und Prototypen sowie gegebenenfalls auch Routen. Im einfachsten Fall verwendet ein Prototyp einen einzelnen Knoten, er kann aber auch einen Gruppenknoten mit einer komplexen Hierarchie von Knoten enthalten."7

Im Gegensatz zur Referenz oder Instanzierung8 kann ein Prototyp bei jedem Aufruf durch Angabe von Parametern noch variiert werden.

„Die Definition des Prototyps bewirkt noch kein Auftreten in der Szene; dies erfolgt erst, indem der Prototyp wie ein Kindknoten in der VRML-Datei verwendet wird. Die Definition eines Prototyps erfolgt mit einer PROTO- Anweisung. Diese besteht aus dem Schlüsselwort PROTO, einem eindeutigen Namen für den Prototyp (=neuer Knotentyp), der Schnittstelle nach außen sowie der Beschreibung der Miniszene; von der letzteren spricht man auch als der Prototyp-Definition im engeren Sinne. Die Schnittstelle [7] [8]

Abbildung in dieser Leseprobe nicht enthalten

nach außen wird auch als Prototyp-Deklaration bezeichnet. Sie enthält in eckigen Klammern eine Liste mit beliebig vielen Feldern, die von außen sichtbar sind, und Ereignissen, die gesendet und empfangen werden können. [...]

Die Definition von Prototypen kann sich auch in externen Dateien befinden; öfter verwendete Prototypen können so zentral gehalten werden. In der aktuellen VRML-Datei reduziert sich die Definition dann auf die Angabe des Schlüsselwortes EXTERNPROTO, den Namen des Prototyps, die Schnittstelle und eine oder mehrere ® URLs oder ®URNs."[9]

2.2.2 Neuerungen von GeoVRML

Neuerungen gibt es hinsichtlich Präzision, Information, Animation, Introspection und Navigation:

VRML97 unterstützt ausschließlich einfache Punktgenauigkeiten. Dies reicht bei der Präsentation von Geo-Daten nicht aus. Hier ist eine Auflösung von 10 m und darunter erforderlich, die GeoVRML 1.0 erreicht. Dies ist bei der Wiedergabe von Koordinaten nahe beieinanderliegender Punkte mit einem GeoTouchSensor von Bedeutung. Geographische Informationen werden durch einen GeoMetadata-Knoten dokumentiert und können eingesehen werden. Der GeoPositionInterpolator liefert im ausgewählten geographischen Koordinatensystem Werte, die für Animationen verwendet werden können. Durch den GeoTouchSensor können Koordinaten jedes Punktes einer georeferenzierten[10] Szene abgefragt werden, was als Introspection (Selbstbeobachtung) bezeichnet wird. Bei der Navigation können Einstellungen speziell für geographische Abbildungen vorgenommen

Abbildung in dieser Leseprobe nicht enthalten

werden. Beispielsweise ist die Navigationsgeschwindigkeit abhängig von der jeweiligen Geländehöhe spezifizierbar.

Ein weiterer wesentlicher Vorteil, den GeoVRML bietet, ist die Nutzung georeferenzierter digitaler Gelände- oder 3D-Stadtmodelle in der virtuellen Realität ohne die Georeferenzierung zu verlieren, um somit verschiedene Modelle überlagern oder aneinander reihen zu können.

Dadurch, dass man mit übergeordneten Koordinatensystemen arbeiten kann, können Gebäude direkt durch Verwendung der Großkoordinaten erstellt und müssen nicht mehr durch Transformationen platziert werden.

Man kann ebenso in einem lokalen System erzeugte Objekte im verwendeten übergeordneten Koordinatensystem georeferenzieren.

2.3 Wiedergabe

2.3.1 VRML-Browser

Die Wiedergabe von VRML-Dateien kann technisch auf verschiedene Arten erfolgen:

- Externe Viewer:

Diese werden von einem ^WWW-Browser11 aufgerufen. Zwischen beiden muss außer der Wiedergabe auch eine Kommunikation erfolgen, damit vom Viewer Anfragen an den WWW-Browser möglich sind, wenn weitere Dokumente beschafft werden müssen. ( z.B. Community Place von Sony)

- Eigenständige VRML-Browser:12

Eigenständige VRML-Browser beherrschen zwar die Protokolle des Internets, um Dokumente zu beschaffen, sind aber bei der Wiedergabe[11]

Abbildung in dieser Leseprobe nicht enthalten

auf VRML-Dateien beschränkt. Um Dokumente wiederzugeben, müssen vom VRML-Browser selbst externe Viewer aufgerufen werden wie z.B. für die Wiedergabe von HTML-Dokumenten der Netscape Navigator. [12] (z.B. CyberGate von Blacksun, GLView von HOLGER Grahn)

- Integrierte VRML-Browser:

Hier können HTML-, Multimedia- und VRML-Dateien von einem Programm wiedergegeben werden. Erreicht wird dies durch dynamische Programmerweiterungen von WWW-Browsern, die bei Netscape als Plug-Ins, bei Microsoft als ActiveX Controls bezeichnet werden. Es gibt auch noch die Möglichkeit, vom WWW-Browser ein Java-Applet[13] ausführen zu lassen, das die VRML-Datei wiedergibt. (z.B. Cosmo Player 2.1[14] von Silicon Graphics, World View 2.0 von Intervista)

„Die Zuordnung von Multimedia-Dokumenten zum richtigen Viewer, Plug-In oder ActiveX Control erfolgt durch spezielle Angaben (englisch: content type), die der WWW-Server bei der Übertragung mitliefert; für das Format dieser Angaben werden sogenannte ®MIME-Typen verwendet.[...]

Der WWW-Server ordnet Dokumenten den richtigen MIME-Typ aufgrund der jeweiligen Dateinamen-Verlängerung (Datei-Extension) zu. [...]

VRML-Dateien haben vereinbarungsgemäß die Dateinamen-Verlängerung .wrl (für world). Um große Dateien schnell über das Netz verschicken zu können, kann der Quelltext auch komprimiert werden. Die Dateien haben dann je nach verwendetem Komprimierungsprogramm die Dateiendung .gz oder gzip, unter Umständen kann eine komprimierte Datei auch die Endung .wrl haben. Vor der Darstellung durch den VRML-Browser muss die komprimierte Datei erst wieder entpackt werden. Der WWW-Server ordnet den VRML-Dateien ab VRML 2.0 den MIME-Typ model/vrml zu. Aus

Abbildung in dieser Leseprobe nicht enthalten

historischen Gründen wird alternativ dazu auch noch der MIME-Typ x-world/ x-vrml unterstützt."[15]

2.3.2 GeoVRML 1.0 Run-Time Version

„Um die Möglichkeiten des GeoVRML 1.0 Paketes nutzen zu können, welches den Code für die neuen Knoten enthält, muss eine GeoVRML 1.0 Run-Time Version[16] auf dem Rechner installiert sein. Dies lässt sich mit einem Install Shield Programm für die Plattformen Windows 95/98/NT/2000 sehr einfach realisieren."[17]

In dieser Arbeit wurde der Netscape Communicator 4.75 als WWW- Browser und der Cosmo Player 2.1 als Plug-In verwendet. Dazu wurde die GeoVRML 1.0 Run-Time Version auf dem Rechner für die Nutzung der GeoVRML-Knoten installiert. Ausschlaggebend dafür war, dass das Paket aus Netscape Communicator 4.75, Cosmo Player 2.1 und GeoVRML 1.0 von der GeoVRML-Arbeitsgruppe getestet und ein einwandfreies Funktionieren bescheinigt wurde.

Abbildung in dieser Leseprobe nicht enthalten

3 Realisierung „Bebauungsplan"

3.1 Erstellen einer dreidimensionalen Szene (Welt)

Es gibt drei verschiedene Möglichkeiten, eine VRML-Welt zu erstellen:

- Manuelles Erzeugen und Editieren eines ASCII-Files in einem Text- Editor18
- Benutzen eines VRML-Builder19 wie z.B. Internet 3D-Space Builder von Parallel Graphics
- Benutzen von Datei-Konvertern, um nicht-VRML 3D Formate, insbesondere Graphik-Dateien aus dem Bereich des 3D-Modellierens und von CAD-Anwendungen, in VRML-Dateien umzuwandeln

Da Ausgangsdaten von CAD-Anwendungen zur Verfügung standen, kam der dritte Punkt des Konvertierens in Frage.

Beim Konvertieren werden Polygone erzeugt, d. h. zahlreiche kleine Dreiecksflächen, die aneinandergereiht die Oberfläche des Objektes wiedergeben. Es führt zu Problemen, wenn diese Polygone in zu großer Menge vorliegen, da bei jeder Bewegung in VRML die komplette Szene für jede einzelne Phase dieser Bewegung neu berechnet und als ein einzelnes Bild aufgebaut (gerendert) werden muss, während es andere Systeme gibt, die nur den im Moment sichtbaren Ausschnitt der Szene neu rendern. (Um in VRML zu erreichen, dass bestimmte Berechnungen für nicht sichtbare Objekte abgeschaltet werden, muss dafür explizit mit dem VisibilitySensor[18] [19]

ein quaderförmiger Bereich festgelegt werden.) Da der Geometrieteil, eine Komponente der 3D-Graphikpipeline, welche aus dem Programmskript eine virtuelle Welt entstehen lässt, ausschließlich zu lasten der ®CPU geht, wird jeder neuerliche Aufbau der virtuellen Welt umso länger dauern, je größer die Anzahl der Polygone ist, da die Auslastung der CPU zunimmt. Auch komplexe Oberflächen aus vielen unregelmäßigen Polygonen tragen dazu bei, dass die Geschwindigkeit abnimmt, da im Geometrieteil auch die Zerlegung nichtregulärer Polygone, die von den Rendermaschinen nicht verarbeitet werden können, in reguläre Formen stattfindet (Tesselation).

Abbildung in dieser Leseprobe nicht enthalten

Abb. 1

3.1.1 Gebäude

Für die Erstellung der VRML-Szene sollte als Grundlage ein Bebauungsplan dienen, der in digitaler Form zunächst als .dgn20- File vorlag.

Als nächstes war zu überlegen, wie man am einfachsten und schnellsten Gebäude konstruiert, die den Vorgaben des Bebauungsplanes entsprechen und an den durch Baugrenzen vorgegebenen Stellen platziert werden.

3.1.1.1 Konstruktion a) Programm

Im Zuge dessen fiel nach einem Gespräch mit Herrn Prof. Dr. Schröder die Aufmerksamkeit auf ein Forschungsprojekt[20], das vor ein paar Jahren an der FHT Stuttgart lief. Dabei wurde ein SolarGIS entwickelt, das verschiedenste Auswertemöglichkeiten der Sonneneinstrahlung auf Fassaden- oder Dachflächen eines Gebäudes bietet. Als Entwicklungsplattform diente AutoCAD R14, ein CAD-Programm der Firma Autodesk. Zur Gebäudegenerierung wurde das Programmmodul WS LANDCAD 14 der Firma Widemann Systeme genutzt, welches als Applikation zu AutoCAD R14 verwendet wird.

WS LANDCAD 14 besteht aus mehreren Modulen, u.a. einem Modul „Entwurfsplanung & Massen & Flächen", welches einen Gebäudemanager enthält, mit dem auf einfache Art und Weise dreidimensionale, parametrische Gebäudekörper unterschiedlichster Grundform und mit verschiedenen Dachformen dazu erzeugt werden können.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 2

Da diese Software noch von dem Forschungsprojekt an der FH verfügbar war sollte sie zur Erzeugung der Gebäude auf dem Bebauungsplangebiet verwendet werden. Es stellte sich jedoch heraus, dass an der FH mittlerweile nur noch AutoCAD 2000 installiert ist. WS LANDCAD 14 benötigt aber AutoCAD R14. Dazu kam, dass die Lizenz für LANDCAD 14 nicht mehr gültig war und somit sämtliche Funktionen einem Hardwareschutz zum Opfer fielen. Durch Herrn Prof. Kettemann, der auch an dem Forschungsprojekt beteiligt war, wurde ein Kontakt zum Stadtmessungsamt Stuttgart hergestellt, an dem auch LANDCAD 14 im Einsatz ist. Dort konnte die Software benutzt werden.

Abbildung in dieser Leseprobe nicht enthalten

Um den Bebauungsplan in LANDCAD 14, welches unter der Bedien­oberfläche von AutoCAD R14 mit zusätzlichen Schaltflächen läuft, einlesen zu können, wurde vom Vermessungsbüro Hils der Bebauungsplan aus MicroStation im ®.dxf22-Format ausgegeben. Bei der Konvertierung ins dxf- Format gingen zwar die farbigen Flächen verloren und die Ebenenbelegung wurde durcheinandergewürfelt, aber die Geometrie mit den Baugrenzen blieb erhalten.

b) Vorgehen

Am besten teilt man den Bildschirm anschließend in zwei Fenster auf, wobei eines eine Draufsicht auf die CAD-Grafik, das andere eine perspektivische Ansicht von beliebig einstellbaren Winkeln ist. In der Draufsicht wählt man den Bezugspunkt aus, auf den das ausgewählte Gebäude gesetzt wird. In der Schrägansicht kann man dann die Ausrichtung kontrollieren und das Gebäude gegebenenfalls neu positionieren und ausrichten.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 3

Nachdem man die gewünschte Gebäudegrundform und Dachform ausgewählt hat, können die weiteren Parameter zur Dimensionierung des Gebäudes bestimmt werden. Dabei werden nach Eingabe der ersten Werte die davon abhängigen anderen Werte berechnet und vorgegeben.[21]

Abbildung in dieser Leseprobe nicht enthalten

Aus den in 3.1 erwähnten Gründen sollten keine komplizierten Dachformen gewählt werden. Dies war kein Problem, da im Bebauungsplan ohnehin nur einfache Satteldächer und Flachdächer vorkamen.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 4

Kommt ein spezifizierter Gebäudetyp mit den gleichen Dimensionen mehrmals vor, muss er nicht jedes Mal neu definiert werden sondern wird kopiert und auf die entsprechende Stelle positioniert und ausgerichtet.

Es ist darauf zu achten, dass 3D-Flächen und keine ®ACIS23- Volumenkörper erzeugt werden. Eine nachträgliche Änderung ist aber noch möglich.

ACIS wird nicht von allen Rendering-Programmen24 verstanden, d.h. diese können dann keine 3D-Graphik erzeugen. Dazu gehört auch das 3D- Visualisierungssystem 3D Studio MAX von Kinetix, das später zur Konvertierung nach VRML verwendet wird.[22]

Des Weiteren sollten Hausdächer und Hauswände jeweils auf separate Ebenen gelegt werden. Zum einen dürfen nachher nur diese zwei Ebenen eingeschaltet sein, d.h. von der 2D-Graphik dürfen keine Ebenen eingeblendet sein, wenn der Import nach [23] Studio MAX erfolgt. Ansonsten ist mit Schwierigkeiten zu rechnen, da 3D Studio MAX ständig den Import versucht, ihn aber nicht durchführen kann. Dies könnte daran liegen, dass die für einen Import in ein 3D-Visualisierungsprogramm nötigen Flächen­normalen, welche die Vor- und Rückseite einer Fläche definieren, in der nach AutoCAD eingelesenen Datei, die in MicroStation erzeugt wurde, fehlen. Zum anderen gibt es beim Import nach 3D Studio MAX die Möglichkeit, Objekte aus Layern[24] abzuleiten. Wenn Dächer und Wände auf separaten Layern liegen, entstehen in der VRML-Datei auch zwei IndexedFaceSet-Knoten, welche mit unterschiedlichen Farben dargestellt werden können.

3.1.1.2 Konvertierung nach VRML97

Nachdem die Gebäude in LANDCAD erzeugt wurden, folgt die Konvertierung ins VRML-Format. Da es in LANDCAD selbst keine Exportmöglichkeit nach VRML gibt, muss ein anderer Konverter benutzt werden. Da bei einem Konvertiervorgang meist Daten verloren gehen oder verändert werden, war auch hier zu befürchten, dass die Ausgangsdaten nach dem Export nicht den ursprünglichen entsprechen werden. Um herstellerspezifische Veränderungen zu vermeiden, wurde auf der Autodesk-Schiene verblieben und das Programm 3D Studio MAX verwendet.

3D Studio MAX ist an der FH nicht vorhanden. Durch den Kontakt zu Terra- Biz[25] war dies jedoch zu beschaffen.

In 3D Studio MAX wird die .dwg-Datei mit den Gebäuden importiert, die aus vorher beschriebenen Gründen nur aus den beiden Layern mit Wänden und

Abbildung in dieser Leseprobe nicht enthalten

Dächern besteht. In der ersten Dialogbox wird gefragt, ob die Objekte aus der .dwg-Datei in die aktuelle Szene eingefügt oder ob die Szene vollständig ersetzt werden soll. Es sollte letzteres ausgewählt werden. In der anschließenden zweiten Dialogbox geht es um die Objekterzeugung.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 5

Hier kann man zwischen der Gewinnung von Objekten aus Layer, Farbe und Objekt wählen. Aus den beschriebenen Gründen wurde hier die Gewinnung von Objekten aus Layer gewählt. Die übrigen Parameter können auf den voreingestellten Werten belassen werden. Nach Abschluss des Imports können die Gebäude im entsprechenden Format als .max-Datei abgespeichert werden.[26]

Abbildung in dieser Leseprobe nicht enthalten

Abb. 6

Den folgenden Export nach VRML besorgt in 3D Studio MAX ein Plug-In, der MAX VRML Exporter. Damit kann nach VRML 1.0 oder nach VRML97 exportiert werden. Nachdem VRML97 ausgewählt wurde, erscheint die Dialogbox des Exportes. Hier können wieder verschiedene Parameter eingestellt oder die Grundeinstellungen beibehalten werden. Die OK- Schaltfläche startet den Export.

Beim Betrachten der erzeugten .wrl-Datei mit dem VRML-Browser stellte sich heraus, dass alle Gebäude anstatt an ihren angestammten Positionen ineinander verschachtelt dargestellt wurden. Ein möglicher Grund dafür könnte in den Schwerpunkten der Gebäude zu suchen sein. Diese haben unterschiedliche Schwerpunkte und werden deshalb unterschiedlich transformiert. Dazu muss man wissen, dass es in 3D Studio MAX mehrere Koordinatensysteme gibt. Wesentlich hierbei ist das Weltkoordinaten­system, das immer an der gleichen Stelle mit derselben Ausrichtung liegt, und ein lokales Koordinatensystem, das für jedes Objekt existiert und sich auf dessen Schwerpunkt bezieht. Beim Export nach VRML wird nun das lokale Koordinatensystem, in dem das Objekt (Hauswand oder Hausdach) festgelegt ist, durch Translation und Rotation so transformiert, dass es an der richtigen Stelle im Weltkoordinatensystem steht. Da aber der Schwerpunkt und somit das lokale Koordinatensystem bei allen Gebäuden in der selben

Abbildung in dieser Leseprobe nicht enthalten

Gebäudeecke lag, musste es einen anderen Grund für die deplazierten Häuser geben. Es gibt im Exportdialog ein Drop-down Listenfeld zur Spezifikation der Präzision, sprich der Anzahl der Kommastellen. Hier ist standardmäßig „4" eingestellt. Nun wurden beim Export von den Gauß­Krüger (GK)-Koordinaten der Gebäude des Bebauungsplanes nur die ersten vier Stellen berücksichtigt und somit waren die Werte, um welche die Gebäude bei der Translation verschoben wurden, alle gleich, da die ersten vier Koordinatenstellen bei allen Gebäuden identisch sind. Daher muss diese Einstellung geändert werden. Die Anzahl der Kommastellen kann aber nur auf maximal 6 erhöht werden. Dies führt dann zwar dazu, dass bei einem Export mit dieser Vorgabe die Gebäude nicht mehr ineinander verschachtelt platziert werden, aber auch nur auf 10 m genau an der Stelle, an der sie stehen sollten. Grund dafür ist, dass VRML nur einfache Punktgenauigkeit unterstützt, dies aber für GK-Koordinaten nicht ausreicht. Hierfür wurden die GeoVRML- Knoten eingeführt, wie in Kapitel 2.2.1 schon erläutert wurde.

3.1.1.3 Einsatz von GeoVRML

Bisher unterstützt kein Konverter den Export nach GeoVRML. Es musste also eine Möglichkeit gefunden werden, den aus dem CAD mit Hilfe von 3D Studio MAX exportierten VRML97-Code zu verwenden und gleichzeitig die Präzision von GeoVRML zu nutzen.

In GeoVRML gibt es Knotenpunkte, welche die Einbeziehung eines Koordinatensystems unterstützen. All diese Knoten benutzen das Feld geoSystem, um das gewünschte Koordinatensystem zu spezifizieren. Es werden fo lgende Systeme unterstützt:

- Geodetic Coordinate System (GDC) mit Breite, Länge, Höhe
- Geocentric Coordinate System (GCC) mit x, y, z
- Universal Transverse Mercator (UTM) mit Norden, Osten, Höhe

Abbildung in dieser Leseprobe nicht enthalten

Eines dieser Systeme steht an erster Stelle einer Argumentenliste hinter dem Feld geoSystem, bei UTM folgen als weitere Argumente die Zone, die Hemisphäre und der Höhenbezug. Werden nicht alle Argumente angegeben, werden Voreinstellungen benutzt. Ein Beispiel für ein Koordinatensystem in Deutschland, das in der nördlichen Hemisphäre in Zone 32 liegt und als Höhenbezug den mittleren Meeresspiegel hat, wäre: [„UTM“,“Z32“,“N“,“GD“].

Ein weiteres Feld, das von all diesen Knotenpunkten benutzt wird, ist das Feld geoOrigin. Der gleichnamige Knoten, der in diesem Feld steht, „definiert die absolute geographische Lage und einen impliziten, lokalen Koordinierungsrahmen gegen welchen sich die Geometrie richtet. Dieser Knoten wird genutzt, um geographische Koordinaten in ein lokales, kartesisches Koordinatensystem zu übersetzen, welches von einem VRML- Browser gemanagt wird.“[27]

Da die Transformation, genauer gesagt die Translation vom Exporter nicht hinreichend genau ausgeführt werden konnte, musste die Definition der Gebäude im Weltkoordinatensystem manuell realisiert werden. Dazu wurde als Koordinatensystem das UTM-System gewählt, da in GeoVRML kein GK- System verfügbar ist. Mit Hilfe des GeoLocation-Knotens wurden die vom Export erhaltenen Festlegungen der Gebäudewände und -dächer in den IndexedFaceSet-Knoten georeferenziert. Die Koordinaten für den Standort auf der Erdoberfläche, an den georeferenziert wird, konnten wie folgt erlangt werden: Zuerst wurde der Punkt, auf den sich die Angaben des IndexedFaceSet-Knotens beziehen, gesucht. Dieser entspricht dem Ursprung des lokalen Koordinatensystems aus 3D Studio MAX. Für diesen Punkt konnten aus dem Bebauungsplan in AutoCAD die GK-Koordinaten ermittelt und in UTM-Koordinaten umgerechnet werden. Dazu wurde das

[...]


[1] Aushang des Diplomarbeitsthemas von Herrn Prof. Dr. Lehmkühler

[2] http://www.web3d.org/

[3] Däßler: VRML,

[4] Däßler: VRML,

[5] Virtual Reality Modelling Language, vgl. Kapitel 2.1 VRML

[6] nach Böttcher: Der Einsatz von GeoVRML zur Visualisierung von Geodaten, S.17f

[7] Hase: Dynamische virtuelle Welten mit VRML 2.0, S.62

[8] Referenz und Instanzierung werden in Kapitel 3.1.3 Ansichtspunkte näher erläutert

[9] Hase: Dynamische virtuelle Welten mit VRML 2.0, S.66

[10] Georeferenzierung: Zuordnung eines Abbildes der Erde zu jeweils einem Punkt auf der Erdoberfläche durch Vergabe von Koordinaten eines eindeutig festgelegten Koordinatensystems

[11] Standard-Webbrowser wie z.B. Netscape Navigator oder Microsoft Internet Explorer (IE)

[12] ein WWW-Browser, der auch VRML-Dateien wiedergeben kann, unabhängig von der Art der Realisierung

[13] Java Programmmodule, die direkt von einem WWW-Browser interpretiert und ausgeführt werden können

[14] kostenlos unter http://www.cosmosoftware.com/download/ erhältlich

[15] Hase: Dynamische virtuelle Welten mit VRML 2.0, S.8

[16] kostenlos unter http://www.geovrml.org erhältlich

[17] Böttcher: Der Einsatz von GeoVRML zur Visualisierung von Geodaten, S. 13

[18] anstatt eines herkömmlichen Texteditors empfiehlt es sich, spezielle Editoren für VRML, z.B. VRML PAD von Parallel Graphics, zu verwenden. Diese unterstützen eine farbliche Hervorhebung der Syntax und können komprimierte VRML-Dateien direkt öffnen. Kostenlose Testversion erhältlich unter http://www.parallelgraphics.com/

[19] Autorensystem zum Erzeugen von VRML- Welten, das dem Entwickler graphische Bedienoberflächen und Menüsysteme zum Modellieren von Objekten, Objekteigenschaften und ganzen virtuellen Szenen zur Verfügung stellt

[20] Dateinamen-Verlängerung, die das CAD-System MicroStation von Bentley verwendet

[21] Solare Städteplanung mit geographischen Informationssystemen - Abschlußbericht zum Forschungsprojekt 99

[22] gängiges Austauschformat für CAD-Dateien (AutoCAD-Format)

[23] CAD-Kern mit hervorragenden 3D-Funktionen, von verschiedenen CAD-Programmen eingesetzt. Das ACIS SAT-Dateiformat ist kleiner als andere 3D-Formate und spart deshalb Zeit beim Import und Export. (Herstellerfirma: Spatial Technologie)

[24] 3D-Visualisierungssysteme, welche die Technik des „Rendern“ verwenden, um räumliche Objekte auf einem flachen Computerbildschirm darzustellen

[25] eine Ebene oder Folie bei einem CAD-System, auf der gezeichnet werden kann

[26] Unternehmen in Kirchheim/Teck

[27] Böttcher: Der Einsatz von GeoVRML zur Visualisierung von Geodaten, S. 29

Ende der Leseprobe aus 127 Seiten

Details

Titel
Visualisierung des Tageslichteinfalls für Bauwerke in VRML
Hochschule
Hochschule für Technik Stuttgart  (Fachbereich Vermessung und Geoinformatik)
Note
1,0
Autor
Jahr
2002
Seiten
127
Katalognummer
V3498
ISBN (eBook)
9783638121514
Dateigröße
3814 KB
Sprache
Deutsch
Anmerkungen
Ohne Anlage-CDROM
Schlagworte
Visualisierung, Tageslichteinfalls, Bauwerke, VRML
Arbeit zitieren
Tobias Fleischmann (Autor), 2002, Visualisierung des Tageslichteinfalls für Bauwerke in VRML, München, GRIN Verlag, https://www.grin.com/document/3498

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Visualisierung des Tageslichteinfalls für Bauwerke in VRML



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden