Vorintegriertes Volume Rendering: Slicing vs. Raycasting

Größe: px
Ab Seite anzeigen:

Download "Vorintegriertes Volume Rendering: Slicing vs. Raycasting"

Transkript

1 Vorintegriertes Volume Rendering: Slicing vs. Raycasting Rita Erfurt Seminar Medizinische Datenverarbeitung SS 2007 Lehr- und Forschungsgebiet Informatik 8 Computergrafik und Multimedia Betreuer: Prof. Dr. Leif Kobbelt, Dipl. Inform. Dominik Sibbing Inhalt 1 Einführung Grundkonzepte von Volume Rendering Direktes Volume Rendering Indirektes Volume Rendering Volume Rendering und seine Besonderheiten Datenrepräsentation mit Voxeln Interpolation Transferfunktion Transparenz, Opazität Klassifikation Shading Gradient Compositing GPGPU Rendering Pipeline Volume Rendering Integral Numerische Approximation des Volume Rendering Integrals Diskrete Compositing mit numerischer Approximation Undersampling durch numerische Approximation Vorintegrierung Vorteile und Nachteile der Vorintegrierung Approximation der Vorintegrierung Minimierung des Berechnungsaufwands bei Vorintegrierung Anwendung in Volume Rendering Techniken Slicing, Textur basiertes Volume Rendering Idee des Textur basierendes Volume Rendering D-Texturen und Volume Rendering D-Texturen und Volume Rendering OpenSG Shader Schnittstellen in Architektur von OpenSG Bricks und Tiles Volume Shader Textur basierendes pre-integriertes Volume Rendering mit 3D Textur Raycasting Raycasting Idee Pseudocode GPU basiertes Raycasting Framework Single-Pass Volume Shader

2 128 Rita Erfurt 6.4 Weitere Verbesserungen Erweiterungen Zusammenfassung 148 Zusammenfassung Volume Rendering hat sich als brauchbares Verfahren zur medizinischen Datenvisualisierung (Beispiel Abbildung 9.1) erwiesen. Dieses Seminar behandelt ausführlich vorintegriertes Volume Rendering, eine Verbesserung im Renderingprozess, die sich auf die Geschwindigkeit auswirkt. Darüber hinaus werden zwei Verfahren des Volume Rendering Slicing und Raycasting näher betrachtet, und mit diesem Ansatz gekoppelt, zusätzlich werden weitere Möglichkeiten zur Effizienzsteigerung dieser Techniken aufgelistet. Anschließend folgt eine Gegenüberstellung von Slicing und Raycasting. Keywords: GPU based Slicing, GPU based Raycasting, Vorintegriertes Volume Rendering Abbildung 9.1: Anwendung von Volume Rendering in der Medizin [5]

3 Pre-integrated volume rendering: Slicing vs. raycasting Einführung Volume Rendering umfasst eine Bandbreite von Techniken zur Generierung der Bilder aus dreidimensionalen skalaren Daten. Der Schwerpunkt liegt dabei in der Visualisierung des Innenlebens eines volumetrischen Objektes, was bei flächenbasierten Verfahren schwer ist. Die Motivation kommt aus der Naturwissenschaft, vor allem aus dem medizinischen Bereich. Wo es nötig ist die erworbenen Werte aus Sensorenmessungen oder aus numerischen Simulationen der natürlichen Phänomene darzustellen. Typische Beispiele sind medizinische Daten des menschlichen Körpers, die durch Computertomografie (CT), Magnetresonanztomographie (Magnetic resonance imaging, kurz MRI) oder auch Kernspintomographie gewonnen werden. Andere Beispiele liefern Numerische Strömungsmechanik (computational fluid dynamics kurz CFD), wie auch Visualisierung geologischer und seismischer Daten. Das Volume Rendering eignet sich auch zur Visualisierung von Objekten, deren Darstellung anhand der Polygone schwer oder nicht möglich ist. Das ist der Fall, wenn die Objekte eine komplizierte Struktur haben, z.b. Figuren wie Fraktale und Sphereflakes, oder wenn sich keine Flächen definieren lassen, wie bei Wolken, Rauch, Nebel oder anderen Partikelströme. Gleichfalls ist Volume Rendering nützlich bei der Modellierung und Visualisierung von amorphen Körpern, wie Flüssigkeiten und Teere es sind. Einige Schwierigkeiten haben der volumetrischen Visualisierung den Massenmarkt verwehrt. Denn an eine Volume Rendering Applikation werden folgende Anforderungen gestellt: verständliche Datenrepräsentation, schnelle Datenmanipulation, Interaktion beim Rendering. Die angewandten Verfahren müssen diese Anforderungen realisiert können. Das Ziel ist also Verfahren zu finden, die die Fähigkeit haben, qualitative Bilder mit hoher Framerate unter Benutzung der allgemein verfügbaren Grafikkarten zu erzeugen. Normalerweise geht die Verbesserung des einen Ziels zu Lasten des anderen. Denn die höhere Bildqualität verlangsamt durch weitere Berechnungen den Renderingprozess enorm. Im Kapitel 4 Volume Rendering Integral wird ein Ansatz vorgestellt für Vorberechnung des Volume Rendering Integrals, der eine bessere Bildqualität ermöglicht ohne die Geschwindigkeit herabzusetzen. Dieses Verfahren wird auf Slicing, ein Algorithmus des direkten Volume Rendering, in Kapitel 5 angewandt. Anschließend wird im Kapitel 6 das Raycasting Verfahren für Volume Rendering betrachtet, für dessen Visualisierung ein flexibles GPU basierendes Framework vorgestellt wird. Danach werden andere Möglichkeiten zur Beschleunigung des Volume Rendering vorgestellt. Vorerst wird hier nach einer Unterteilung der Techniken des Volume Rendering (Kapitel 2) auf seine zentrale Begriffe (Kapitel 3) eingegangen. 2 Grundkonzepte von Volume Rendering Volumetrische Objekte werden im Allgemeinen entweder durch eine implizite Funktion oder durch 3D Voxelgiter repräsentiert. Die Methoden zur Visualisierung solcher Objekte teilen sich grob in zwei Bereiche, direktes und indirektes Volume Rendering. Bei direkten Volume Rendering wird das 2D Bild direkt aus dem 3D Datensatz generiert. Hingegen wird bei indirekten Methode zuerst der Datensatz bearbeitet, z.b. Iso-Oberflächen extrahiert, und dann wird unter Benutzung der gewonnen Daten das 2D Bild mit herkömmlichen Oberflächen basierenden Techniken erzeugt [4]. 2.1 Direktes Volume Rendering In DVR Verfahren wird zwischen Bild orientierter (image-based, backward-mapping) und Objekt orientierter (object-based, forward-mapping) Vorgehensweise unterschieden. Hierbei werden die vorgegebenen Volumendaten unterschiedlich genutzt. Backward-Mapping verläuft von Bild zum Objektraum. Für jeden Pixel im Bild berechnet der angewandte Algorithmus die Farbe mit Zuhilfenahme des Strahls, der durch diesen Pixel geht, z.b. Volume Raycasting. Forward-Mapping verläuft vom Objekt zum Bild. Diese Algorithmen werfen die Voxeldaten in die Bildebene mit der Absicht die einzelnen Beiträge zu einem Endbild zu mischen, z.b. Volume Slicing, Splatting, Shear-Warp Factorization. Es gibt Verfahren, die beide Konzepte kombinieren, die so genannten hybriden Algorithmen [4].

