Technische Universität Braunschweig. Direkte Volumenvisualisierung auf unstrukturierten Gittern mit OpenSG in AVS/Express.

Größe: px
Ab Seite anzeigen:

Download "Technische Universität Braunschweig. Direkte Volumenvisualisierung auf unstrukturierten Gittern mit OpenSG in AVS/Express."

Transkript

1 Technische Universität Braunschweig Direkte Volumenvisualisierung auf unstrukturierten Gittern mit OpenSG in AVS/Express Masterarbeit vorgelegt von cand. inform. Hagen Gädke Institut für Computergrafik Prof. Dr. D. W. Fellner Betreuer: Christoph Fünfzig September

2 2

3 Erklärung Ich versichere, die vorliegende Arbeit selbständig und nur unter Benutzung der angegebenen Quellen und Hilfsmittel angefertigt zu haben. Braunschweig, den

4 Widmung und Dank Ich widme diese Arbeit meinen Eltern Jürgen Gädke und Edith Gädke-Döblitz und bedanke mich für die finanzielle Unterstützung meines Studiums. Vielen Dank an Alexander Böswetter, Torsten Bagdonat und Prof. Dr. rer. nat. Uwe Motschmann (Institut für Theoretische Physik, TU Braunschweig) für den Mars-Datensatz. Mein besonderer Dank geht an meinen Betreuer Christoph Fünfzig für seine Unterstützung, vor allem im Bereich OpenSG. 4

5 Abstract Several techniques for Direct Volume Rendering (DVR) have been proposed during the past 15 years. The fastest techniques allow realtime rendering of large datasets, but only for regular or rectilinear grids, respectively. In this work, two techniques for DVR on unstructured grids (Shirley-Tuchman and Hierarchical 3D-Textures) are implemented and examined for realtime rendering capabilities. The implementation uses the scene graph library OpenSG. In addition, the implemented functionality has been integrated into the commercial visualizing software AVS/Express. 5

6 Inhaltsverzeichnis 1 Einleitung 8 2 Gittertypen und Beleuchtungsmodelle Reguläre Gitter Rektilineare Gitter Irreguläre Gitter Unstrukturierte Gitter Beleuchtungsmodelle 11 3 Techniken zur direkten Volumenvisualisierung Raytracing Splatting Überblendung texturierter Ebenen D-Texturen D-Texturen Shear-Warp-Faktorisierung Shirley-Tuchman-Verfahren Hierarchische Verfahren 22 4 Anforderungen und Ziele 23 5 Implementierung des Shirley-Tuchman-Verfahrens Klassifizierung Dickpunktbestimmung und Farbzuweisung Alpha-Korrektur Tetraeder-Sortierung Ablaufdiagramm Ergebnisse Klassenbeschreibungen ProjectedTetrahedraBase ProjectedTetrahedra Tetrahedron NormalTetrahedron ClassifiedTetrahedron ColorManager ParametricIntersections 42 6 Implementierung des hierarchischen 3D-Textur-Verfahrens Aufbau und Implementierung des Octrees Octree-Verfeinerung und -Vergröberung Orakel Octree-Verfeinerung Octree-Vergröberung Separating Axis Theorem für Quader / Tetraeder Resampling auf ein reguläres Gitter Intuitiver Algorithmus D-Rasterisierung 50 6

7 6.5 Alpha-Korrektur Notwendigkeit der Alpha-Korrektur Herleitung der Alpha-Korrektur-Formel Numerische Probleme bei der Alpha-Korrektur Octree-Anzeige Artefakte Ergebnisse Klassenbeschreibungen HierarchicalTextures3DBase HierarchicalTextures3D OctreeTGBase OctreeTG OctreeTGNodeBase OctreeTGNode PositionedSlicesBase PositionedSlices SystemInformation 73 7 Das AVS-Modul Modul-Überblick AVS-Modul-Schnittstelle Einbindung OpenSG-basierter Funktionalität Datenimport AVS-Datenformate für Volumendaten Die Field-Datenstruktur in AVS C++ Klassen zur Verwaltung der Field-Daten Rendersystem Visualisierungssystem Tetraederzerlegung Pyramiden Prismen Hexaeder Die grafische Benutzeroberfläche Methoden des VolumeRender_UCD-Moduls Klassenbeschreibungen 91 8 Zusammenfassung und Ausblick 95 9 Abkürzungsverzeichnis und Begriffserklärungen Literaturverzeichnis 99 Anhänge auf CD: A1 OpenSG-Testprogramm zum Shirley-Tuchman-Verfahren A2 OpenSG-Testprogramm zum hierarchischen 3D-Textur-Verfahren A3 Quellcode der OpenSG-Erweiterungsbibliothek UnstructuredVolRenLib A4 Makro VolumeRender_UCD_GUI für AVS/Express 6 A5 Quellcode des Makros VolumeRender_UCD_GUI 7

8 1 Einleitung In vielen Gebieten der Wissenschaft und Industrie werden Volumendaten eingesetzt. Sie entstehen entweder in Rechner-Simulationen oder sind das Ergebnis von Messungen. In der Medizin werden Volumendaten bei der Magnet-Resonanz-Tomographie (MRT) und der Computer-Tomographie (CT) aus einzelnen Schichten rekonstruiert. Die Computer-Tomographie wird auch im industriellen Bereich zur Materialprüfung eingesetzt. Bei Rechner-Simulationen wendet man Finite-Element-Methoden (FEM) und Modelle aus dem CFD-Bereich (Computational Fluid Dynamics) an. Eine häufige Anwendung ist hier die Untersuchung des Strömungsverhaltens von Flüssigkeiten, Gasen oder Plasmen. Druck-, Temperatur- und Dichte-Daten sind typische Resultate solcher Simulationen. Auch für fotorealistische Visualisierungen in der Computergrafik sind Volumendaten wichtig, wenn Oberflächenbeschreibungen nicht ausreichen; z. B. bei der Darstellung von Wolken oder Feuer. Je nach Anwendungsbereich verwendet man unterschiedliche Gitter (siehe Kapitel 2) zur Definition von Abtastpunkten für die Daten. Im medizinischen Bereich werden hauptsächlich reguläre und rektilineare Gitter eingesetzt. Für Simulationen ist es jedoch häufig sinnvoll, zur Darstellung bestimmter Details an einigen Stellen das Gitter zu verfeinern. Zu diesem Zweck setzt man irreguläre und unstrukturierte Gitter ein. Standardmethoden zur Visualisierung von Volumendaten sind die Darstellung von 2D-Schnitten sowie die Extraktion von Isoflächen. Beide Methoden beruhen auf dem Prinzip, einen festgelegten Ausschnitt des Datensatzes darzustellen. Im Gegensatz dazu steht die direkte Volumenvisualisierung (Direct Volume Rendering, DVR), in der stets der gesamte Datensatz angezeigt wird. Über eine Transferfunktion wird jedem Volumenwert eine Farbe und Opazität zugeordnet; so kann man bestimmte Werte durch eine hohe Opazität hervorheben und andere durch eine niedrige Opazität verbergen. DVR ist nicht für eine exakte Analyse geeignet; das Ziel ist vielmehr, einen visuellen Gesamtüberblick über einen Datensatz zu erhalten. Es gibt unterschiedliche Methoden für das Direct Volume Rendering (siehe Kapitel 3). Bei der Wahl eines bestimmten Verfahrens sind drei Aspekte zu beachten: die gewünschte Ausgabequalität sowie Berechnungszeit für ein Frame und der Gittertyp des Datensatzes. Ausgehend vom Raytracing, das eine sehr hohe Qualität bei sehr langer Berechnungszeit liefert und auf jedem Gittertyp anwendbar ist, wurden in den letzten 15 Jahren unterschiedliche Alternativen entwickelt. Viele solcher Visualisierungsmethoden sind an Gittertypen gebunden. Das Shear-Warp-Verfahren etwa kann nur auf rektilinearen Gittern angewendet werden. Sehr schnelle Verfahren verringern häufig durch Artefakte die Ausgabequalität. So lässt sich mit der Überblendung texturierter Ebenen zwar auch für große Datensätze eine Echtzeitdarstellung (d. h. die benötigte Zeit für ein Bild liegt unter 0,04 Sekunden) erreichen, die Übergänge zwischen den Ebenen sind jedoch im Allgemeinen unstetig. Zudem sind die schnellsten bekannten Verfahren nur auf regulären bzw. rektilinearen Gittern möglich. Diese Arbeit untersucht DVR-Methoden für unstrukturierte Gitter, die sich für eine Echtzeitdarstellung eignen. Nach einem Vergleich basierend auf bestehender Literatur (Kapitel 4) wurde das Shirley-Tuchman-Verfahren (Kapitel 5) und die Visualisierung mit hierarchischen 3D-Texturen (Kapitel 6) für eine Implementierung ausgewählt. Diese Visualisierungsmethoden wurden zunächst in den Szenengraph OpenSG eingebettet. Darauf aufsetzend wurde ein Modul für die kommerzielle Visualisierungssoftware AVS/Express entworfen (Kapitel 7), das die in OpenSG implementierten Methoden für dieses Softwarepaket nutzbar macht. AVS/Express bietet bislang mit der aktuellen Version 6.3 keine Möglichkeit zum Direct Volume Rendering auf unstrukturierten Gittern. 8