4 130 Rita Erfurt 2.2 Indirektes Volume Rendering Das indirekte Volume Rendering geschieht unter Verwendung von geometrischen Primitiven. Dabei gibt es eine Vielzahl von Verfahren zum Erzeugen von Oberflächen. Beispielweise ist der Marching Cubes Algorithmus ein wichtiger Algorithmus zum indirekten Volume Rendering, mit Hilfe dessen nur eine Iso-Oberfläche aus dem Datensatz extrahiert wird [4]. Das resultierende Netz wird weiter durch die Renderingpipeline wie ein gewöhnliches 3D Polygonnetz bearbeitet. Als Konsequenz wird nur die Iso-Oberfläche dargestellt. Es ist nicht möglich andere Besonderheiten rundherum zu erkennen, oder wie bei direkten Methoden das ganze Volumen auf eine transparente Weise darzustellen. Andersrum kann die Selektion auch als Vorteil gesehen werden, denn eine große Datenmenge wird auf ein wichtiges Teilstück reduziert, mit dem man dann weiter arbeiten kann und erstmal die anderen Informationen beiseite lässt. 3 Volume Rendering und seine Besonderheiten Im Gegensatz zu den flächenbasierten Rendering Algorithmen beruht Volume Rendering nicht auf Primitiven, wie Dreiecken und andere Polygonen, sondern auf diskreten Räumen, die im so genannten Voxelgitter vorliegen. Diese Daten sollen bearbeitet und entweder direkt oder indirekt dargestellt werden. Die Rendering Pipeline von Volumengrafiken besteht aus vier Hauptschritten: Klassifikation, Shading, Interpolation und Compositing. In diesem Kapitel werden die Besonderheiten dieser Schritten erklärt und Paar zentraler Begriff erläutert. 3.1 Datenrepräsentation mit Voxeln Der Begriff Voxel setzt sich aus den Wörtern volumetrisch und Pixel zusammen. Im Grunde genommen sind Voxeln die dreidimensionalen Äquivalente von Pixeln, also Punkte im Raum. Demgemäß kann ein Voxel als ein Tupel (x,y,z,v) betrachtet werden. Die räumlichen Koordinaten im 3D Raum ist in (x,y,z) gespeichert und v stellt den Wert einer objektspezifischen Eigenschaft in diesem Punkt. Diese Eigenschaft v variiert von einer Darstellung zu den anderen. Sie kann sich durch skalare Werte beschreiben lassen, wie Temperatur oder Dichte, oder durch Vektoren, z.b. Geschwindigkeit, oder auch durch eine Kombination von beidem. Hier werden nur skalare Werte v betrachtet. Die Abbildung 9.2 ist eine bildliche Veranschaulichung eines Voxelgitters. Hier ist durch unterschiedliche Graufärbung der Kugeln sichtbar, dass jedem Voxel ein individueller skalarer Wert zu geordnet ist, dieser spiegelt sich in Abbildung 9.2: Voxelgitter der Intensität der Färbung wieder. Im Raum können die Voxeln in verschiedenen Strukturen geordnet sein. Voxel sind 1D Körper und haben selbst keine bestimmte Form. Wenn sie sich in den Ecken von Würfeln befinden, dann spricht man von regulären Gittern [4]. Genauso gibt es irreguläre Gitter. 3.2 Interpolation Bei der Realisierung von Volume Rendering Algorithmen müssen die spezifischen Werte auch im Zwischenraum der Voxel ermittelt werden, da Voxel Punkte im 3D Raum und damit nulldimensionale Objekte sind, das heißt sie besitzen weder Länge noch Breite noch Höhe. Wie in der Abbildung 9.5 zu sehen ist, ist es äußerst unwahrscheinlich, dass ein Sichtstrahl auf dem Weg durch das Volumen auch nur ein einziges Voxel trifft. Zum Lösen dieses Problems gibt es mehrere Verfahren. Mögliche Methode ist die trilineare Interpolation. Sie läst sich wie folgt aufbauen. Zwischen zwei Voxeln wird linear interpoliert. Abbildung 9.3 zeigt zwei unterschiedliche Punkte A und B mit Abbildung 9.3: lineare Interpolation Eigenschaften s A und s B, Der Wert s des dritten Punkts zwischen den beiden A und B kann mit der Formel s = s A (1 h) + s B h ermittelt werden, dabei ist h [0,1] die Entfernung von Punkt C zu A. Am

5 Pre-integrated volume rendering: Slicing vs. raycasting 131 Punkt A ist h = 0 und damit s = s A 1 + s B 0 = s A das Ergebnis. Die gleiche Wirkung gibt es, wenn s A und s B mit h = 1 gewichtet werden: s = s A 0 + s B 1 = s B, damit ist das Resultat die Eigenschaft von Punkt B, was auch stimmt. Die lineare Interpolation kann man auf vier Voxel erweitern und damit bilinear eine rechteckige Flächen zwischen diesen Punkten interpolieren. Wie es in der Abbildung 9.4 zu sehen ist, erhält jeder Punkt der Fläche einen Wert. Für trilineare Interpolation des Volumens eines Würfels werden nach dem gleichen System acht Voxel gebraucht. Darüber hinaus gibt es andere Verfahren wie die Nearest Neighbour Interpolation. Bei Nearest Neighbour Interpolation wird einfach der Wert des nächst nähren Voxel übernommen. Allgemein stellt die Interpolation eine Rekonstruktion des Objekts dar. Während des Scans wird ein volumetrisches Objekt in bestimmten Abständen abgetastet. So werden die Daten aus einem kontinuierlichen Objekt gesammelt. Diese Werte bilden später einen diskreten Raum (Voxelgitter). Um wieder einen kontinuierlichen Datenfeld für die Visualisierung aus dem Voxelgitter zu bekommen, muss ein Rekonstruktionsverfahren angewandt werden, was die die vorgestellten Verfahren auch darstellen. Abbildung 9.4: bilineare Interpolation 3.3 Transferfunktion Während der Klassifikation ordnet der Benutzer den skalaren Werten Eigenschaften zu, damit bestimmt er was und wie auf dem Bildschirm erscheint. Die Hauptfragen, die hier geklärt werden, sind: ** Welche Teile (Bereich aus skalaren Werten) sind durchsichtig? * Transparenz ** Welche Teile (skalare Werte) haben welche Farbe? Normalerweise werden für den skalaren Feld der Daten s zwei Gleichungen zu diesen Fragen definiert: ** Emission(RGB) c(s) und ** Absorption(A) α (auch Auslöschung genannt). Abbildung 9.5: Interpolation in 3D Raum Um eine möglichst realistische Darstellung zu erreichen, wird ein Farbmodell zum Rendering von Volumendaten benötigt, wie z.b. das RBG-Farbmodell. Damit können verschiedene Gewebeschichten durch unterschiedlich gewählte Farben hervorgehoben werden Transparenz, Opazität Für die Visualisierung der inneren Struktur des Volumendatensatzes ist das zentrale Konzept der Volume Rendering die Transparenz unentbehrlich. Die Transferfunktion zur Bestimmung der Transparenz kann eine beliebige Anzahl von verschiedenen Parametern als Argumente, linear, quadratisch oder sonstige Komplexität besitzen. Abbildung 9.6: Opazität mit zwei Transferfunktionen α 1 (s) und α 2 (s) für denselben Wertebereich Diese Parameter sind beispielsweise die Intensität (der skalare Wert v) und der ermittelte Gradient des Voxels (ein Normalenersatz). Am besten ist es, wenn der Benutzer selbst im Laufe des Programms die Transferfunktion bestimmen kann und so einen leichten Wechsel zwischen den verschiedenen Schichten des Objekts hat. So ist es leichter das Innenleben des Objekts offen zu legen. Beispielweise ist es auch möglich verschiedene Gewebeschichten über die Transferfunktion zu selektieren, indem ein bestimmtes Intervall der Festigkeitswerte raus filtriert wird und dann auf sichtbaren Opazitätsbereich abgebildet wird. Die Abbildung 9.6 zeigt eine Transferfunktionen für die Lichtdurchlässigkeit. Der Wertebereich bekommt durch die erste Funktion α 1 niedrigere α-werte, damit wird der Körper durchsichtiger als bei der zweiten Transferfunktion α 2 dargestellt. Natürlich ist es ebenso möglich nur ein bestimmtes Wertebereich I der skalaren Werte darzustellen und den Rest II auf 0 zu setzen und damit komplett auszublenden, so

6 132 Rita Erfurt verhält sich die Funktion α 3 Der Prozess zur Berechnung der Opazitätswerte für einzelne Voxels wird als Klassifikation bezeichnet Klassifikation Die Sensoren lesen während des Abtastens des Originals nur einen einzigen Wert pro Sample ab, z.b. bei der Computertomografie die Dichte oder bei der Magnetresonanztomographie der Wassergehalt. Die eigentlichen Eigenschaften des Materials sind nicht näher bestimmt, etwa welche Farbe hat das Gewebe oder ob es stark spiegelnd ist oder wie durchsichtig es sein sollte. Sie müssen erst aus den gewonnen Daten abgeleitet werden. Abbildung 9.7: Farbenverteilung auf die Gewebeschichten c(s), mit jeweiligen Intervall der Werten s Die Aufgabe der Klassifikation ist daher unter Benutzervorgaben den einzelnen Werten eine Reihe von virtuellen Materialeigenschaften zuzuweisen (Abbildung 9.7). So wird beispielsweise einem niedrigen Wert eines Voxels ein niedriger Wassergehalt zugeordnet, dass könnten Knochen sein, die gelblich weis gefärbt werden. Analog kann eine Prothese erkannt werden und mit spiegelnden Eigenschaften und Metallfarben versehen werden, damit sie sich von Knochen hervorhebt. Abbildung 9.8: Pre- vs. Post-Klassifizierung [1] Die Reihenfolge der Interpolation und der Anwendung der Transferfunktion bestimmen den Unterschied zwischen pre- und Post-Klassifizierung (Abbildung 9.8). Post-Klassifizierung ist durch die Anwendung der Transferfunktion nach der Interpolation der skalaren Werte der einzelnen Punkte charakterisiert. Während bei Pre-Klassifizierung die Anwendung der Transferfunktion vor dem Interpolationsschritt steht, d.h. die Farben und Auslöschungskoeffizient werden in einem vorbereitenden Schritt für jeden Punkt berechnet und dann werden interpolierte Werte für die Berechnung des Volume Rendering Integrals angesetzt. Die beiden Ansätze produzieren verschiedene Ergebnisse. In der Abbildung 9.8 ist zu sehen wie verschiede Reihenfolgen zu unterschiedlichen Resultaten führt. Im Gegensatz zu Pre-Klassifizierung reproduziert die Post-Klassifizierung eine höhere Auflösung. Im Bild links entstehen Artefakte, rechts sind die Übergänge genauer, obwohl bei beiden Verfahren dieselbe Transferfunktion, das gleiche Interpolationsverfahren und gleiche Abtastrate angewandt werden. Darüber hinaus liefern Pre- und Post-Klassifikation bei gleicher Transferfunktion und Rekonstruktionsmethode im Allgemeinen unterschiedliche Ergebnisse. In der Abbildung 9.9 ist zu sehen wie eine zufällige Transferfunktion angewandt auf 5 Voxel die Ergebnisse verändern kann. Das Ergebnis der Pre-Klassifikation ist viel weicher, da die Werte erst nach der Klassifikation interpoliert werden. In der Post-Klassifikation wird jeder Graustufe, die bei der Interpolation entstanden ist, eine andere Farbe zugeordnet. Die Unterschiede sind noch mal in der Abbildung 9.10 zu sehen, hier werden die verschiedenen Klassifikationen auf eine größere Datenmenge, das mittlere Bild, angewandt.

7 Pre-integrated volume rendering: Slicing vs. raycasting 133 Abbildung 9.9: Pre-(oben) vs. Post-Klassifizierung(unten) angewandt auf 5 Voxelwerte (verändert nach [1]) Abbildung 9.10: Pre-Klassifizierung, Original Bild, Post-Klassifizierung, ([1]) 3.4 Shading Beim Shading wird bestimmt, wie ein Voxel seine Farbe entsprechend der Position des Lichts und des Betrachters verändert. Zur Anwendung des Beleuchtungsverfahrens sind in Volume Rendering ein Ersatz der Normalen notwendig, denn hier gibt es keine Oberflächen zu Normalenbestimmung. Deswegen wird für jedes Voxel ein Gradient erzeugt. Der Gradient zeigt in Richtung des stärksten Anstieges der skalaren Werte. Damit wird der physikalischen Gedanken benutzt, dass Licht nur am Übergang zwischen verschiedenen Materialschichten reflektiert wird. Abbildung 9.11: Hier erfolgt einer Darstellung der CT-Daten einer menschlichen Hand: ohne Beleuchtung (A), mit diffusem Licht (B) und mit specularem Licht (C) [1] In der Abbildung 9.11 wird der gleiche Gedanke erfasst. Beleuchtete Modelle verhelfen zum besseren Verständnis der Geometrie. So ist in C die Struktur des Skeletts einer Hand deutlicher zu erkennen und zu begutachten als ohne Beleuchtung in der Abbildung A.

8 134 Rita Erfurt Gradient Die Funktion eines Gradientenoperators ist es, der Maß für die Veränderungen in den Werten der Voxeln zu berechnen, damit der Gradient die Rolle des Normalvektors aus dem Oberflächen basierenden Rendering übernehmen kann. Die Auswahl des richtigen Operators ist besonders für die Durchführung des Shadings wichtig, um eine möglichst realitätstreue Darstellung zu erreichen. Ein möglicher Gradientenoperator ist der Central Difference Gradient Operator. Der Operator bildet die Differenzen zwischen den benachbarten Punkten nach der Formel: x d = 1 2 y d = 1 2 ( f(x+h,y,z) f(x,y,z) h ( f(x,y+h,z) f(x,y,z) h ( f(x,y,z+h) f(x,y,z) ) + f(x,y,z) f(x h,y,z) h, ) + f(x,y,z) f(x,y h,z) h z d = 1 2 h h ist die Entfernung zwischen den Punkten. f(i,j,k) liefert den skalaren Wert des Punkts (i,j,k) + f(x,y,z) f(x,y,z h) h Der Sobel-Operator ist ein weiterer Gradient Operator, bei dem die Faltung zum Einsatz kommt. Im 3D Raum wird die Faltung angesetzt. Die Gewichtung für die Nachbarpunkte für eine 3 3 Faltung zeigt die Abbildung Compositing Beim Compositing werden bestimmte Lichtbeiträge auf einem Strahl durch das Volumen miteinander verrechnet, so zusagen gemischt, um einen endgültigen Farbwert eines Bildpunktes zu erhalten. Dabei wird die physikalische Visualisierung der Materie durch Licht simuliert (Abbildung 9.13). Licht durchquert einen Abschnitt des Volumens und ändert seine Intensität und Farbe entsprechend der angetroffenen Materie, dann durchquert es den nächsten Teilbereich und ändert weiter seine Eigenschaften. Der Abbruchskriterium und die Richtung des Strahls hängen von dem Verfahren ab. In der Abbildung 9.13 ist zu sehen, wie Compositing funktioniert. Die Strahlen verlaufen zur Bildebene hin, dabei ändert sich die Farbe mit jedem Abschnitt mit einer Geometrie. 3.6 GPGPU, ), Abbildung 9.12: Gewichtung der benachbarten Punkten im 2D Raum Abbildung 9.13: Compositing GPGPU steht für General Purpose Computation on Graphics Processing Unit [7]. Dabei wird der Grafikprozessor auch für Aufgaben verwendet, für die er eigentlich nicht entwickelt wurde. Die neuere Entwicklung im Bereich der Grafik-Hardware, der programmierbaren Pipeline durch Fragment- und Vertex- Shader sowie der enormen Geschwindigkeit von GPUs, macht es möglich die Algorithmen für gewöhnliche Probleme, die sonst auf der CPU ausgeführt werden, auf die GPU auszulagern, was für die Verfahren Raycasting und Slicing vom Vorteil ist. Denn erst dadurch sind die Verfahren in Echtzeit lösbar. Dabei gilt es die Lösung der Probleme so zu entwerfen, dass der Großteil der Transistoren für Rechenoperationen verwendet werden und nicht für Steuerungsaufgaben und Caching, wie es auf CPUs der Fall ist. Demnach soll der Verwaltungsaufwand möglichst klein gehalten werden, damit die Leistung bei GPU-Anwendungen eine hohe arithmetische Dichte aufweisen, d.h. der Quotient aus ausgeführten Rechenoperationen pro ausgeführter Lese/Schreib- Operation groß wird. Der Vorteil der Verwendung der GPU gegenüber der CPU liegt in deren Geschwindigkeit. Dabei spielt die Parallelität eine große Rolle, denn einige Typen des Parallelenrechnens sind bereits in GPUs zu finden. Dazu zählen beispielsweise SIMD (Single Instruction Multiple Data) und MIMD (Multiple Instuction Multiple Data). Das Konzept von SIMD ist in Fragment Shader zu finden. Hier werden gleiche Rechenoperationen auf verschiedenen gleichzeitig eintreffenden Eingabewerten ausgeführt, begünstig wird es durch mehrere Eingangsdatenströme. MIMD entspricht dem Vorgehen der Vertex Shader. Beispielweise besitzen GeForce 6 Serie die beiden Konzepte: SIMD bei Rasterisation und MIMD im programmierbaren Vertex Shader. Werden diese Konzepte angewandt, ist es möglich, dass die ganze Pipeline parallel abläuft [7].

9 Pre-integrated volume rendering: Slicing vs. raycasting 135 Der geringe Preis und die Verbreitung der Grafikkarten macht sie zusätzlich zu einer anziehenden Alternative. Genauso geht es Paar Barrieren in der Programmierung der GPUs zu überwinden. Nachteil ist es, dass viele von der GPU gelöste Aufgaben nicht einheitlich sind. Die Unterschiede zwischen den Herstellern sind größer als bei CPUs es der Fall ist. Die GPU Architektur wird von Hersteller geheim gehalten. Außerdem sind für die Parallelität spezielle Konzepte erforderlich. Hier gibt es auch einige Schwierigkeiten in Bezug auf die Entwicklung der Programme. Der Programmiermodus ist ungewöhnlich, die Sprache Shader spezifisch. Der Entwickler muss eine umfangreiche Kenntnis bezüglich der Computergrafik und der Sprach besitzen, um effektiv die Prozessoren der Grafikkarte einsetzen zu können, zusätzlich muss er detaillierte Kenntnisse der Zielplattform im Voraus haben. Hier ergibt sich auch die Frage der Portabilität der GPU Programme und der Möglichkeit zu weiteren Verbreitung der Software [7]. 3.7 Rendering Pipeline Abbildung 9.14: Volume Rendering Pipeline. Jeder Schritt kann zu Artefakten führen. Damit besteht insgesamt eine mögliche Volume Rendering Pipeline aus fünf Stufen (Abbildung 9.14). Im ersten Schritt werden erst die Daten entlang der Strahlen, die durch das Volumen gehen, erfasst. Im zweiten Schritt, den Rekonstruktionsschritt, werden einzelne Werte der Voxels interpoliert. Im dritten Schritt, der Klassifikationsschritt, werden zu den skalaren Werten des Volumens die Emissions- und Absorptions-Koeffizienten bestimmt. Der dritte und zweite Schritt können je nach dem angewandten Verfahren, Pre- oder Post-Klassifikation, vertauscht werden. Im vierten Schritt werden die äußeren Lichtquellen und die Schatten verrechnet. Schließlich werden im letzten Schritt die gesamten Daten gesammelt und auf den Bildschirm gebracht. Jeder Schritt der Pipeline kann Artefakte verursachen. 4 Volume Rendering Integral Die Hauptaufgabe des direkten Volume Rendering ist die Auswertung bzw. Approximation des Volume Rendering Integrals für jedes Pixel [2]. Abbildung 9.15: Sichtstrahl, unten ist eine konstante Absorption für einen Emissionswert zu sehen, oben wird die Komplexität des Absorptionsverhalten eines kontinuierlichen Feldes verdeutlich Dazu werden folgende Bezeichnungen definiert, siehe Abbildung Der Sichtstrahl wird als x(t) bezeichnet, wobei die Distanz t zum Betrachter und x ein Punkt im Raum sind. Der skalare Wert entlang des Strahls an der Position x(t) wird als s(x(t)) bezeichnet. Die Farbe wird von jedem Punkt x entsprechend der Funktion c(s) emittiert. Gleichzeitig wird die Farbe durch den Auslöschungskoeffizienten