9 2 Gittertypen und Beleuchtungsmodelle Zur Definition von Volumendaten ordnet man jedem Punkt innerhalb des Volumens einen skalaren Wert zu. Um eine Verarbeitung mit dem Rechner zu ermöglichen, ist eine Diskretisierung nötig. Die Elemente der zugrundeliegenden endlichen Punktmenge des Volumens heißen Abtastpunkte (Samplepunkte). Diese Punkte sind Eckpunkte von Volumenzellen. Weil es nur endlich viele Samplepunkte gibt, sind diese Zellen dreidimensionale Polyeder. Die Volumenwerte innerhalb der Zellen erhält man durch Interpolation; typischerweise benutzt man hier eine lineare Interpolation über die Eckpunkte. Den Komplex aus Zellen, Kanten und Punkten der Polyeder nennt man Gitter. Da es für den Umgang mit den Daten wesentlich ist, auf welchem Gittertyp sie definiert sind, werden die Gitter in den Abschnitten 2.1 bis 2.4 in unterschiedliche Typen klassifiziert. Für die Darstellung von Volumendaten benötigt man ein Beleuchtungsmodell, auf das wir in 2.5 eingehen. 2.1 Reguläre Gitter Ein reguläres Gitter ist ein quaderförmiger Ausschnitt eines kartesischen Gitters, wobei dieser Quader hauptachsenausgerichtet ist. An jedem Gitterlinienschnittpunkt befindet sich genau ein Samplepunkt. Abb. 2.1 zeigt ein zwei- und ein dreidimensionales Beispiel eines regulären Gitters. P max P max P min P min Abb. 2.1: Zweidimensionales (links) und dreidimensionales (rechts) reguläres Gitter. Die explizit definierten Punkte sind jeweils markiert. Zur Definition eines solchen dreidimensionalen Gitters gibt man die Anzahl Samplepunkte in jede der drei Raumrichtungen und die Endpunkte der Raumdiagonalen an. Falls der Abstand zwischen benachbarten Samplepunkten für jede Raumrichtung gleich ist, kann die Angabe der Diagonalen entfallen. Die Zellen eines dreidimensionalen regulären Gitters sind Quader. 2.2 Rektilineare Gitter Rektilineare Gitter sind eine Verallgemeinerung regulärer Gitter. Hier können die Abstände zwischen den Samplepunkten entlang einer Achse variieren. Allerdings müssen die Samplepunkte, die die gleiche x-koordinate haben, auf einer Ebene liegen. Analog gilt diese Vorraussetzung auch für die y- und z-koordinaten. Diese Einschränkung bewirkt, dass die Zellen auch hier quaderförmig sind. Zur Definition wird neben der Anzahl der Samplepunkte pro Achse noch jeweils der Achsenabschnitt für die Samplepunkt-Ebenen angegeben. Abb. 2.2 zeigt Beispiele für rektilineare Gitter. 9

10 Abb. 2.2: Zweidimensionales (links) und dreidimensionales (rechts) rektilineares Gitter. 2.3 Irreguläre Gitter Eine weitere Verallgemeinerung wird durch irreguläre Gitter gegeben. Ein Gitter ist irregulär, wenn es eine Abbildung auf ein reguläres Gitter gibt, die nur die Position der Samplepunkte ändert. Die Quaderform der Zellen geht dadurch gegenüber rektilinearen Gittern verloren, die Anzahl benachbarter Zellen jedoch bleibt konstant. Diese Verallgemeinerung der Quader-Zellen bezeichnen wir als Hexaeder. Beispiele für irreguläre Gitter sind in Abb. 2.3 zu sehen. Abb. 2.3: Zweidimensionales (links) bzw. dreidimensionales (rechts) irreguläres Gitter. Bei irregulären Gittern muss für jeden Samplepunkt eine Position im Raum angegeben werden. Obwohl die Definition Zelldurchdringungen zulässt, legt man irreguläre Gitter für reale Anwendungen so an, dass sich die Zellen nicht durchdringen. 2.4 Unstrukturierte Gitter Die bis hierher vorgestellten Gittertypen fasst man auch unter dem Sammelbegriff strukturierte Gitter zusammen. Unstrukturierte Gitter bilden den allgemeinsten Gittertyp. Nicht nur die Abb. 2.4: Zweidimensionales (links) bzw. dreidimensionales (rechts) unstrukturiertes Gitter. 10

11 Samplepunkte können beliebig im Raum positioniert sein; auch der Zelltyp kann variieren. Neben Hexaedern werden häufig Tetraeder, Pyramiden und Prismen verwendet. Formal zugelassen sind aber alle Polyeder. Abb. 2.4 zeigt Beispiele. Im praktischen Gebrauch werden unstrukturierte Gitter so angelegt, dass sich Zellen nicht durchdringen und das Gitter aus genau einer Zusammenhangskomponente besteht. 2.5 Beleuchtungsmodelle Wir stellen uns das zu visualisierende Volumen vor wie eine leuchtende Gaswolke. Für die Visualisierung dieser Wolke sind vier physikalische Vorgänge von Bedeutung: Licht-Emission, Absorption, Reflexion und Brechung. Durch die vielen kleinen Partikel in der Wolke treten Reflexion und Brechung innerhalb des Mediums sehr häufig auf, und eine korrekte Simulation wird sehr kompliziert. Heutige Visualisierungsmethoden, besonders diejenigen, deren Ziel eine möglichst schnelle Anzeige ist, beschränken sich deswegen auf Emission und Absorption. Eine sehr verständliche Herleitung der Intensitätsberechnungsformel für dieses Emissions- und Absorptionsmodell findet sich in [2], Abschnitt 3 (Continuous Model). Weil jenes Modell eine theoretische Basis für diese Arbeit darstellt, soll es hier vorgestellt werden. Die Licht-Emission der Gaswolke wird als Intensitätsfunktion abhängig von der Wellenlänge für einen Punkt (x, y, z) gegeben durch die Funktion κ(x, y, z, λ) Die Absorption ist zurückzuführen auf die optische Dichte der Wolke, die ebenfalls abhängig von der Wellenlänge und durch ρ(x, y, z, λ) definiert ist. Sei P(t) ein Sichtstrahl durch das Medium zum Auge (siehe Abb. 2.1), und sei ρ(t, λ) = ρ(p(t), λ) sowie κ(t, λ) = κ(p(t), λ). Ist die optische Dichte an einer Stelle höher, so wird dort einerseits mehr Licht absorbiert, andererseits aber auch mehr Licht emittiert. P(t) t n t + Dt 2 t t - Dt 2 t 0 Abb. 2.1: 2D-Schema einer Gaswolke. P(t) ist ein von t 0 bis t n parametrisierter Sichtstrahl, der durch die Wolke ins Auge fällt. Entnommen aus [2]. Sei I(t, λ) die Intensität der Wellenlänge λ an der Stelle t des Sichtstrahls. Für t gegen 0 ist ρ(t, λ) t der Bruchteil der Intensität des einfallenden Lichts der Wellenlänge λ, der beim Überstreichen von t absorbiert wird. κ(t, λ)ρ(t, λ) t hingegen ist die über t emittierte Intensität der Wellenlänge λ. Unser Ziel ist es, für jeden Sichtstrahl den Wert I(t n, λ) zu berechnen, da dies genau die Intensität der Wellenlänge λ ist, die ins Auge fällt. Der Weg zu diesem Ziel führt 11

12 uns von einem aus Bild 2.1 abgeleiteten Ansatz über die Herleitung einer Differenzialgleichung bis zu einem Ausdruck für I(t n, λ). Die Lichtintensität, die auf dem Sichtstrahl die Stelle t + t 2 erreicht, ist I(t + t 2 Dies lässt sich umformen in t,λ)=i(t,λ)(1 ρ(t, λ) t)+κ(t, λ)ρ(t, λ) t 2 I(t + t t,λ) I(t,λ) 2 2 t Für t gegen 0 ergibt sich die Differenzialgleichung = ρ(t, λ)i(t t,λ)+κ(t, λ)ρ(t, λ) 2 di(t, λ) dt = ρ(t, λ)i(t, λ)+κ(t, λ)ρ(t, λ) (1) Wir stellen die Gleichung nun um und multiplizieren auf beiden Seiten mit dem Term e Ê t t 0 ρ(u,λ)du. Es ergibt sich Ê t ρ(u,λ)du di(t, λ) Ê t t e 0 t + ρ(t, λ)e ρ(u,λ)du Ê t 0 t I(t, λ) =e ρ(u,λ)du 0 κ(t, λ)ρ(t, λ) dt Durch Anwenden der Produktregel erhalten wir Ê d dt [e t t ρ(u,λ)du Ê t 0 t I(t, λ)] = e ρ(u,λ)du 0 κ(t, λ)ρ(t, λ) Nun integrieren wir beide Seiten von t 0 bis t n Ê t t [e ρ(u,λ)du 0 I(t, λ)] tn t 0 = und erhalten tn t 0 Ê t t e ρ(u,λ)du 0 κ(t, λ)ρ(t, λ)dt Ê tn t e ρ(u,λ)du 0 I(t n,λ) e Ê t 0 t ρ(u,λ)du 0 I(t 0,λ)= tn t 0 Ê t t e ρ(u,λ)du 0 κ(t, λ)ρ(t, λ)dt Unter der Berücksichtigung, dass auf der linken Seite das Integral im rechten Term 0 ist, machen wir eine einfache Umformung I(t n,λ)=e Ê tn ρ(t,λ)dt t 0 tn t 0 Ê t e t 0 ρ(u,λ)du κ(t, λ)ρ(t, λ)dt + I(t 0,λ)e Ê tn t 0 und vereinigen die beiden Exponenten im ersten Summanden: I(t n,λ)= tn e t 0 Ê tn t ρ(u,λ)du κ(t, λ)ρ(t, λ)dt + I(t 0,λ)e Ê tn ρ(t,λ)dt t 0 ρ(t,λ)dt Für I(t n, λ) ist keine geschlossene Formel bekannt. Zur tatsächlichen Berechnung dieses Wertes hat man daher nur folgende drei Möglichkeiten: numerische Berechnung von (1) numerische Berechnung von (2) Approximieren von ρ(t, λ) und κ(t, λ) durch einfachere Funktionen, sodass sich Formel (2) zu einem geschlossenen Ausdruck vereinfachen lässt. (2) 12

13 Da die zuletzt genannte Möglichkeit brauchbare Ansätze für viele Visualisierungstechniken liefert, wird sie hier etwas weiter ausgeführt. Wir nehmen zunächst an, κ(t, λ) und ρ(t, λ) seien entlang eines Sehstrahls unabhängig von t, bevor wir diesen Ansatz anschließend auf stückweise Unabhängigkeit von t erweitern. Wegen der Unabhängigkeit der Funktion κ(t, λ) von t lässt sich (2) vereinfachen zu I(t n,λ)=κ(λ)(1 e Ê tn t 0 ρ(u,λ)du )+I(t 0,λ)e Ê tn ρ(t,λ)dt t 0 Da auch ρ(t, λ) unabhängig von t ist, erhalten wir I(t n,λ)=κ(λ)(1 e ρ(λ)(tn t0) )+I(t 0,λ)e ρ(λ)(tn t 0) (3) Gleichung (3) lässt sich identifizieren mit der aus dem Alpha-Blending bekannten Formel für das Back-to-Front-Compositing, wobei gilt C out = C new α + C in (1 α) α =1 e ρ(λ)(tn t 0) C new = κ(λ) C in = I(t 0,λ) C out = I(t n,λ) Es ist somit möglich, eine stückweise Integration entlang des Sehstrahls durchzuführen, wobei κ und ρ für jeden Abschnitt variieren können. Dies entspricht dem Ansatz, dass κ und ρ für festes λ entlang des Sichtstrahls stückweise konstant sind. Einerseits bietet sich also durch ein detaillierteres Sampling des Sichtstrahls die Möglichkeit zur exakteren Berechnung der Gesamtintensität, und andererseits ist die Identifizierung mit dem Alpha-Blending ein wichtiger Schritt in Richtung Hardwarebeschleunigung. Häufig wird die Funktion ρ(t, λ) als unabhängig von λ betrachtet. κ(x, y, z, λ) = I λ und ρ(x, y, z) werden dann in der Regel kompakt als Transferfunktion f(v) = (I r (v), I g (v), I b (v), ρ(v)) definiert, wobei v(x, y, z) der Skalarwert unserer Gaswolke an der Position (x, y, z) ist (dies kann z. B. eine Dichte oder ein Druck sein). 13

14 3 Techniken zur direkten Volumenvisualisierung In den vergangenen Jahren wurden viele unterschiedliche Techniken zur direkten Volumenvisualisierung vorgeschlagen. Das Raytracing (z. B. [3]) ist der älteste Ansatz; er ist sehr flexibel und erlaubt die Verwendung verschiedener physikalischer Modelle, ist aber sehr berechnungsaufwändig. Um die Rechenzeiten zu verkürzen hat man nach schnelleren Darstellungsmethoden gesucht, die die qualitativ hochwertigen Ergebnisse aus dem Raytracing möglichst gut approximieren sollten. Durch vereinfachende Annahmen über Lichtverhalten und Variation der Volumendaten zwischen den Sample-Punkten des Gitters wurden sowohl schnelle Software-Verfahren als auch die Ausnutzung von Hardwarebeschleunigungen möglich. Reguläre Gitter haben sich für Hardwarebeschleunigungen als sehr hilfreich erwiesen (z. B. 3D-Texturierung [29]), ermöglichen aber auch Softwaretechniken, die erhebliche Geschwindigkeitsvorteile bieten können (z. B. Shear-Warp-Transformation [15]). Um diese schnellen Verfahren auch für nicht-reguläre Gitter verwenden zu können, wurden Versuche unternommen, diese auf reguläre Gitter abzubilden. Dieser Ansatz ist zunächst widersinnig, da das Gitter in der Regel genau für solche Daten nicht-regulär ist, die an bestimmten Regionen besonders detailreich sind. Durch ein Resampling würden genau diese Details wieder verlorengehen, oder man müsste das reguläre Zielgitter sehr fein auslegen, was jedoch wegen des kubischen Speicherzuwachses einen immensen Speicheraufwand bedeuten würde. Eine Lösung für dieses Problem sind hierarchische Verfahren. Daneben gibt es jedoch auch Verfahren, die ohne ein Resampling auskommen und direkt auf nichtregulären Gittern arbeiten können. Beispielsweise haben Shirley und Tuchman [4] eine Methode für Tetraedernetze vorgeschlagen, für die es mittlerweile sogar Ansätze zur Hardwarebeschleunigung mit Consumer-Hardware gibt [5] [6]. Man kann die bestehenden Techniken klassifizieren in Objektraum-Verfahren (Object-Order) und Bildraum-Verfahren (Image-Order). Object-Order bedeutet, dass pro Frame für jede Gitterzelle ein bestimmter Algorithmus durchlaufen wird, der diese Zelle visualisiert. Die Gesamtheit der visualisierten Zellen ergibt das gewünschte Resultat. Bei Image-Order-Techniken wird stattdessen ein Algorithmus für jedes Pixel der Sichtebene durchlaufen, um für dieses Pixel den passenden Farbwert zu erhalten. Eine andere wichtige Einteilung der Visualisierungsverfahren ergibt sich aus den Gittern, auf denen die Verfahren arbeiten können. Während Raytracing auf allen Gittertypen funktioniert, benötigt beispielsweise ein 3D-Textur-Ansatz reguläre Gitter. Bevor wir jedoch eine Klassifizierung der Techniken vornehmen (Kapitel 4), werden sie zunächst etwas näher erläutert. 3.1 Raytracing Beim Raytracing von Volumendaten wird durch jedes Pixel der Sichtebene ein Sehstrahl gesendet, der das Volumen durchquert, ähnlich dem Strahl P(t) aus Abb Zur Intensitätsberechnung I(t n,λ) kann eines der in Abschnitt 2.5 angegeben Verfahren verwendet werden. Zum Entwurf eines effizienten Raytracers ist es nötig, die Berechnung möglichst effizient zu gestalten. Für jedes Bildpixel über den gesamten Sehstrahl zu integrieren würde sehr lange dauern. Zur Beschleunigung der Berechnung gibt es zwei grundlegende Vorschläge. Erstens kann man vollständig transparente Bereiche im Volumen einfach überspringen, zweitens kann die Integration entlang des Sehstrahls abgebrochen werden, sobald die Opazität des aktuellen Pixels ohnehin schon nahe 1 ist. Die zweite Technik wird in der Literatur auch Early Ray Termination genannt. Dafür 14

15 muss die Integration allerdings von vorne nach hinten anstatt von hinten nach vorne (wie in Abschnitt 2.5 angegeben) durchgeführt werden. Beide Optimierungen werden z. B. in [3] beschrieben. Trotz Optimierungen bleibt das Raytracing aber eins der langsamsten bekannten Verfahren. In Abb. 3.1 sehen wir ein Beispiel für eine per Raytracing erzeugte direkte Volumenvisualisierung. Abb. 3.1: Direkte Visualisierung des Datensatzes Lobster (Computertomographie eines Hummers) per Raytracing mit der Software AVS/Express Splatting Splatting wurde ursprünglich von Westover [28] vorgeschlagen. Die Idee dabei ist, für jedes Voxel eine zweidimensionale Abbildung (Splat) zu berechnen. Die Überlagerung der Splats auf der Bildebene ergibt das finale Bild. Die Berechnung der Splats besteht aus zwei Schritten. In einem Vorverarbeitungsschritt wird aus einem gewählten Filterkern durch Integration ein generischer Abdruck erzeugt und in einer Lookup-Tabelle gespeichert (generic footprint table). Je nach Kameraposition wird dieser dann pro Frame in einen blickpunktabhängigen Abdruck transformiert (viewdependent footprint table). Ein solcher Abdruck definiert die Verteilung des dem Voxel zugeordneten RGBA-Farbwertes im beeinflussten Bildbereich. Um nun den eigentlichen Splat zu berechnen, muss der Abdruck mit dem Wert des Voxels multipliziert und auf der Bildebene an die entsprechende Stelle verschoben werden. Dort kann dann ein Resampling auf die Bildpixel stattfinden. Falls in der Betrachtungstransformation eine nicht-uniforme Skalierung auftritt, haben die Splats die Form einer Ellipse; bei nur uniformen Skalierungen ergibt sich der Spezialfall eines Kreises. Splatting wurde ursprünglich für reguläre Gitter konzipiert, später aber auch auf rektilineare Gitter erweitert. Falls ein reguläres Gitter zugrunde liegt und die Betrachtungstransformation eine orthogonale Projektion ist, sind die Abdrücke für alle Voxel identisch. Daher muss dann pro Frame nur ein blickpunktabhängiger Abdruck berechnet werden. 3.3 Überblendung texturierter Ebenen Diese Visualisierungstechnik ist eng verbunden mit der Vorstellung, die Volumendaten seien aus vielen übereinanderliegenden Schichten zusammengesetzt. Für jede dieser Schichten wird repräsentativ eine RGBA-texturierte Ebene (Slice) gezeichnet. Durch die Transparenz (Alpha-Kanal) 15