10 136 Rita Erfurt k(s) auf dem Strahl zwischen den Betrachter und Emissionspunkt x abgeschwächt. D ist die maximale Distanz, d.h. die Farbdichte für t > D liefert keinen Beitrag. Volume Rendering Integral: I = D 0 c ( s(x(t)) ) ( exp t 0 k ( s(x(t ))dt )) dt (9.1) Mit diesem Teil D 0 c( s(x(t)) ) ( der Gleichung werden die Farben entlang des Strahls gesammelt. Der restliche Teil exp t 0 k( s(x(t ))dt )) dt spiegelt den Absorptionsverhalten wieder. 4.1 Numerische Approximation des Volume Rendering Integrals In Allgemeinen ist es nicht möglich eine analytische Auswertung des Volume Rendering Integrals durchzuführen. Eine mögliche numerisch Approximation stellt folgendes Verfahren dar, hier wird das Integral durch Riemann Summe ersetzt. Zu diesem Zweck wird der Sichtstrahl in n gleiche Segmente der Länge d = D/n aufgeteilt. Abbildung 9.16 zeigt eine solche Unterteilung in n gleiche Teilstücke. Abbildung 9.16: Zerteilung des Sichtstrahls in n gleiche Stücke Diese Aufteilung kann man benutzen, um das Volume Rendering Integral zu approximieren. Anstatt über den Sichtstrahl zu integrieren, werden damit Farben und Auslöschungskoeffizienten aufsummiert. Wie in der Abbildung 9.16 zu sehen ist, werden die Werte an den Samplepunkten x(i d) ermittelt. Die Farben c(s(x(id))) und Auslöschungskoeffizienten k(s(x(id))) der Samplepunkten x(i d) werden in das Volume Redering Integral eingesetzt. I = D 0 c ( s(x(t)) ) ( exp t 0 i 1 n c ( s(x(i d)) ) ( d exp i=0 n c ( s(x(i d)) ) d i=0 j=0 k ( s(x(t ))dt )) dt ) k(s(x(j d))d) = i 1 ( ) exp k(s(x(j d))d) j=0 ( Hier ist die Lichtdurchlässigkeit α i des i-ten Strahlensegments: α i 1 exp k ( s(x(i d))d )). Anstatt der Lichtauslöschung wird die Lichtdurchlässigkeit oder auch Transparenz benutzt. Analog zur Transparenz ist die Farbe C i, die im i-ten Segment emittiert wird: C i c ( s(x(i d)) ) d. Zusammenfassend sieht die Nährung des Volume Rendering Integrals mit Benutzen der Abtastung wie folgt aus: I n i=0 (1 α j ) C i i Diskrete Compositing mit numerischer Approximation j=0 Ein back-to-front Algorithmus, der die Farbe eines Sichtstrahls von Hinten nach Vorne aufsummiert, kann die auf akkumulierte Farbe des i-ten Segments mit folgenden Gleichung ermitteln:

11 Pre-integrated volume rendering: Slicing vs. raycasting 137 C i = α ic i + (1 α i )C i+1 C i speichert die akkumulierte Farbe des i-ten Segments. Der Algorithmus läuft von t = n zu t = 0. Mit jedem Schritt entlang des Strahls wird die gesammelte Farbe mit der aktuellen Opazität gewichtet und um die Farbe des Samplepunkts erhöht. Der Startwert ist C n = α n C n. Letztlich steht die Farbe mit der Lichtdurchlässigkeit gewichtet für den ganzen Sichtstrahl in C 0, I = C 0. Front-to-back Algorithmus funktioniert analog. Dabei werden die Farben ab t = 0 von dem anderen Ende des Sichtstrahls aufsummiert. A i ist die akkumulierte Opazität für das i-te Segment, mit (1 A i ) = i 1 j=0 α j. Startwerte sind A 0 = α 0 und C 0 = α 0 C 0. C i = C i 1 + (1 A i 1)C i A i = A i 1 + (1 α i 1 )α i Raycasting ist ein front-to-back Algorithmus. Zusammen mit der Approximation c k(s)c(s) und der vorher beschriebenen numerischen Approximation ergibt sich folgender Algorithmus: ***************************************************** für alle Pixel p finde den Strahl l vom Auge e durch den Pixel p A(p) = 0 C(p) = 0. für alle Samplepunkte s entlang l ermittle c(s) und α(s) C(p) + = (1 A(p)) α(s) c(s) A(p)+ = (1 A(p)) α(s) ***************************************************** Undersampling durch numerische Approximation Abbildung 9.17: (a)zu niedrige Samplegrate, (b) bessere Approximation durch erhöhte Samplerate vom gleichen Intervall [i, i + 1] Das Problem bei diesem Ansatz stellt zu niedrige Samplerate dar. Wie der Abbildung 9.17 (a) zu sehen ist, gehen viele Details des skalaren Feldes verloren, falls die Sampleabstände zu hoch gewählt werden. Die diskrete Approximation für den Volume Rendering Integral nährt sich den korrekten Ergebnis für d 0 also für unendlich viele Samplepunkte an. Das ist natürlich nicht praktikabel. In Abbildung 9.17 (b) ist aber zu sehen, dass die Rekonstruktion des Verlaufs auch durch eine niedrigere Samplerate machbar ist. Dazu gibt es einen Sampling Theorem, der besagt, dass eine korrekte Rekonstruktion nur mit Samplerate größer als die Nyquist Frequenz möglich ist. Die Nyquist Frequenz der Farben c(s(x)) und der Lichtdurchlässigkeit k(s(x)) ist von der Nyquist Frequenz des skalaren Feldes s(x) und von den maximalen Werten der Nyquist Frequenzen der Transferfunktionen für Farben c(s) und Transparenz k(s) abhängig. Das Problem hier ist, dass nicht lineare Bestandteile der Transferfunktion die benötigte Samplerate beachtlich erhöhen.

12 138 Rita Erfurt 4.2 Vorintegrierung In diesem Kapitel wird eine weitere Verbesserung in der Approximation des Volume Rendering Integrals betrachtet. Zu diesem Zweck werden die Werten für das skalare Feld s(x), für Farben c(s) und für Transparenz k(s) vorberechnet und in einer Tabelle gespeichert. Während der Auswertung des Volume Rendering Integrals setzt man später diese vorberechneten Daten ein. Bei diesem Verfahren wird ein Slab zwischen zwei Punkten oder auch Slicen sozusagen betrachtet (Abbildung 9.18). Abbildung 9.19: Samples Abbildung 9.18: Ein Slab zwischen zwei Slices. Der gesamte Wertebereich von möglichen skalaren Daten wird in bestimmten Abständen d jeweils für den Intervall [s(i), s(i + d)] linear interpoliert. Die interpolierte Werte eines Intervalls werden mit Transferfunktionen auf die Farbe und die Opazität abgebildet und das Ergebnis für das entsprechende Intervall in eine Tabelle gespeichert. Die ursprüngliche Formel für die Lichtdurchlässigkeit α i des i-ten Segments lautet: ( α i = 1 exp (i+1)d Abbildung 9.20: Skalare Werte an den Samplepunkten. Diese Gleichung wird nun in Abhängigkeit von s f, s b und d vorberechnet: ( 1 α i α i (s f,s b,d) = 1 exp k ( ) ) (1 ω)s f + ωs b d dω (9.2) 0 i d k ( s(x(t)) ) ) dt Die skalare Werte zwischen s f und s b werden in dieser Gleichung linear mit ω interpoliert. Auf die interpolierten Werte wird die Auslöschungsfunktion angewandt und das Ergebnis gespeichert. Die Farbe C i für das i-te Segment kann man analog zu α i ableiten. Die Ausgangsgleichung für C i lautet: (i+1)d C i = c ( s(x(t)) ) ( t exp k ( s(x(t)) ) dt ) dt id Hier wird über Intervall [id,(i + 1)d] einmal die Farbe c integriert und jeweils mit dem Integral der Opazität gewichtet. Die Farbe C i wird nun in Abhängigkeit von s f, s b und d wie folgt berechnet: C i C i (s f,s b,d) = 1 0 c ( (1 ω)s f + ωs b ) exp ( i ω 0 k ( (1 ω )s f + ω s b ) d dω ) d dω (9.3) Für die Farbe c werden wie für die Opazität k die linear interpolierte Werte zwischen s f und s b benutzt. Wie in der Abbildung 9.20 zu sehen ist, entspricht später bei der Auswertung des Integrals für einen konkreten Strahl durch das Volumen der Verlauf der skalaren Werten zwischen x(id) und x((i + 1)d) einer linearen Interpolation. Die Farbe und die Opazität entlang dies Intervalls [x(id), x((i + 1)d)] ist bereits entsprechend der interpolierten Werten gesammelt und kann aus der vorberechneten Tabelle über die skalaren Werte s f, s b und den Abstand d(die Abtastabstand des Strahls) geholt werden. Mit den beiden Gleichungen für Transparenz α i (s f,s b,d) und für Farbe C i (s f,s b,d) lassen sich die Werte für das Volume Rendering Integral vorberechnen. An dieser Stelle kann man die numerische Approximation aus dem vorherigen Kapitell aufgreifen und mit den vorberechneten Werten verbinden: n i 1 I C i (1 α j ) i=0 j=0