16 wird vermieden, dass darunterliegende Slices verdeckt werden. Um die darzustellenden Slices korrekt texturieren zu können, müssen die Volumendaten auf einem regulären Gitter definiert sein. Das Beleuchtungsmodell entspricht dem in Abschnitt 2.5 vorgestellten Modell, wobei κ und ρ für den von einer Slice repräsentierten Volumenbereich als konstant vorausgesetzt werden. Häufig werden über die Anwendung der Transferfunktion nicht κ und ρ, sondern κ und direkt α ermittelt (α ist die vierte Komponente der RGBA-Textur). Ermöglicht wird dies durch das reguläre Gitter: der Abstand t zwischen zwei Slices ist konstant, daher hängt α nur noch von ρ ab (siehe Ende Abschnitt 2.5) und kann so auch direkt angegeben werden. Man unterscheidet zwischen Verfahren, die zur Hardwarebeschleunigung lediglich 2D-Texturen einsetzen und solchen, die 3D-Texturen verwenden D-Texturen Bei 2D-Textur-Verfahren sind die Lage der einzelnen Slices und die Texturen auf den Slices konstant. Deswegen werden hier die Slices komplett vorberechnet. Um zu vermeiden, dass die Betrachtungsrichtung um mehr als 45 von der Flächennormale der Slices abweicht, werden insgesamt drei Textur-Stapel benötigt. Jeder Stapel enthält die entsprechenden texturierten Slices orthogonal zu einer der drei Hauptachsen. Pro Frame kann dann der Stapel für die Anzeige ausgewählt werden, der für die aktuelle Kameraposition am besten geeignet ist (d. h. geringste Abweichung der Sichtebenennormale von den Slicenormalen). Abb. 3.2: 2D-Textur-Darstellung des Lobster-Datensatzes, erzeugt mit AVS/Express

17 Abb. 3.3: Eine weitere 2D-Textur-Darstellung, in der nach minimaler Kamerabewegung gegenüber Abb. 3.2 ein anderer Textur-Stapel verwendet wird. In Abb. 3.2 sieht man Streifenartefakte unten im Bild; hier sind sie oben zu sehen. Diese Methode ist sehr schnell, doch je höher der Blickwinkel auf die Slices ist, umso stärker merkt der Betrachter, dass es sich um einzelne hintereinanderliegende Slices handelt, was sich in streifenartigen Artefakten äußert. Beim Umschalten zwischen zwei Textur-Stapeln fallen diese Artefakte besonders stark auf, da sie plötzlich an der einen Stelle verschwinden und an einer anderen wieder auftreten (siehe Abbn. 3.2 und 3.3). 17

18 D-Texturen Bei der 3D-Texturierung wird versucht, das Umschalten zwischen verschiedenen Textur-Stapeln zu vermeiden, indem die Slices in jedem Fall parallel zur Bildebene ausgerichtet werden (siehe Abb. 3.4). Eine Slice-Vorberechnung ist dann natürlich nicht mehr möglich. Die Ebenen müssen also pro Frame neu berechnet und texturiert werden. Da außerdem die Ausrichtung der Ebenen nun nicht mehr mit der der einzelnen Volumenschichten übereinstimmt, ist keine 2D-Texturierung möglich. Stattdessen legt man den Volumendatensatz als 3D-Textur ab und ordnet den Eckpunkten der Slices 3D-Texturkoordinaten zu. Durch eine hardwareunterstützte, trilineare Interpolation bleibt das Verfahren echtzeittauglich. In Abb. 3.5 sehen wir eine 3D-Textur-Darstellung. Abb. 3.4: Links: 2D-Textur-Stapel, Randartefakte fett gezeichnet. Rechts: orthogonale Ausrichtung der Slices bei der Verwendung von 3D-Texturen; Artefakte an allen Rändern möglich; Streifenartefakte immer noch vorhanden. Bei zu wenigen Slices sieht man einerseits am Rand des Volumens Artefakte (siehe Abb. 3.4); andererseits kommen im gesamten Bildbereich Streifenartefakte vor, die durch den Abstand der Überblendungsebenen zueinander in Verbindung mit deren unterschiedlicher Größe entstehen. Randartefakte treten beim 3D-Textur-Verfahren an allen Rändern auf, beim 2D-Textur-Verfahren hingegen nicht an allen Rändern (vgl. Abb. 3.4). Komplett beseitigen lassen sich die Artefakte nicht; man kann jedoch die Anzahl der Slices erhöhen bzw. den Slice-Abstand verkleinern, um die visuellen Auswirkungen zu verringern. 18

19 Abb. 3.5: 3D-Textur-Darstellung, erzeugt mit einer erweiterten Version des OpenSG VolumeViewers [33]. Die Streifenartefakte, die hier ansatzweise im Übergang von roten zu grünen Farbtönen zu sehen sind, werden bei einer interaktiven Betrachtung noch deutlicher. 19

20 3.4 Shear-Warp-Faktorisierung Die Basis für diese Technik ähnelt der des 2D-Textur-Verfahrens. Man betrachtet hauptachsenorthogonale Schnitte durch einen rektilinearen Volumendatensatz. Anstatt nun texturierte Schnittebenen im Raum zu platzieren und von der Grafikhardware rendern zu lassen, wird die Betrachtungstransformation in die drei Komponenten Scherung (im perspektivischen Fall mit Skalierung), achsenparallele Projektion und 2D-Bildtransformation (Warp) faktorisiert (siehe Abb. 3.6). Sichtstrahlen Scherung Volumen- Slices Projektion 2D-Warp Bildebene Sichtstrahlen Scherung und Skalierung Volumen- Slices Projektion 2D-Warp Bildebene Abb. 3.6: Shear-Warp-Faktorisierung der orthogonalen (oben) bzw. perspektivischen (unten) Betrachtungstransformation. Lacroute und Levoy haben dieses reine Software-Verfahren von der ursprünglichen orthogonalen auf eine perspektivische Projektion erweitert und stellen Möglichkeiten zur Beschleunigung der achsenorthogonalen Projektion vor [15]. Diese Beschleunigungen werden durch eine scanlinebasierte Traversierung von Volumenvoxeln und Bildpixeln und die Verwendung von speziellen, 20

21 Lauflängencodierungen verwendenden Datenstrukturen möglich. So können transparente und verdeckte Voxel übersprungen werden. Die Shear-Warp-Faktorisierung ist ein effizientes Software-Verfahren für rektilineare Gitter, jedoch treten Qualitätsverluste durch das zweimalige Resampling (Überblendung der gescherten Ebenen sowie 2D-Warp) auf, die je nach Kameraposition und Transferfunktion unterschiedlich stark ausfallen. 3.5 Shirley-Tuchman-Verfahren Das direkte Volumenrendering einer einzelnen Volumenzelle erzeugt auf der Sichtebene einen zweidimensionalen Bereich, dessen Rand identisch ist mit dem Rand der 2D-Projektion der Volumenzelle auf die Sichtebene. Diese Tatsache ist es, die dem Verfahren von Shirley und Tuchman [4] zugrunde liegt. Hier wird die Projektion einer Volumenzelle auf die Sichtebene berechnet und direkt mit 2D-Primitiven hardwarebeschleunigt gezeichnet, anstatt wie beim Raytracing über Integration Pixel für Pixel zu berechnen. Dabei ist es wichtig, die Farben und Opazitäten der 2D- Primitive so zu wählen, dass das Ergebnis aussieht wie ein aus dem Raytracing entstandenes Bild. Um nicht nur reguläre, sondern auch unstrukturierte Gittertypen mit abzudecken, wird bei diesem Verfahren für die Projektion auf die Sichtebene das Tetraeder als Grund-Volumenzelle gewählt. (Jedes Polyeder und damit jedes unstrukturierte Gitter kann in eine Menge von sich nicht durchdringenden Tetraedern zerlegt werden.) Deswegen heißt diese Technik auch Verfahren der projizierten Tetraeder (Projected Tetrahedra Algorithm). Den Rand dieser Projektion zu bestimmen ist einfach (siehe auch Abb. 3.7). Abb. 3.7: Tetraeder-Projektion auf die Sichtebene. Schwieriger ist es jedoch, die Farben und Opazitäten für die Dreiecke zu berechnen, die die Projektion darstellen und dem Betrachter ein gerendertes Tetraeder vortäuschen sollen. Hier lässt sich Formel (3) aus Abschnitt 2.5 anwenden. Der Sehstrahl wird dabei so gesampelt, dass die t i mit 0 < i < n die Grenzen zwischen je zwei benachbarten Tetraedern entlang des Sichtstrahls markieren. Werden nun mehrere Tetraeder nacheinander gerendert, ist für das Compositing auf eine korrekte Reihenfolge von hinten nach vorne zu achten. Das bedeutet aber, dass die zu zeichnende Tetraedermenge neu sortiert werden muss, sobald sich die Kameraposition ändert. Eine einfach zu ermittelnde Sortierung ergibt sich aus den Abständen zwischen Kamera und Tetraederzentren. Obwohl diese Sortierung nicht korrekt ist, wie Abb. 3.8 verdeutlicht, ermöglicht sie doch annähernd korrekte Ergebnisse und wird wegen ihrer schnellen Berechenbarkeit häufig in Echtzeitanwendungen eingesetzt. 21