13 Pre-integrated volume rendering: Slicing vs. raycasting 139 I n i=0 i 1 C i (s fi,s bi,d) (1 α j (s fj,s bj,d)) (9.4) j=0 mit jeweils s fi = s(x(id)), s bi = s(x((i + 1)d)), d = D n, s f j = s(x(jd)), s bj = s(x((j + 1)d)). C i (s fi,s bi,d) und α j (s fj,s bj,d) werden aus der jeweiligen Tabelle geholt Vorteile und Nachteile der Vorintegrierung Durch diese beide Formeln für Opazität α i (s f,s b,d) und für Farbe C i (s f,s b,d) wird nicht wie vorher nur die Transferfunktion auf einen skalaren Wert s(x(id)) des Samplepunkts x(id) angewandt, sondern die Opazität α i (s f,s b,d) und die Farbe C i (s f,s b,d) für jeweiligen Intervall [s f,s b ] approximiert. Das liefert einen genaueren Wert für einen Slab, der sich zwischen s f und s b befindet, im Vergleich zur Erhebung des skalaren Werts s(x(id)) für ein Slice an der Position x(id). Deswegen muss die Samplerate im Zusammenhang mit nicht linearen Transferfunktionen nicht erhöht werden, was vorher der Fall war. Das Problem der Nyquist Frequenz wird an dieser Stelle übergangen. Ein Nachteil ist hier der Speicherverbrauch für die Vorberechnung Approximation der Vorintegrierung Die Auswertung der Vorintegrierung kann weiter vereinfacht werden. Es folgt die übliche Approximation für Post-Klassifizierung des Volume Rendering, die für kleine Produkte k(s)d geeignet ist. Dazu werden die beiden Gleichungen für Transparenz α i (s f,s b,d) und für Farbe C i (s f,s b,d) wie folgt approximiert: C i (s f,s b,d) = 1 ( α i (s f,s b,d) = 1 exp k ( ) ) (1 ω)s f + ωs b d dω ( 0 ( 1 exp d s b s T(sf f ) T(s b ) )) mit Integralfunktion T(s) := s k(s) ds c ( (1 ω)s f + ωs b ) exp ( ω ( d 0 s b s K(sf f ) K(s b ) ) mit Integralfunktion K(s) := s 0 Die Werte für K(s) und T(s) werden vorberechnet. k ( (1 ω )s f + ω s b ) d dω ) d dω c(s) ds. 4.3 Minimierung des Berechnungsaufwands bei Vorintegrierung In diesem Abschnitt werden zwei mögliche Verbesserungen der Vorintegrierung beschrieben. Eins der Probleme in der Vorintegrierung stellt die Berechnung der Tabelle bei der Initialisierung und nach möglicher Modifikation der Transferfunktion. Abbildung 9.21: Illustration der Sampleabstände, hier im Schnitt mit den Slices. Konstante Abstände Raycasting (d), verschiedene Abstände bei Slice basierendem Rendering: (a) Achsen gerichtetes Slicing mit 2D Texturen, (b) das Verfahren aus (a) mit anderem Augenpunkt, (c) Slicing mit 3D Texturen und orthogonalen Projektion

14 140 Rita Erfurt Wie in Kapitel bevor beschrieben, werden die Tabellen für drei Parameter aufgebaut: Anfangswert s f, Endwert s b, die Länge d. Diese werden einmal für die Berechnung der Farbe C = C(s f,s b,d) und der Lichtdurchlässigkeit α = α(s f,s b,d) benutzt. Erster Ansatz reduziert die Anzahl der Parameter. Und zwar ist es möglich, wenn die Sampleabstände konstant sind oder beinah als konstant angenommen werden können. Denn falls die Segmentlänge d für alle Segmente gleich ist, darf dieser Parameter aus der Tabelle gestrichen werden. Die Berechnung erfolgt danach für die zwei Parameter Anfangswert s f und Endwert s b. Es gibt Techniken für die dieser Ansatz mehr oder weniger geeignet ist, wie die Abbildung 9.21 zeigt. Die Sampleabstände beim Raycasting sind konstant (d). Ein Sichtstrahl tastet das Volumen in gleichen Abständen hier mit Halbkreisen angedeutet, diese Frequenz gilt für jeden solcher Strahlen von dem Betrachter aus. Dieser Ansatz ist für 3D-Textur basierendes Slicing ebenfalls eine gute Approximation. Wie man in der Abbildung 9.21 (c) erkennen kann, sind die einzelnen Slices orthogonal zum Betrachter gerichtet. Der Fehler ist symmetrisch für die linke und rechte Seite des Bildes. Eher ungeeignet ist diese Nährung für Achsen gerichtetes Slicing mit 2D Texturen. Wie in der Abbildung 9.21 (a) zu sehen ist, variieren die Abstände ziemlich. Der Fehler kommt hier mehr zur Geltung, je größer der Abstand der Betrachter zu der aktuellen Achse mit der 2D Textur ist, vergleiche (a) und (b) aus der Abbildung Zweiter Ansatz: Die lokale Modifikation der Transferfunktion benötigt für einen skalaren Wert s nicht den vollständigen Update der ganzen Tabelle. In der Tat müssen nur die Werte C(s f,s b,d) und α(s f,s b,d) mit s f s s b oder s f s s b neu berechnet werden, d.h. in worst case nur die Hälfte der ganzen Tabelle. 4.4 Anwendung in Volume Rendering Techniken Pre-integrierte Klassifizierung ist nicht nur auf eine einzige Volume Rendering Technik beschränkt, vielmehr kann es den Post-Klassifizierungsschritt in vielen Techniken ersetzen. Zum Beispiel kann die Look-up Tabelle der Segmentfarben und der Opazität, die zur Zellprojektion 3D-Texture benutzt wird, mit der pre-integrierte Klassifizierung vorberechnet werden. Natürlich kann pre-integrierte Klassifizierung auch in anderen Volume Rendering Techniken genauso verwendet werden, z.b. bei Raycasting der strukturierten und unstrukturierten Netze [2]. Hier spielt auch der Ansatz der GPU eine große Rolle. 5 Slicing, Textur basiertes Volume Rendering 5.1 Idee des Textur basierendes Volume Rendering Als ein wichtiger Algorithmus für das Rendering von Volumendaten auf regulären Gittern gilt die Textur basierte direkte Volumenvisualisierung. Das so genante Slicing erreicht vergleichsweise hohe Framerate unter Ausnutzung der 3D Texturhardware. Dabei sind die Algorithmen so konzipiert, dass die Unterstützung durch Hardware möglichst effektiv ausgenutzt wird. Die Idee hier ist das Volumen in Schichten zu schneiden, dabei werden die Daten des Volumens auf die Ebenen abgebildet. Danach werden die entstandenen Schichten als texturierte Polygone bearbeitet. Je nach der Art zur Verfügung stehenden Texturen auf der Grafikkarte unterschieden sich folgende zwei Verfahren D-Texturen und Volume Rendering Die Entwicklung für texturbasierte Volume Rendering verläuft über 2D-Texturen. Diese Technik liefert aber keine gute Qualität in Vergleich zu 3D Texturen, trotzdem ist sie aus historischen Gründen verbreitet, da diese von den meisten Grafikkarten unterstützt wird und der Schritt zu den 3D Texturen erst später erfolgte. Mit diesem Verfahren wird die Problematik wie folgt bearbeitet. Der Volumendatensatz wird in eine Hilfsgeometrie gelegt, beispielsweise in einen Quader als Boundingbox. Diese Box wird entlang ihrer Hauptachsen x, y und z in abstandgleiche Schichtebene zerteilt. Dann werden so entstandene Slice in drei Stapeln von 2D Texturen gespeichert, für jede Achse einen Stapel. Das führt auch zum Problem, dass die Texturen dreifach im Texturspeicher für interaktives Verändern der Position gehalten werden müssen. Den beim Drehen des Objekts oder während des Veränderns der Position des Betrachters muss zwischen den Texturen geschaltet werden, denn diese liegen parallel zu den Achsen der Boundingbox und nicht zum Betrachter. Und zwar wird jeweils eine solche Textur gewählt,

15 Pre-integrated volume rendering: Slicing vs. raycasting 141 Abbildung 9.22: Objekt orientierte Slices mit einer Hilfsgeometrie und 2D Textur [1] die mit der Blickrichtung den kleinsten Winkel bildet. Abbildung 9.22 zeigt die Bondingbox mit den Schichten parallel zur x Achse der Box, dann die Box mit den texturierten Schnittebenen und das bessere Endergebnis mit größeren Anzahl der Slices. Die Bildqualität ist dabei schlechter als bei 3D-Texturen. Hauptproblem ist die visuelle Artefakten aufgrund der Texturumschaltung beim Rotieren des Objekts. Darüber hinaus ist die Anzahl der Schichten durch die Anzahl der Texturen beschränkt, falls diese nicht aus einer 3D Textur gewonnen werden, sondern das ganze Objekt liegt bereits in drei Stapel zur Verfügung. Gleichzeitig gibt es Vielzahl von Verfahren, die zur Verbesserung dieser Probleme führen. Zum Beispiel durch Ansatz von Multitexturen kann die Bildqualität durch zusätzliche Zwischenschichten erhöht werden und auch die Textur-Replikation vermieden werden. Multitexturen erlauben, dass ein einziger Polygon mit mehreren Texturen versehen wird. Später in der Rasterisierung wird die Werte eines Fragments aus Texel von mehreren Texturen errechnet D-Texturen und Volume Rendering Abbildung 9.23: Sicht orientierte Slices mit einer Hilfsgeometrie und 3D Textur [1] Das Volumen ist als 3D-Textur definiert, ein 3D Array von skalaren Daten. Die neueren Grafikkarten können direkt mit 3D Texturen umgehen, da die Speicherstruktur zu diesem Zweck bereits vorhanden ist. Da es keine 3D Primitiven zum Rendering gibt, greift man auf die 2D Polygone (Schnittebenen) zurück. Der gesamte Volumendatensatz wird hier auch in Schichten geschnitten, wobei die Schnittebenen orthogonal zur Blickrichtung stehen (Abbildung 9.23 links). Die Slices werden mit den entferntesten beginnend übereinander gezeichnet (Abbildung 9.23 Mitte). Das Alpha Blending bewirkt, dass bestimmte Farben auf der Textur nicht mit gezeichnet werden oder mit gewissen Durchsichtigkeitsgrad angezeigt werden. In der Abbildung 9.23 rechts ist ein Beispiel zur Volume Rendering mit 3D Texturen zu sehen, hier ist die Anzahl von Slice größer als bei dem Beispiel aus der Mitte. In Vergleich zum Slicing mit 2D Texturen erfolgt hier das Sampling mittels trilinearer anstatt bilinearer Interpolation, damit wird mit 3D Texturen bessere Qualität erreicht.

16 142 Rita Erfurt 5.2 OpenSG Um die Probleme, die mit der Grafik Hardware zusammen hängen wie z.b. Portabilität, zu umgehen, gibt es einen Versuch die Funktionalität der Hardware in Programmierbibliotheken abzubitten. Diese abstrakte Programmierschnittstelle stellt OpenSG zur Verfügung. Die spezifischen Eigenschaften der Grafik Hardware werden hier automatisch an die Fähigkeiten der Grafikkarte angepasst. OpenSG ist ein Szenengraph-API, der bereits in OpenSG 1.6 erhältlich gibt. ist die offizielle Seite hier ist Dokumentation zu finden Shader Schnittstellen in Architektur von OpenSG Abbildung 9.24: Shader Schnittstellen, verändert nach [6] Die Architektur von OpenSG besteht aus vier Komponenten: einem Renderer, einem Textur Manager (osg::texturemanager), einem Slicer und einem Shader (osg::dvrshader) (Abbildung 9.24). Der Renderer steuert die übrigen Komponenten. Shader bestimmt welche Texturen benötigt werden, die einzelnen Parameter werden über osg::dvrappearance registriert. Textur Manager verwaltet die Texturen, inklusive Bricks und Tiles. Der eigentliche Slicing Algorithmus wird über den Renderer gesteuert. Zu nähren Informationen siehe die Dokumentation und [6] Bricks und Tiles Abbildung 9.25: Tiles entlang der Achsen, Boundingbox in Originalzustand und Bricks nach [6] Die wesentlichen Probleme bei dieser Volumenvisualisierung liegen in der Größe des verfügbaren Texturspeichers. Unabhängig davon, ob zur Darstellung 2D oder 3D Texturen eingesetzt werden, meistens übersteigen die Datensätze aus der Praxis die Kapazität des Texturspeichers. Um dieses Problem zu beheben, wird das Volumen in eine Anzahl Tiles oder Bricks unterteilt, die jeweils klein genug für den zur Verfügung stehenden Texturspeicher sind. Beide Algorithmen behandeln die Texturen gleich im letzten Schritt der Komposition, sie werden von Hinten nach Vorne dem Framebuffer mittels Blending übergeben. Hier werden zwei Möglichkeiten beschrieben wie das Volumen zerteilt werden kann. Eine schneidet den Datensatz entlang der Hauptachsen der Boundigbox in Tiles (Abbildung 9.25 links). Diese Vorgehensweise ist geeignet für Achsen gerichtete 2D Texturen. Die andere zerlegt das Volumen in Blöcke, Bricks (Abbildung 9.25 rechts), was besser für 3D Texturen geeignet ist. Innerhalb des Bricks bzw. Tiles werden die Texturen von Hinten nach Vorne unabhängig gezeichnet An dieser Stelle muss die Reihenfolge der Teile berücksichtigt werden. Zusätzlich müssen Bricks überlappen, um eine nahtlose Interpolation zu

17 Pre-integrated volume rendering: Slicing vs. raycasting 143 gewährleisten. Die Klassen osg::brick und osg::brickset des OpenSG verwalten die beschriebene Unterteilung. [6] 5.3 Volume Shader In OpenSG sind bereits einige Shader standardmäßig implementiert. Für Color Table Shader integriert die Klasse osg::dvrsimplelutshader für Post-Klassifikation die Hardware-Funktionalität. Abbildung 9.26: Iso-Oberfläche des menschlichen Schädels. Daten durch CT ermittelt [1] OpenSG besitzt einen Iso-Oberflächen Shader, der durch die Klasse (osg::dvrisoshader) ansprechbar ist. Für das Rendering der Iso-Oberfläche (Abbildung 9.26) beinhaltet die abhängige Textur Farbe, Transparenz und den interpolierten Wert, wenn der entsprechende Iso-Wert gleich oder kleiner den Texelwerten ist, wird der entsprechende Texel durch Alpha-Test gezeichnet. Der Gradient und der Voxelwert sind in RGBA Texturen gespeichert. 5.4 Textur basierendes pre-integriertes Volume Rendering mit 3D Textur Für die Vorintegrierung werden die Werte vorberechnet und in Texturen zum späteren Nachschlagen gespeichert. Die Lichtdurchlässigkeit der abhängigen Texturkarte wird entsprechend der Gleichung (2) und die Farben nach der Gleichung (3) ermittelt. Des Weiteren werden die Werte mit der Gleichung (4) zum Blenden gemischt. Die skalaren Werte der beiden Slices werden von der Texturkarte während der Rasterisierung des Polygons für einen Slab zwischen diesen beiden Slices ausgelesen. Diese Werte werden für einen dritten Texturabruf benötigt, der nach vor-integrierten Farben und Lichtdurchlässigkeit in 2D Texturkarte sucht. Dieser dritte Texturabruf hängt von vorherigen Texelabrufen ab, deswegen heißt diese Karte abhängige Texturkarte. Für jeden diesen Slabs werden die Werte aus der vorintegrierten Tabelle geholt und mittels Blending in den Framebuffer geschrieben. Zum Durchsuchen der Tabelle werden die Volumenwerte der vorderen Slice s f und der hinteren Slice s b gebraucht. Der Abstand d ist bei 3D Texturen näherungsweise konstant und kann daher als Parameter wegfallen. Der Renderer berechnet jeweils die Schnittpunkte der Sichtstrahlen mit den Slices. 6 Raycasting Der Raycasting Algorithmus ist ein weiteres aktuelles, diesmal Bild gerichtetes, Verfahren aus der Praxis zum Volume Rendering. Er zeichnet sich durch eine gute Qualität der Bilder aus. Seine größte Stärke liegt

18 144 Rita Erfurt in der Unabhängigkeit der Algorithmusdurchläufe für jeden Sichtstrahl. Das macht ihn leichter parallelisierbar, beispielsweise kann er anhand paralleler Architekturen auf mehreren Rechnern realisiert werden. Sein größter Nachteil ist der Rechenzeitaufwand, dazu werden in diesem Kapitel einige Verbesserungen aufgelistet, die diesem Problem entgegenwirken. Zuerst wird hier der eigentliche Algorithmus dargestellt. 6.1 Raycasting Idee Die Idee von Raycasting ist folgende: Es wird für jedes Pixel des zu erzeugenden Bildes ein Strahl durch das Volumen geschickt (Abbildung 9.27). Der Pixel nimmt die entlang des Strahls angetroffene Volumenstruktur auf. Das heißt die Farbe und die Opazität des Volumens in den angetroffenen Voxeln werden aufgesammelt, bis der Strahl das Volumen wieder verlässt oder der Zwischenwert sich nicht mehr ändert. Die so festgestellte Farbe bildet den Farbwert im Punkt der Bildebene [4]. Der Strahlungstransfertheorem beschreibt das physikalische Phänomen der Ausbreitung des Lichts in der Materie. Der besagt, dass die Intensität des Lichtes auf dem Abbildung 9.27: Raycasting. Für jeden Pixel Weg des Strahls durch die Materie durch Absorption verloren geht und wiederum durch die Emission in der durchquerte Materie gewonnen wird. Dieses Verfahren läuft ein Sichtstrahl durch das Volumen simuliert dieses Phänomen durch eine Neuabtastung des Datensatzes durch Sichtstrahlen. Die Integration der Emissions- und Absorptionswerte entlang des Sichtstrahles approximiert die Veränderung des Lichtes. 6.2 Pseudocode Pseudoprogramm für ein einfaches Fragmentprogramm basierend auf Volume Raycasting sieht wie folgt aus: ***************************************************** Berechne Eintrittsposition in das Volumen Berechne den Strahl in die Blickrichtung Solange im Volumen Durchsuche Volumendaten an der Strahlenposition Sammle die Farbe und Lichtdurchlässigkeit Gehe vorwärts entlang des Strahls ***************************************************** Zuerst wird die Richtung des Sichtstrahles zwischen dem Pixel und dem Eintrittspunkt berechnet, d.h. der erste Schnittpunkt mit der Boundingbox des Volumens ermittelt. Dann wird in jedem Schritt der Schleife der aktuelle Wert für den aktuellen Samplepunkt aus der 3D Texturkarte geholt und die bereits angesammelten Farbe und Opazitätswerte für das Fragment entsprechend dem gewählten optischen Modell aktualisiert (Abbildung 9.28). Abbildung 9.28: Raycasting. Für jeden Pixel läuft ein Sichtstrahl durch das Volumen Im einfachsten Fall kann es eine abhängige Texturnachschlagetabelle mit Alphablending für eine standarde Volume Rendering Transferfunktion kombiniert sein. Danach rückt die Sampling Position entlang des Strahls mit einer bestimmten Schrittgröße vorwärts. Die Schleife endet entweder, wenn der Strahl das Volumen verlässt, oder, wenn ein anderes Kriterium erfühlt ist. Das letztere ist abhängig von dem optischen Modell, z.b. der frühe Abbruch der Strahlenverfolgung kann mit Erreichen der bestimmten Opazität (Schwellenwerts) oder mit dem ersten Auftreffen mit einer semantisch undurchlässigen Iso- Oberfläche erfolgen [3]. 6.3 GPU basiertes Raycasting Heutige GPUs haben sich zu programmierbaren SIMD (Single Instruction Multiple Data) Prozessoreinheiten entwickelt, d.h. die Mikroprozessoren besitzen spezielle zusätzliche Befehlssätze, die mit einem Befehlsaufruf gleichzeitig mehrere ähnliche Datensätze verarbeiten können. Den Beginn der Grafikprozessoren unterstützen Bestandteile von DirectX Pixel Shader2.x/3.0 und OpenGL NV fragment program2, dynamische Schleifendurchläufe und Verzweigungen. Damit wird die