22 Bereich in B, der von A verdeckt wird A C A C B B a b Kamera Abb. 3.8: In diesem Beispiel liegt das Zentrum C B von B näher an der Kamera als das Zentrum C A von A. Bei einer Sortierung nach Zentrumsabständen zur Kamera wird daher zuerst A und anschließend B gezeichnet. Der durch A überdeckte Teil von B wird inkorrekt dargestellt. In den vergangenen Jahren wurde viel Arbeit in die Erforschung korrekter, aber möglichst schneller Sortierverfahren für diese Anwendung gesteckt. Die derzeit schnellsten Methoden [17] [18] beruhen auf der Speicherung eines Graphen, dessen Knoten die Volumenzellen darstellen. Eine Kante existiert zwischen zwei Knoten genau dann, wenn die entsprechenden Zellen benachbart sind. Die Richtung einer Kante gibt an, welche der beiden Zellen die vordere und welche die hintere ist. Bei einer Änderung der Kameraposition wird nur die Richtung der Kanten aktualisiert. Die Kanten induzieren eine partielle Ordnung auf der Menge aller Zellen, die benutzt werden kann um eine korrekte Sortierung aller Zellen zu erhalten. 3.6 Hierarchische Verfahren Für die derzeit schnellsten Techniken der direkten Volumenvisualisierung sind reguläre Gitter notwendig. Über Resampling lassen sich zwar alle Gittertypen auf reguläre Gitter abbilden, dies bringt aber - wie am Anfang von Kapitel 3 beschrieben - Detailverluste oder einen immensen Speicheraufwand mit sich. Hierarchische Verfahren bieten hier einen Ausweg. Sie arbeiten mit einer Komposition unterschiedlich hoch aufgelöster regulärer Gitter. Dort, wo das Ursprungsgitter sehr hoch aufgelöst ist, werden die Daten auf ein sehr feines reguläres Gitter abgebildet; für gröbere Regionen sieht man ebenfalls ein gröberes reguläres Zielgitter vor. Angewendet wurde diese Idee bereits auf 3D-Textur-Verfahren [7] [11]. Hierarchische Verfahren bringen jedoch auch zwei Probleme mit sich. Zum einen können je nach Verfahren an den Übergängen zwischen je zwei regulären Gittern unterschiedlich hoher Auflösung Darstellungsartefakte entstehen. Für hierarchische 3D-Texturen ist die Beseitigung dieser Artefakte ein aktueller Forschungsgegenstand. Zum anderen ist darauf zu achten, dass je nach Feinheit des regulären Zielgitters evtl. einige Parameter der verwendeten Visualisierungstechnik angepasst werden müssen. Bei hierarchischen 3D-Texturen ist eine Alpha-Korrektur nötig, um die höher aufgelösten Bereiche nicht durch eine zu hohe Opazität hervorstechen zu lassen. 22

23 4 Anforderungen und Ziele In dieser Masterarbeit soll ein Modul für AVS/Express entwickelt werden, das direkte Volumenvisualisierung auf unstrukturierten Daten möglich macht. Für die Visualisierung soll der Szenengraph OpenSG verwendet werden. AVS/Express bietet bislang kein solches Visualisierungsverfahren auf unstrukturierten Gittern an. Man kann zwar ein Resampling auf ein reguläres Gitter durchführen, jedoch verliert man dadurch entweder Detailinformationen oder benötigt unverhältnismäßig viel Speicher und, damit verbunden, auch sehr hohe Rechenzeiten. Die Verwendung von AVS als eine Basis für diese Arbeit ist sinnvoll, weil dadurch bereits unterschiedliche Datenimport- und Vorverarbeitungsmöglichkeiten existieren. Außerdem bietet AVS eine sehr effiziente Erstellung von grafischen Benutzeroberflächen. Die Programmierung dieses Moduls unter Verwendung der OpenSG-Bibliothek hat eine gute Erweiterbarkeit und Wartbarkeit zur Folge. Die Erweiterbarkeit bezieht sich z. B. auf das Einbinden weiterer Rendertechniken oder das Unterstützen unterschiedlicher Ausgabegeräte (wie etwa die Visualisierung in einem Rechner-Cluster). Als Rendertechnik soll hier nicht das Resampling auf ein einziges reguläres Gitter angewendet werden. Die Nachteile dieser Methode wurden oben bereits erwähnt, außerdem wird dieses Feature bereits von AVS unterstützt. Ein Ziel ist die möglichst echtzeitnahe Darstellung, d. h. dass ein Benutzer im Idealfall den unstrukturierten Datensatz ohne merkbare Verzögerungen von allen Seiten interaktiv betrachten kann. Wir wollen nun die in Kapitel 3 vorgestellten Methoden zur direkten Volumenvisualisierung bezüglich dieser Bedürfnisse untersuchen. Die wesentlichen Aspekte sind der erlaubte Gittertyp und die Renderzeit für ein Frame. Der Vergleich von Renderzeiten für unterschiedliche Verfahren ist problematisch, da diese Zeiten nicht nur vom Verfahren selbst, sondern auch von der Beschaffenheit des dargestellten Datensatzes und der gewählten Transferfunktion abhängen. Außerdem hängt die Schnelligkeit einer Implementierung natürlich davon ab, welche Optimierungen eingesetzt werden. Es sei zudem darauf hingewiesen, dass die Änderung gewisser Parameter sich für unterschiedliche Verfahren unterschiedlich stark in der Rechenzeit auswirkt. Wenn man z. B. die Auflösung des Viewports erhöht, steigt die Rechenzeit beim Raytracing wesentlich stärker an als bei Gittertyp Renderzeit / Frame [sec.] Fuel Neghip Skull Blood Shock x512 Raytracing unstr. 4,96 8,15 7,78 12,31 3,02 Splatting rektilinear 1,147,35 11,09 1,87 21,77 Shear-Warp rektilinear 0,09 0,240,27 0,09 0,91 3D-Texturen regulär 0,06 0,040,7 0,7 0,14 Shirley-Tuchman unstr. Tabelle 4.1: Aufstellung unterstützter Gittertypen für die in Kapitel 3 beschriebenen Verfahren, sowie Renderzeiten für verschiedene reguläre Datensätze (entnommen aus [12]). Das in [12] angegebene Testsystem besteht aus einer SGI Octane (R MHz) mit 256 MB Hauptspeicher und einer MXE-Grafikkarte mit 4 MB Texturspeicher. 23

24 einer 3D-Textur-Darstellung. In [12] wird ein Vergleich vier verschiedener Renderverfahren versucht. Die dort für unterschiedliche Datensätze gemessenen Renderzeiten sind in Tabelle 4.1 zusammengestellt. Wie wir der Tabelle entnehmen, sind Raytracing und Splatting in jedem Fall deutlich langsamer als das Shear-Warp-Verfahren und die 3D-Textur-Darstellung. Leider ist davon das Raytracing die einzige Methode für unstrukturierte Gitter. Mit der Shirley-Tuchman-Methode wurden unter Verwendung von Vertex-Shadern bereits Renderzeiten erzielt, die für Gittergrößen bis zu Tetraedern im Echtzeitbereich liegen [5], wobei allerdings die Zeit zum Sortieren der Tetraeder nicht berücksichtigt wurde. Einen Teil der Ergebnisse aus [5] sehen wir in Tabelle 4.2. Datensatz # Tetraeder GPU-Zeit (sec.) GPU-Zeit / Tetraeder Blunt Fin ,20 0,043 Oxygen Post ,55 0,043 Delta Wing ,07 0,043 Tabelle 4.2: GPU-Renderzeiten des mit Vertex-Shadern implementierten Shirley-Tuchman-Verfahrens aus [5] für drei verschiedene Datensätze. Die Zeiten beinhalten nicht die nötige Tetraedersortierung (Daten hierüber gibt das Paper nicht her). Es wird von einem konstanten Volumenwert innerhalb der Tetraeder ausgegangen. Das direkte Rendern von unstrukturierten Daten (Tetraedern) ist nur per Raytracing oder mit dem Shirley-Tuchman-Verfahren möglich. Raytracing scheidet wegen seiner Langsamkeit für Echtzeitanwendungen aus. Daher wurde für diese Arbeit die Entscheidung getroffen, die Shirley-Tuchman- Methode zu benutzen. Über hierarchisches Resampling auf reguläre Gitter ist auch jedes andere Verfahren aus Kapitel 3 auf unstrukturierten Daten verwendbar. Über Verfeinerungen an detaillierteren Gitterbereichen kann gerade dort eine genauere Visualisierung erfolgen. Die Verfeinerungen können zudem adaptiv den Möglichkeiten des eingesetzten Rechners angepasst werden. Diese Technik eignet sich hervorragend für Echtzeitanwendungen und wurde daher in dieser Arbeit ebenfalls am Beispiel von hierarchischen 3D-Texturen implementiert. Programmiert wurde auf der Windows-Plattform; als Compiler wurde der Intel Compiler 7.1 benutzt. Die Entwicklungsumgebung zum Compilieren der OpenSG-Erweiterungen war Cygwin 1.5; für die Entwicklung des AVS-Moduls wurde Microsoft Visual Studio 6.0 eingesetzt; zum Testen diente AVS/Express 6.1 [34]. 24