19 Pre-integrated volume rendering: Slicing vs. raycasting 145 GPU mehr und mehr zu GPGPU, das heißt ihr Aufgabenfeld wird erweitert und damit wird sie vergleichbar mit CPU. Der Grundgedanke von Raycasting passt hervorragend zu paralleler Prozesssemantik von dem neuen Fragmentprozessor, da das Volumen für jeden Pixel unabhängig von dem anderen Pixel durchquert werden kann. Das im Folgenden vorgestellte Gerüst basiert auf Single Pass Volume Raycasting Ansatz und ist einfach auf die Funktionalität der Volume Shader ausdehnbar Framework Das System von Volume Raycasting besteht hier aus zwei Hauptteilen: 1. Gerüst, Framework, geschrieben in C und basierend auf OpenGL und Glut 2. Eine Menge von Shader, die flexibel geladen werden und während der Ausführungszeit modifiziert werden Unabhängig von dem gewählten Shader koordiniert das Framework zwei Schritte im Renderingprozess: die Initialisierung der Textur und Anbinden verschiedener Funktionalität wie Event Handling und Transferfunktionen. Außer der Koordinierung des Rendering Prozesses findet sich alle andere Funktionalität bereits in jeder anderen Textur basierenden Volume Rendering Anwendungen. Der Datensatz wird in 3D RGBA Textur gespeichert. Es gibt zwei Möglichkeiten für die Behandlung des Gradienten. 1. Der Gradient wird vorberechnet und in den Texturspeicher abgelegt. 2. Berechnung des Gradienten kann auch on the fly durch den entsprechenden Fragment Shader erfolgen, d.h. während der Ausführung, sobald er gebraucht wird. Das Vorberechnen des Gradienten bewirkt einen Mehrverbrauch des Texturspeichers im Vergleich zur anderen Alternative. Dennoch leistet die Vorberechnung einen Vorsprung, der der Rendering Performance zu Gute kommt. Beim Vorberechnen werden die Gradienten in den RGB-Komponenten der Textur gespeichert. Falls aber einen genauere Darstellung erforderlich ist oder eine größere Datenmenge geladen werden soll, die den Texturspeicher auslastet, kann der Gradient on the fly ermittelt werden. Für die Darstellung des Volumens wird ein Volume Shader eingebunden und eine Proxy Geometrie benötigt Single-Pass Volume Shader In diesem Abschnitt wird eine mögliche Implementierung des Raycasting Algorithmus mit einem Volume Shader basierend auf den NVIDIA NV fragment programm2 Extension. Der Shader startet mit Bildung der parametrischen Strahlengleichung, diese soll zwischen den Pixelpunkt der Ebene und den Eintrittspunkt in die Boundigbox des Volumen verlaufen. MOV geompos, fragment.texcoord[0]; # mov d, s0; d.x = s0.x, d.y = s0.y, d.z = s0.z, d.w = s0.w. MOV schreibt die Werte von einem Register in das andere um. Um den Strahl zu berechnen, wird zuerst die Kameraposition berechnet, durch umkehren der Translation der Modelviewmatrix. MOV camera, state.matrix.modelview.invtrans.row[3]; Danach wird die Richtung des Strahls durch das Volumen ermittelt. SUB geomdir, geompos, camera; # sub d, s0, s1 d.x = s0.x s1.x, d.y = s0.y s1.y, d.z = s0.z s1.z, d.w = s0.w s1.w. Sub zieht die Werte s1 von s0 und schreibt sie in d. Bevor ein Strahl abgetastet werden kann, sind noch paar Vorbereitungen nötig. Die Richtung wird manuell normiert, dass verbessert die Genauigkeit, die Alternative wäre NRM die Standardnormierung des Vektors. DP3 geomdir.w, geomdir, geomdir; # dp3 d, s0, s1; d.x = d.y = d.z = d.w = s0.x s1.x + s0.y d1.y + s0.z s1.z RSQ geomdir.w, geomdir.w; # rsq d, s0 d.x = d.y = d.z = d.w = (s0.w == 0)? unendlich : 1/sqrt(abs(s0.w)) MUL geomdir, geomdir, geomdir.w;

20 146 Rita Erfurt # mul d, s0, s1; d.x = s0.x s1.x, d.y = s0.y s1.y, d.z = s0.z s1.z, d.w = s0.w s1.w MUl multipliziert s0 mit s1 und legt die Werte in d ab. MOV geomdir.w, 0.0; Mit den nächsten Befehlen wird ein Zähler für die Abstände der Slices und Textur generiert. MUL dir, geomdir, scalefactors; MUL pos, geompos, scalefactors; MOV pos.w, 0.0; An dieser Stelle werden skalare Werte für die spätere Berechnung initialisiert. TXL scalar, pos, texture[0], 3D; TXL unterstützt das Mip Mapping, mit Texturdurchsuchung und expliziten LOD (Level of Detail). MOV scalar.g, scalar.a; MOV scalar.a, 0.0; Unter Benutzung des Strahleneintrittspunktes, der durch die Texturkoordinate und der berechneten Strahlenrichtung definiert ist, wird das Volumen mit zwei geschachtelten REP Schleifen abgetastet. REP params2.g; REP params2.g; TXL tex, pos, texture[0], 3D; MOV scalar.r, tex.a; TXL src, scalar, texture[1], 2D; SUB texblen.r, 1.0, dst.a; MAD SAT dst, src, texblen.r, dst; MAD pos, dir, stepsize, pos; Die Schleife wird parallel ausgeführt. Sucht den neuen skalaren Wert. Sucht die Farbe in der vorintegrierten Textur. Führt das Blending durch. Macht ein Schritt vorwärts. SGE temp1, pos, 0.0; SLE temp2, pos, texmax; DP3 temp1.r, temp1, temp2; SEQC temp1.r, temp1.r, 3.0; BRK (EQ.x); MOV scalar.g, scalar.r; Die Schleife wird beendet, falls das Volumen verlassen wurde. BRK (break out of loop instruction) ist die Bedingung zur Schleifenunterbrechung. Der aktuelle skalare Wert wird gespeichert. ENDREP; BRK (EQ.x); ENDREP; END Mit diesem Programmcode lässt sich der Volume Shader für das Raycasting Algorithmus benutzen. Des Weiteren ist es möglich dieses Shader Programm für Refraktion zu erweitern. Dabei wird statt einem uniformen Hintergrund ein beispielsweise gemustertes Polygon hinter dem durchsichtigen Objekt gezeichnet. Das Verfahren zur Refraktion verläuft in zwei Schritten. Im ersten Schritt wird der Hintergrund gezeichnet und im zweiten wird der Raycasting Algorithmus durchgeführt. Im Raycasting Teil wird zusätzlich ein Schnittpunkt mit dem Hintergrund nach dem Verlassen des Volumens gesucht und die Farbe des entsprechenden Texel genommen (Abbildung 9.29). Abbildung 9.29: Continuous Refraction [5]

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

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

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

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

Texture Based Direct Volume Rendering

Texture Based Direct Volume Rendering Texture Based Direct Volume Rendering Vorlesung: "Advanced Topics in Computer Graphics" cbrak@upb.de 1 Agenda 1. Einleitung Volume Rendering 1.1. Volumendatensatz 1.2. Volumenintegral 1.3. Image order

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

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

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

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

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

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

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 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

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

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich.

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich. Kapitel 1 Animation (Belebung) Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich. Anwendungen findet die

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

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

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

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

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

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

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

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

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

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

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1 B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,