25 5 Implementierung des Shirley-Tuchman-Verfahrens Das Shirley-Tuchmann-Verfahren ist ein Object-Order-Verfahren. Pro Frame wird jedes Tetraeder genau einmal gezeichnet. In den Abschnitten 5.1 und 5.2 schauen wir uns zunächst an, welche Schritte pro Frame durchgeführt werden. Implementiert man diese Visualisierungstechnik genau so, wie sie im Paper [4] von Shirley und Tuchman beschrieben wird, so erhält man deutliche Artefakte. 5.3 zeigt ein Beispiel solcher Artefakte und beschreibt, wie man sie vermeiden kann. Da wegen der Transparenz die Tetraeder von hinten nach vorne gerendert werden müssen, muss vor jedem Frame eine Sortierung der Tetraeder stattfinden. 5.4 beschäftigt sich mit dieser Thematik und gibt eine sehr einfache und schnelle Art der Sortierung an. Abschnitt 5.5 beschreibt den Gesamtablauf für das Rendern eines Frames. 5.6 präsentiert visuelle Ergebnisse und Zeitmessungen, bevor 5.7 das Kapitel mit Beschreibungen der entworfenen C++ Klassen abschließt. Das OpenSG-Paket wurde im Zuge dieser Arbeit um die neue Library UnstructuredVolRenLib erweitert, die nun unter anderem einen OpenSG-Knoten ProjectedTetrahedra zur Benutzung des Shirley-Tuchman-Verfahrens anbietet. In den folgenden Abschnitten wird neben den detaillierten Verfahrensbeschreibungen auch auf diese Erweiterung eingegangen. 5.1 Klassifizierung Stellen wir uns das zu projizierende Tetraeder als Drahtmodell vor, so besteht die 2D-Projektion auf der Sichtebene je nach Lage dieser Ebene aus einem, zwei, drei oder vier Dreiecken. Da es später genau diese Dreiecke sind, die wir zeichnen möchten, ist es sinnvoll zunächst festzuhalten um welchen Fall es sich handelt. Für die spätere Farbgebung ist aber nicht nur die Anzahl der zu zeichnenden Dreiecke wichtig, sondern auch die Information, welche Seite des Tetraeders der Ka- Klasse Klasse Klasse Klasse Klasse Klasse Abb. 5.1: Klassifizierung projizierter Tetraeder. 25

26 mera zu- und welche ihr abgewandt ist. Analog zu Shirley und Tuchman definieren wir hier sechs Tetraeder-Klassen über die Anzahl der zur Kamera gerichteten ( + ), abgewandten ( - ) und orthogonal zur Blickrichtung orientierten ( 0 ) Seitenflächen (siehe Abb. 5.1). Da die Normalen der Seitenflächen für die Klassifizierung eine entscheidende Rolle spielen und somit in jedem Frame benötigt werden, sind sie Member-Variablen der Tetraederklasse ClassifiedTetrahedron und werden direkt beim Erzeugen eines Tetraeders berechnet. Der Klassifizierungs-Funktion classify in der Klasse ProjectedTetrahedra wird ein Tetraeder und die Kamera-Position übergeben. Während der Klassifizierung wird für jede der vier Seitenflächen das Skalarprodukt zwischen der Flächennormale und dem Vektor von einem Flächenpunkt zur Kamera berechnet. Je nach Ergebnis (nahe 0, größer als 0, kleiner als 0) liegt die Fläche orthogonal zur Blickrichtung, der Kamera zu- oder abgewandt. In der Klasse ClassifiedTetrahedron gibt es eine 16-bittige Variable classification, die in den Bits 0 bis 5 die Anzahl der + -, 0 - und - -Flächen speichert und in den Bits 6 bis 13 den Zustand (+, 0 oder -) für jede Fläche einzeln festhält (siehe Abb. 5.2). So wird viel Information mit geringem Platzbedarf übersichtlich und schnell abfragbar bereit gehalten. Bit 15 Bit 0 xx xx xx xx xx xx xx xx Zustand Fläche BCD Anzahl + -Flächen Zustand Fläche ACD Zustand Fläche ABD Anzahl 0 -Flächen Anzahl - -Flächen ungenutzt Zustand Fläche ABC Abb. 5.2: Codierung der Klassifizierungsdaten in der Variablen classification der Klasse ClassifiedTetrahedron. Für die Flächenzustände steht der Bitcode 00 für eine - -Fläche, 01 für eine 0 -Fläche und 10 für eine + -Fläche. 5.2 Dickpunktbestimmung und Farbzuweisung Da wir die Dreiecke mit Hardwareunterstützung zeichnen möchten, genügt es, die Farben und Opazitäten für die Eckpunkte der Dreiecke zu bestimmen. Die Grafikhardware führt dann eine bilineare Interpolation für die Punkte innerhalb des Dreiecks durch. Für die folgenden Beschreibungen benötigen wir zunächst einige Definitionen. Wir stellen uns Strahlen vor, die ausgehend von der Kameraposition das Tetraeder durchdringen oder berühren. Jeder dieser Strahlen markiert auf der Sichtebene einen Punkt auf der 2D-Projektion des Tetraeders. Sei der Punkt S R ein solcher Punkt für den Strahl R. Dann definieren wir den Schnitt von R mit dem Tetraeder als Schnittstrecke D R. Die Länge von D R nennen wir Dicke d R des Strahls R oder auch Dicke von S R. Von allen Strahlen gibt es genau einen Strahl M mit maximaler Dicke. S M bezeichnen wir mit Dickpunkt, D M mit Dickstrecke, d M mit Tetraederdicke (siehe Abb. 5.3). Wir entnehmen Abb. 5.4, welche Dreiecke man je nach Tetraederklasse sinnvollerweise zeichnet, um eine Tetraederprojektion zu approximieren. Es fällt sofort auf, dass bei jedem Dreieck genau 26

27 d M M S M D M Abb. 5.3: Definition von Dickpunkt S M, Dickstrecke D M und Tetraederdicke d M. Klassen 0, 1 Klasse 2 Klassen 3, 4 Klasse 5 3 Dreiecke 4 Dreiecke 2 Dreiecke 1 Dreieck Abb. 5.4: Zerlegung der Tetraederprojektionen in Dreiecke. Die Dickpunkte sind durch Kreise markiert. ein Eckpunkt ein Dickpunkt ist. Die übrigen beiden Eckpunkte sind jeweils Punkte mit einer Dicke von 0. Farbe und Opazität für Punkte mit einer Dicke von 0 zu ermitteln ist einfach: man wendet lediglich die Transferfunktion auf den Skalarwert an einem solchen Punkt an und erhält die gewünschte Farbe. Die Opazität wird für diesen Punkt zu 0 gesetzt, da bei einem durch den Punkt fallenden Lichtstrahl weder Absorption noch Emission auftreten. Handelt es sich um einen Dickpunkt, wird zwar die Farbe wieder direkt über die Transferfunktion ermittelt, die Opazität ist jedoch ungleich 0 und muss aus Tetraeder-Dicke und optischer Dichte berechnet werden. Die optische Dichte wird abhängig vom Skalarwert am Dickpunkt über die Transferfunktion definiert (vierte Komponente nach RGB). Um Verwechslungen zu vermeiden beachte man, dass der durch die Transferfunktion gelieferte Alpha-Wert der optischen Dichte ρ(v) entspricht und sich unterscheidet von der Opazität α des Dickpunktes. Diese Dickpunkt-Opazität 27

28 wird berechnet nach der Formel α =1 e ρ(v) d c (5.1) Dabei ist d die Tetraederdicke relativ zum Gesamtausmaß des unstrukturierten Gitters. Im Exponenten werden die beiden variablen Faktoren ρ(v) und d benötigt. Einerseits möchte man über die optische Dichte ρ(v), die der Transferfunktion entnommen wird, Einfluss auf die Opazität des Tetraeders gewinnen. Andererseits muss für feste optische Dichte ein dickeres Tetraeder opaker wirken als ein nicht so dickes. ρ(v) und d liegen beide im Intervall [0,1]. Wir möchten, dass α ebenfalls in diesem Intervall liegt. Um dies zu erreichen, wurde im Exponenten in (5.1) ein konstanter Skalierungsfaktor c eingefügt. Je größer c ist, umso mehr nähert sich das maximal mögliche α (für ρ = d = 1) der Zahl 1. Das Intervall [0,1] wird also umso besser abgedeckt, je größer c ist. Ein großes c hat jedoch den Nachteil, dass die Funktion α c (t = ρ d) =1 e t c nur für kleine t den Funktionswert α c (t) im kompletten Intervall [0,1] variieren lässt. Für t > 0 geht α c (t) sehr schnell gegen 1. Ein solches Verhalten ist unerwünscht, weil dadurch die Kontrollierbarkeit der Funktionswerte über den Parameter ρ stark eingeschränkt wird. Wir dürfen also c nicht zu groß wählen. Ein vernünftiger Wert für c ist 6,9; dadurch sind α-werte zwischen 0 und 0,999 möglich, und ein zu steiler Verlauf des Graphen für kleine t wird vermieden (siehe Abb. 5.5). a c (t) c = 100 c = 10 c = 6,9 c = 4 c = Abb. 5.5: Graph der Funktion α c (t) für verschiedene c. t = r d Die Tetraederdicke d wird aus der Kameraposition und den Tetraedereckpunkten berechnet. Shirley und Tuchman schlagen in ihrer Veröffentlichung [4] vor, das Tetraeder auf die Sichtebene zu projizieren, dort eine Bestimmung des Dickpunktes durchzuführen und zur Berechnung der Tetraederdicke eine Rücktransformation in den 3D-Raum vorzunehmen. Die Bestimmung des Dickpunktes auf der Sichtebene motivieren sie mit dem Argument, das Tetraeder müsse zur Darstellung ohnehin auf die Sichtebene projiziert werden. Da heutzutage diese Transformation von der Grafikhardware gemacht wird, zählt dieses Argument jedoch nicht mehr. In der Implementierung dieser Arbeit 28

29 findet deswegen keine softwareseitige 2D-Projektion statt. Die Berechnung des Dickpunktes erfolgt im 3D-Raum über Geraden- und Ebenenschnitte, und für Positionen der einzelnen Dreiecke werden direkt die Koordinaten der Tetraedereckpunkte verwendet. 5.3 Alpha-Korrektur Die in 5.2 beschriebene Farbgebung ist zwar für die Eckpunkte korrekt, aber die bilineare Interpolation liefert für die übrigen Dreieckspunkte falsche Opazitäts-Werte. Dies soll anhand Abb. 5.6 verdeutlicht werden. a 3 = 1 - e -rdc a 4 Abb. 5.6: Bilineare Interpolation liefert inkorrekte Opazitätswerte. Der Wert α 4 auf halber Strecke zwischen α 0 und α 3 ist bei einer bilinearen Interpolation genau der Mittelwert, also α 4,bilinear = e ρ d c Der korrekte Wert für α 4 ist jedoch α 4 =1 e ρ d 2 c α 4 und α 4, bilinear sind nur für ρ = 0 oder d = 0 identisch, allgemein liefert die bilineare Interpolation hier demnach falsche Ergebnisse. Dies äußert sich in der Darstellung durch Artefakte, wie sie in Abb. 5.7 zu sehen sind. Dieser Fehler lässt sich durch Texturierung des Dreiecks korrigieren. Die Farben werden weiterhin durch bilineare Interpolation aus den drei Eckpunkten ermittelt, und der Alpha-Wert wird zunächst zu 1 gesetzt. Anschließend modulieren wir eine Luminanz-Alpha-Textur über die bisherige Dreieckseinfärbung, wobei die Farben unverändert bleiben (Textur-Luminanz = 1) und der Alpha-Wert aus der Textur übernommen wird. So kann für jedes Dreieck ein und dieselbe Textur verwendet werden. Mit den Texturkoordinaten ρ und d (optische Dichte und Tetraederdicke) wird in einem Vorverarbeitungsschritt diese Alpha-Korrektur-Textur analog zu Gleichung (5.1) wie folgt initialisiert: tex(ρ, d) =1 e ρ d c a 1 = 0 a 2 = 0 Der Alpha-Kanal ist in Abb. 5.8 illustriert. Für das Setzen der Texturkoordinaten für jeden Dreiecks-Eckpunkt benötigt man die optische Dichte (wird wie in Abschnitt 5.2 ermittelt) sowie die Tetraederdicke. 29

30 Abb. 5.7: Oben: Artefaktbildung ohne Alphakorrektur; unten: mit Alphakorrektur. r r d 1 d Abb. 5.8: Links: Alpha-Kanal der Alpha-Korrektions-Textur. Auf der x-achse ist die Tetraederdicke aufgetragen, auf der y-achse die optische Dichte. Rechts: beispielhafte Positionierung eines zu zeichnenden Dreiecks im Textur-Koordinatenraum. 30

31 5.4 Tetraeder-Sortierung In einer nicht gut durchdachten Implementierung des Shirley-Tuchman-Verfahrens kann die Echtzeitdarstellung schon an einer zu zeitaufwändigen Tetraedersortierung scheitern. Daher ist es besonders wichtig, hier so viel Rechenzeit einzusparen wie möglich. Um dies zu erreichen, kann man sehr schnelle Sortieralgorithmen einsetzen, die speziell auf dieses Problem zugeschnitten sind [17] [18]. Eine andere Möglichkeit ist, lediglich eine approximative Sortierung vorzunehmen, d. h. potenziell in nicht jedem Fall eine korrekte Sortierung zu erhalten, dafür aber Rechenzeit zu sparen. Da sich beim Testen der zuletzt genannten Möglichkeit gute visuelle Ergebnisse zeigten, wird hier ein einfaches, approximatives Sortierverfahren eingesetzt. Die gewählte Methode ist eine Kombination aus drei Approximationen. Als erste Approximation werden lediglich die Tetraederzentren betrachtet anstatt Tetraederverdeckungen zu untersuchen. So werden keine Zusammenhangsinformationen für die einzelnen Tetraeder benötigt. Zum Sortieren der Tetraeder nach dem Abstand ihrer Zentren zur Kamera kommt ein Bucketsort-Algorithmus zum Einsatz, der in nur einem Durchlauf durch die Tetraederliste die Tetraeder grob in je einen von 100 Abstandsbereichen einsortiert. Diese zweite Approximation ist sinnvoll, da sich viele der Tetraeder mit annähernd gleichem Abstand zur Kamera ohnehin nicht überdecken. Mit diesen beiden Approximationen hat man bereits sehr viel Rechenzeit gegenüber einer exakten Sortierung mit Quicksort eingespart (siehe Abb. 5.9). Sortierzeit in ms QuickSort 330 approx. BucketSort 34,9 PreSort 0,0677 Init. PreSort 454 Abb. 5.9: Sortierzeit verschiedener Algorithmen für Tetraeder (AMD Athlon XP 1666 MHz). PreSort: nur Auswahl der vorsortierten Liste. Init. PreSort: Anwendung von approx. BucketSort für 13 verschiedene Richtungen. Ohne viel Mehraufwand kann die Framerate aber noch weiter gesteigert werden. Wir machen eine Vorsortierung der Tetraeder für 13 unterschiedliche Blickrichtungen. Für diesen Vorverarbeitungsschritt könnte man zwar anstatt des schnellen Bucketsort-Algorithmus auf einen langsameren, exakten Algorithmus umsteigen, aber da Bucketsort in hier vorgenommenen Tests sehr gute Resultate geliefert hat, wird dieser Algorithmus auch zur Vorsortierung eingesetzt. Eine schnelle Vorverarbeitung ist für eine Applikation, die das Shirley-Tuchman-Verfahren benutzt, angenehm. Zur Bestimmung der Sortierungs-Richtungen stellen wir uns eine Einheitskugel um das Zentrum der globalen Boundingbox vor (siehe Abb. 5.10). Die Oberfläche der Einheitskugel ist parametrisierbar über Längengrad λ und Breitengrad β, mit 0 <= λ < 360 und -90 <= β <= 90. Mit den 13 in Abb. 5.8 über Längen- und Breitengrad angegebenen Richtungen wird die gesamte Kugel abgedeckt, wenn man berücksichtigt, dass sich durch Spiegelung am Kugelzentrum 13 weitere Positionen ergeben. Im Programm entspricht eine Spiegelung am Kugelzentrum dem Rückwärtsablaufen der sortierten Tetraederliste. Pro Frame muss nun nur noch eine der vorsortierten Tetraederlisten ausgewählt werden. Dazu wird die aktuelle Kameraposition auf die Einheitskugel abgebildet, und Längen- und Breitengrad (λ p, β p ) dieser Projektion werden berechnet. (λ p, β p ) wird dann durch separate Rundung der beiden Komponenten einer der 26 Vorsortierungs-Richtungen zugewiesen. 31

Volumen Visualisierung

Volumen Visualisierung Volumen Visualisierung Seminar Interaktive Visualisierung (WS 06/07) Fabian Spiegel und Christian Meß Fabian Spiegel und Christian Meß 1 Übersicht Anwendungsbeispiele Volumendaten Entstehung Repräsentation

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

computer graphics & visualization

computer graphics & visualization Entwicklung und Implementierung echtzeitfähiger Verfahren zur Darstellung von reflektierenden Objekten auf GPUs echtzeitfähiger Verfahren zur Darstellung von reflektierenden Objekten auf GPUs Motivation

Mehr

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN)

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN) 1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN) D A S S O L L T E N N A C H E U R E M R E F E R A T A L L E K Ö N N E N : Kostenfunktion, Erlösfunktion und Gewinnfunktion aufstellen, graphisch

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Physik & Musik. Stimmgabeln. 1 Auftrag

Physik & Musik. Stimmgabeln. 1 Auftrag Physik & Musik 5 Stimmgabeln 1 Auftrag Physik & Musik Stimmgabeln Seite 1 Stimmgabeln Bearbeitungszeit: 30 Minuten Sozialform: Einzel- oder Partnerarbeit Voraussetzung: Posten 1: "Wie funktioniert ein

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Eigenen Farbverlauf erstellen

Eigenen Farbverlauf erstellen Diese Serie ist an totale Neulinge gerichtet. Neu bei PhotoLine, evtl. sogar komplett neu, was Bildbearbeitung betrifft. So versuche ich, hier alles einfach zu halten. Ich habe sogar PhotoLine ein zweites

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Aufgabe 1. Zunächst wird die allgemeine Tangentengleichung in Abhängigkeit von a aufgestellt:

Aufgabe 1. Zunächst wird die allgemeine Tangentengleichung in Abhängigkeit von a aufgestellt: Aufgabe 1 1.1. Bestimmung von D max : 1. Bedingung: x >0 ; da ln(x) nur für x > 0 definiert ist. 2. Bedingung: Somit ist die Funktion f a nur für x > 0 definiert und sie besitzt eine Definitionslücke an

Mehr

Advanced Rendering Interior Szene

Advanced Rendering Interior Szene Advanced Rendering Interior Szene in Cinema 4D 11-11.5 Als erstes, sollten Sie ihre Szene in Cinema 4D öffnen. vergewissern sie sich, ob alle Licht quellen die evtl. mit importiert wurden, aus der Szene

Mehr

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen 3D-Rendering Ulf Döring, Markus Färber 07.03.2011 1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen Anzeigefläche (a) Worin besteht das Sichtbarkeitsproblem?

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Modellbildungssysteme: Pädagogische und didaktische Ziele

Modellbildungssysteme: Pädagogische und didaktische Ziele Modellbildungssysteme: Pädagogische und didaktische Ziele Was hat Modellbildung mit der Schule zu tun? Der Bildungsplan 1994 formuliert: "Die schnelle Zunahme des Wissens, die hohe Differenzierung und

Mehr

(C)opyright 2009 by Jochen Vajda