Mehr

Charakteristikenmethode im Beispiel

Charakteristikenmethode im Beispiel Charakteristikenmethode im Wir betrachten die PDE in drei Variablen xu x + yu y + (x + y )u z = 0. Das charakteristische System lautet dann ẋ = x ẏ = y ż = x + y und besitzt die allgemeine Lösung x(t)

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

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Computergrafik Bilder, Grafiken, Zeichnungen etc., die mithilfe von Computern hergestellt oder bearbeitet werden, bezeichnet man allgemein als Computergrafiken. Früher wurde streng zwischen Computergrafik

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

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

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen können zwei Ebenen (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Wie heiÿt

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

Terrain-Rendering mit Geometry Clipmaps

Terrain-Rendering mit Geometry Clipmaps Vorarbeiten & Grundlagen Basiskomponenten Der Clipmap-Algorithmus Terrain-Rendering mit Seminar Computergrak 2010 Vorarbeiten & Grundlagen Basiskomponenten Der Clipmap-Algorithmus Worum geht's? Algorithmus

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

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

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

Mehr

Programm 4: Arbeiten mit thematischen Karten

Programm 4: Arbeiten mit thematischen Karten : Arbeiten mit thematischen Karten A) Anteil der ausländischen Wohnbevölkerung an der Wohnbevölkerung insgesamt 2001 in Prozent 1. Inhaltliche und kartographische Beschreibung - Originalkarte Bei dieser

Mehr

3. LINEARE GLEICHUNGSSYSTEME

3. LINEARE GLEICHUNGSSYSTEME 176 3. LINEARE GLEICHUNGSSYSTEME 90 Vitamin-C-Gehalt verschiedener Säfte 18,0 mg 35,0 mg 12,5 mg 1. a) 100 ml + 50 ml + 50 ml = 41,75 mg 100 ml 100 ml 100 ml b) : Menge an Kirschsaft in ml y: Menge an

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

EM-Wellen. david vajda 3. Februar 2016. Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:

EM-Wellen. david vajda 3. Februar 2016. Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören: david vajda 3. Februar 2016 Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören: Elektrische Stromstärke I Elektrische Spannung U Elektrischer Widerstand R Ladung Q Probeladung q Zeit t Arbeit

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

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

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

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

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

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

Die Größe von Flächen vergleichen

Die Größe von Flächen vergleichen Vertiefen 1 Die Größe von Flächen vergleichen zu Aufgabe 1 Schulbuch, Seite 182 1 Wer hat am meisten Platz? Ordne die Figuren nach ihrem Flächeninhalt. Begründe deine Reihenfolge. 1 2 3 4 zu Aufgabe 2

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

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

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

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt. Gentlemen", bitte zur Kasse! Ravensburger Spiele Nr. 01 264 0 Autoren: Wolfgang Kramer und Jürgen P. K. Grunau Grafik: Erhard Dietl Ein Gaunerspiel für 3-6 Gentlemen" ab 10 Jahren Inhalt: 35 Tresor-Karten

Mehr

Durch Wissen Millionär WerDen... Wer hat zuerst die Million erreicht? spielanleitung Zahl der spieler: alter: redaktion / autor: inhalt:

Durch Wissen Millionär WerDen... Wer hat zuerst die Million erreicht? spielanleitung Zahl der spieler: alter: redaktion / autor: inhalt: Spielanleitung Durch Wissen Millionär werden... Diesen Traum kann man sich in diesem beliebten Quiz-Spiel erfüllen. Ob allein oder in der geselligen Runde dieses Quiz enthält 330 Fragen und 1.320 Multiple-Choice-Antworten.

Mehr

Kurzeinführung LABTALK

Kurzeinführung LABTALK Kurzeinführung LABTALK Mit der Interpreter-Sprache LabTalk, die von ORIGIN zur Verfügung gestellt wird, können bequem Datenmanipulationen sowie Zugriffe direkt auf das Programm (Veränderungen der Oberfläche,

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

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

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

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

5. Bildauflösung ICT-Komp 10

5. Bildauflösung ICT-Komp 10 5. Bildauflösung ICT-Komp 10 Was sind dpi? Das Maß für die Bildauflösung eines Bildes sind dpi. Jeder spricht davon, aber oft weiß man gar nicht genau was das ist. Die Bezeichnung "dpi" ist ein Maß, mit

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

Dokumentation für das Spiel Pong

Dokumentation für das Spiel Pong Dokumentation für das Spiel Pong BwInf - Turnierserver Didaktik der nformatik BWINF KI Wettbewerbs-Plattform Stand: 02.09.2014 Grundlagen In diesem KI-Turnier programmiert ihr einen Schläger für das Retro-Spiel

Mehr

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen!

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen! Stefan Böttner (SB4) März 2013 Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen! Verwendbar ab EEP7.5(mitPlugin5) + EEP8 + EEP9 Abmessung: (B 12m x H 12m) Die Einsatzhöhe

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

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

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

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

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

www.mathe-aufgaben.com

www.mathe-aufgaben.com Abiturprüfung Mathematik Baden-Württemberg (ohne CAS) Pflichtteil Aufgaben Aufgabe : ( VP) Bilden Sie die erste Ableitung der Funktion f mit sin() f() =. Aufgabe : ( VP) Berechnen Sie das Integral ( )

Mehr

Informationen zum Aufnahmetest Mathematik

Informationen zum Aufnahmetest Mathematik Erwachsenenschule Bremen Abendgymnasium und Kolleg Fachvertretung Mathematik Informationen zum Aufnahmetest Mathematik Der Aufnahmetest Mathematik ist eine schriftliche Prüfung von 60 Minuten Dauer. Alle

Mehr

Doing Economics with the Computer Sommersemester 2002. Excel Solver 1

Doing Economics with the Computer Sommersemester 2002. Excel Solver 1 Universität Bern Kurt Schmidheiny / Manuel Wälti Doing Economics with the Computer Sommersemester 2002 Excel Solver 1 Mit dem Solver unterstützt Excel eine Funktion, mit der u.a. komplex verschachtelte

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

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

10.1 Auflösung, Drucken und Scannen

10.1 Auflösung, Drucken und Scannen Um einige technische Erläuterungen kommen wir auch in diesem Buch nicht herum. Für Ihre Bildergebnisse sind diese technischen Zusammenhänge sehr wichtig, nehmen Sie sich also etwas Zeit und lesen Sie dieses

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

3. GLIEDERUNG. Aufgabe:

3. GLIEDERUNG. Aufgabe: 3. GLIEDERUNG Aufgabe: In der Praxis ist es für einen Ausdruck, der nicht alle Detaildaten enthält, häufig notwendig, Zeilen oder Spalten einer Tabelle auszublenden. Auch eine übersichtlichere Darstellung

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

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

Mehr

Werbemittelverwaltung

Werbemittelverwaltung Werbemittelverwaltung 1 Inhaltsverzeichnis Werbemittelverwaltung...1 Ihr Nutzen...3 Notwendige Stammdateneinstellungen...4 Das Anlegen einer Gruppe:... 4 Das Anlegen der Gruppeneinträge (Auswahl):... 4

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

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Aufgaben zur Flächenberechnung mit der Integralrechung

Aufgaben zur Flächenberechnung mit der Integralrechung ufgaben zur Flächenberechnung mit der Integralrechung ) Geben ist die Funktion f(x) = -x + x. a) Wie groß ist die Fläche, die die Kurve von f mit der x-chse einschließt? b) Welche Fläche schließt der Graph

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Repetitionsaufgaben: Lineare Funktionen

Repetitionsaufgaben: Lineare Funktionen Kantonale Fachschaft Mathematik Repetitionsaufgaben: Lineare Funktionen Zusammengestellt von Irina Bayer-Krakvina, KSR Lernziele: - Wissen, was ein Steigungsdreieck einer Geraden ist und wie die Steigungszahl

Mehr

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform Eberhard Baur Informatik Schützenstraße 24 78315 Radolfzell Germany Tel. +49 (0)7732 9459330 Fax. +49 (0)7732 9459332 Email: mail@eb-i.de

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

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Anleitung Konverter Letzte Aktualisierung dieses Dokumentes: 14.11.2013 Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Wichtiger Hinweis: Der Konverter

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

Protokoll 1. 1. Frage (Aufgabentyp 1 Allgemeine Frage):

Protokoll 1. 1. Frage (Aufgabentyp 1 Allgemeine Frage): Protokoll 1 a) Beschreiben Sie den allgemeinen Ablauf einer Simulationsaufgabe! b) Wie implementieren Sie eine Einlass- Randbedingung (Ohne Turbulenz!) in OpenFOAM? Geben Sie eine typische Wahl für U und

Mehr

Abituraufgabe zur analytischen Geometrie, Hessen 2013, B2, Grundkurs (TR)

Abituraufgabe zur analytischen Geometrie, Hessen 2013, B2, Grundkurs (TR) Abituraufgabe zur analytischen Geometrie, Hessen 2013, B2, Grundkurs (TR) 1 Bei Ausgrabungen wurden die Überreste einer 4500 Jahre alten Pyramide entdeckt. Die Abbildung zeigt die Ansicht der Pyramidenruine

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr

Partitionieren in Vista und Windows 7/8

Partitionieren in Vista und Windows 7/8 Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".

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