(C)opyright 2009 by Jochen Vajda (C)opyright 2009 by Jochen Vajda Inhalt Einführung Darstellung des Verzeichnisbaums Statusleiste Überschreibenvon Dateien Ordnereinstellungen Suche Einleitung Der folgende Artikel vergleicht den Windows

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

Die Übereckperspektive mit zwei Fluchtpunkten

Die Übereckperspektive mit zwei Fluchtpunkten Perspektive Perspektive mit zwei Fluchtpunkten (S. 1 von 8) / www.kunstbrowser.de Die Übereckperspektive mit zwei Fluchtpunkten Bei dieser Perspektivart wird der rechtwinklige Körper so auf die Grundebene

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb

10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb Die Komprimierung: Die Abkürzung JPG (oder auch JPEG) steht für "Joint Photographic Experts Group". Dieses Bildformat ist nach der Expertengruppe, die es erfunden hat, benannt. Die Komprimierung empfiehlt

Mehr

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775, Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen

Mehr

11.3 Komplexe Potenzreihen und weitere komplexe Funktionen

11.3 Komplexe Potenzreihen und weitere komplexe Funktionen .3 Komplexe Potenzreihen und weitere komplexe Funktionen Definition.) komplexe Folgen: z n = x n + j. y n mit zwei reellen Folgen x n und y n.) Konvergenz: Eine komplexe Folge z n = x n + j. y n heißt

Mehr

Reporting Services und SharePoint 2010 Teil 1

Reporting Services und SharePoint 2010 Teil 1 Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

Herstellen von Symbolen mit Corel Draw ab Version 9

Herstellen von Symbolen mit Corel Draw ab Version 9 Herstellen von Symbolen mit Corel Draw ab Version 9 Einleitung : Icon Design-Überblick: 1) Gestalten in Corel Draw 10.0 3) Vorlage für Photopaint für Import von Corel 4) Einfügen in die PSD-Datei und Bearbeiten

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN Wir wollen nun die Rechengesetze der natürlichen Zahlen auf die Zahlenmenge der ganzen Zahlen erweitern und zwar so, dass sie zu keinem Widerspruch mit bisher geltenden

Mehr

Lineare Differentialgleichungen erster Ordnung erkennen

Lineare Differentialgleichungen erster Ordnung erkennen Lineare Differentialgleichungen erster Ordnung In diesem Kapitel... Erkennen, wie Differentialgleichungen erster Ordnung aussehen en für Differentialgleichungen erster Ordnung und ohne -Terme finden Die

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

Approximation durch Taylorpolynome

Approximation durch Taylorpolynome TU Berlin Fakultät II - Mathematik und Naturwissenschaften Sekretariat MA 4-1 Straße des 17. Juni 10623 Berlin Hochschultag Approximation durch Taylorpolynome Im Rahmen der Schülerinnen- und Schüler-Uni

Mehr

Repetitionsaufgaben Wurzelgleichungen

Repetitionsaufgaben Wurzelgleichungen Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen

Mehr

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten! Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright

Mehr

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Vorüberlegung In einem seriellen Stromkreis addieren sich die Teilspannungen zur Gesamtspannung Bei einer Gesamtspannung U ges, der

Mehr

Excel 2013. Fortgeschrittene Techniken. Peter Wies. 1. Ausgabe, März 2013 EX2013F

Excel 2013. Fortgeschrittene Techniken. Peter Wies. 1. Ausgabe, März 2013 EX2013F Excel 2013 Peter Wies 1. Ausgabe, März 2013 Fortgeschrittene Techniken EX2013F 15 Excel 2013 - Fortgeschrittene Techniken 15 Spezielle Diagrammbearbeitung In diesem Kapitel erfahren Sie wie Sie die Wert-

Mehr

Info zum Zusammenhang von Auflösung und Genauigkeit

Info zum Zusammenhang von Auflösung und Genauigkeit Da es oft Nachfragen und Verständnisprobleme mit den oben genannten Begriffen gibt, möchten wir hier versuchen etwas Licht ins Dunkel zu bringen. Nehmen wir mal an, Sie haben ein Stück Wasserrohr mit der

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

3.2 Spiegelungen an zwei Spiegeln

3.2 Spiegelungen an zwei Spiegeln 3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen

Mehr

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum? Leitfaden zur Druckdatenerstellung Inhalt: 1. Download und Installation der ECI-Profile 2. Farbeinstellungen der Adobe Creative Suite Bitte beachten! In diesem kleinen Leitfaden möchten wir auf die Druckdatenerstellung

Mehr

Paint.Net... 1. Der Paint.NET Bildschirm

Paint.Net... 1. Der Paint.NET Bildschirm Inhaltsverzeichnis Paint.Net... 1 Der Paint.NET Bildschirm... 1 Bilder öffnen... 2 Speicherformate... 2 Einfache Korrekturen... 3 Arbeiten mit Ebenen... 3 Auswahl oder Maske... 4 Korrekturen / Effekte...

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in

Mehr

Korrigenda Handbuch der Bewertung

Korrigenda Handbuch der Bewertung Korrigenda Handbuch der Bewertung Kapitel 3 Abschnitt 3.5 Seite(n) 104-109 Titel Der Terminvertrag: Ein Beispiel für den Einsatz von Future Values Änderungen In den Beispielen 21 und 22 ist der Halbjahressatz

Mehr

Berechnung der Erhöhung der Durchschnittsprämien

Berechnung der Erhöhung der Durchschnittsprämien Wolfram Fischer Berechnung der Erhöhung der Durchschnittsprämien Oktober 2004 1 Zusammenfassung Zur Berechnung der Durchschnittsprämien wird das gesamte gemeldete Prämienvolumen Zusammenfassung durch die

Mehr

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 1. Software installieren 2. Software starten Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 3. Auswahl 1. Neues Fotobuch erstellen oder 2. ein erstelltes, gespeichertes Fotobuch laden und bearbeiten.

Mehr

Das große Buch Photoshop CS3 & Lightroom Stefan Gross Pavel Kaplun

Das große Buch Photoshop CS3 & Lightroom Stefan Gross Pavel Kaplun Das große Buch Photoshop CS3 & Lightroom Stefan Gross Pavel Kaplun DATA BECKER 7.1 Ebenenfüllmethoden Die Ebenenfüllmethoden erlauben Kombinationen mit Ebenen unter Einbeziehung verschiedener Verschmelzungsmethoden.

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

3. Verpackungskünstler. Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung

3. Verpackungskünstler. Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung Päckchen, die man verschenken möchte, werden gerne mit Geschenkband verschnürt. Dazu wird das Päckchen auf seine größte Seite gelegt, wie

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst. 40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten von Linien ( nach Jack Bresenham, 1962 ) Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten bedingten Wahrscheinlichkeit. Mathematik- Unterrichts- Einheiten- Datei e. V. Klasse 9 12 04/2015 Diabetes-Test Infos: www.mued.de Blutspenden werden auf Diabetes untersucht, das mit 8 % in der Bevölkerung verbreitet ist. Dabei werden

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler

Mehr

Professionelle Diagramme mit Excel 2010 erstellen. Peter Wies. 1. Ausgabe, 2. Aktualisierung, März 2014. Themen-Special W-EX2010DI

Professionelle Diagramme mit Excel 2010 erstellen. Peter Wies. 1. Ausgabe, 2. Aktualisierung, März 2014. Themen-Special W-EX2010DI Peter Wies 1. Ausgabe, 2. Aktualisierung, März 2014 Professionelle Diagramme mit Excel 2010 erstellen Themen-Special W-EX2010DI 2 Professionelle Diagramme mit Excel 2010 erstellen - Themen-Special 2 Wichtige

Mehr

Bilder Schärfen und Rauschen entfernen

Bilder Schärfen und Rauschen entfernen Bilder Schärfen und Rauschen entfernen Um alte Bilder, so wie die von der Olympus Camedia 840 L noch dazu zu bewegen, Farben froh und frisch daherzukommen, bedarf es einiger Arbeit und die habe ich hier

Mehr

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997

Raytracing. Schlussbericht. Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997 Raytracing Schlussbericht Jonas Lauener 1995, Áedán Christie 1997 Melvin Ott 1997, Timon Stampfli 1997 bei Betreuer Marco Manzi, Institut für Informatik und angewandte Mathematik Inhalt Fragestellung...

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Anleitung: Sammel-Rechnungen für Lizenzen bei Swiss Basketball

Anleitung: Sammel-Rechnungen für Lizenzen bei Swiss Basketball Anleitung: Sammel-Rechnungen für Lizenzen bei Swiss Basketball Inhalt 1. Login: Wo und Wie kann ich mich einloggen?... 2 Die Webseite: www.basketplan.ch... 2 Mein Klub-Login?... 2 2. Orientierung: Was

Mehr

FastBill Automatic. Dokumentation Versand. FastBill GmbH. Holteyer Straße 30 45289 Essen Telefon 0201 47091505 Telefax 0201 54502360

FastBill Automatic. Dokumentation Versand. FastBill GmbH. Holteyer Straße 30 45289 Essen Telefon 0201 47091505 Telefax 0201 54502360 FastBill GmbH Holteyer Straße 30 45289 Essen Telefon 0201 47091505 Telefax 0201 54502360 FastBill Automatic Dokumentation Versand 1 Inhaltsverzeichnis: 1. Grundlegendes 2. Produkteinstellungen 2.1. Grundeinstellungen

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig? Pädagogik Melanie Schewtschenko Eingewöhnung und Übergang in die Kinderkrippe Warum ist die Beteiligung der Eltern so wichtig? Studienarbeit Inhaltsverzeichnis 1. Einleitung.2 2. Warum ist Eingewöhnung

Mehr