3D-Algebra Version 2



Ähnliche Dokumente
2D-Transformationen. Kapitel Translation. 6.2 Skalierung

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Definition und Begriffe

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

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Professionelle Seminare im Bereich MS-Office

Musterlösungen zur Linearen Algebra II Blatt 5

1 topologisches Sortieren

Adobe Flash CS4»3D-Tool«

Vektoren mit GeoGebra

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

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

Wie lässt sich die Multiplikation von Bruchzahlen im Operatorenmodell und wie im Größenmodell einführen?

DDS-CAD Technik-Telegramm Ausgabe 3 - Dezember 2011

Professionelle Seminare im Bereich MS-Office

Elexis-BlueEvidence-Connector

3D-Konstruktion Brückenpfeiler für WinTrack (H0)

Hilfedatei der Oden$-Börse Stand Juni 2014

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

Einführung in. Logische Schaltungen

Konzepte der Informatik

1 Mathematische Grundlagen

Arbeiten mit UMLed und Delphi

Sehr geehrter Herr Pichler, liebe Mitschüler, heute möchte ich euch einen kleinen Einblick in die Welt von gmax geben.

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

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Zwischenablage (Bilder, Texte,...)

Zeichen bei Zahlen entschlüsseln

Österreichische Trachtenjugend

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Mathematik 1: (ohne Taschenrechner) Korrekturanleitung

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

3 gestapeltes säulendiagramm mit excel 2007 und 2010 realisieren

GITS Steckbriefe Tutorial

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Geld Verdienen im Internet leicht gemacht

ONLINEERHEBUNG IM STATISTISCHEN BUNDESAMT

Internet online Update (Mozilla Firefox)

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

Lizenzierung von SharePoint Server 2013

Benutzerhandbuch - Elterliche Kontrolle

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Erstellen von x-y-diagrammen in OpenOffice.calc

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Modellbildungssysteme: Pädagogische und didaktische Ziele

MINDMAP. HANDREICHUNG (Stand: August 2013)

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

Leere Zeilen aus Excel-Dateien entfernen

Anleitung über den Umgang mit Schildern

MPDS4 MODELLE IMPORTIEREN

Beispiel(unten ist der Spielfeldrand):

Bildbearbeitung für BFV-Homepage mit IrfanView. IrfanView ist ein kostenloses Bildbearbeitungsprogramm. Einen geprüften Download finden Sie hier:

ecaros2 - Accountmanager

Text-Bild-Link-Editor

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

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Monatliche Grundgebühr: 5,00 Zeitabhängige Nutzung: Feiertags/Sonntags: 0,04 /min

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Standard XPersonenstand - Version Verbindliche Handlungsanweisungen

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Gitterherstellung und Polarisation

Lizenzierung von SharePoint Server 2013

vielen Dank für Ihr Schreiben vom in dem Sie Fragen zu Ihrem Bonus haben.

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

R. Brinkmann Seite Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

1) Mit welcher Zahl muss 18 multipliziert werden, um 234 zu erhalten? Kontrolliere! 2) Finde die Zahl, mit der 171 multipliziert werden muss, um 4104

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

Stellen Sie das Projekt Druckluftmotor auf aktuell. Öffnen Sie die Baugruppe Druckluftmotor.

BELIEBIG GROßE TAPETEN

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

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

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

4. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 8 Saison 1964/1965 Aufgaben und Lösungen

Hochschule München, FK 03 FA SS Ingenieurinformatik

UMSTELLUNG DER RÖNTGEN-SCHNITTSTELLE DÜRR-DBSWIN AUF DÜRR-VDDS

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren

Lineare Algebra und analytische Geometrie II (Unterrichtsfach)

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

So gehts Schritt-für-Schritt-Anleitung

Rundung und Casting von Zahlen

1.5 Umsatzsteuervoranmeldung

Bei Konstruktionen dürfen nur die folgenden Schritte durchgeführt werden : Beliebigen Punkt auf einer Geraden, Strecke oder Kreislinie zeichnen.

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Anmerkungen zur Übergangsprüfung

1. Legen Sie die mitgelieferte CD in ihr Laufwerk des PC, diese startet dann automatisch mit folgenden Fenster, klicken Sie nun English an.

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG

Etikettendruck mit Works 7.0

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Vorgehensweise bei Lastschriftverfahren

Transkript:

3D-Algebra Version 2 Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 19.November 2015 c 2015 FernUniversität in Hagen

Das Ziel Repräsentation von Punkten, Flächen und Körpern im R 3 / von Standardformaten Objekterzeugung Manipulation einzelner Objekte (Drehen, Verschieben usw.) Mengenoperationen

Wozu und warum jetzt? Darstellung von Objekten der realen Welt 3D-Geräte für Heimgebrauch erschwinglich 3D-Scanner 3D-Drucker größere Datenmengen verfügbar Verwaltung in einer Datenbank sinnvoll

Warum Version 2? Algebra3D seit dem letzten FaPra-Durchlauf vorhanden Gleiche Funktionalität wie Version 2 Viewer funktioniert gut Algebra selbst ist nicht robust Rundungsfehler logische Fehler? Reimplementierung des C++-Teils Konzentration auf robuste Implementierung Vermeiden von Rundungsfehlern

3D-Daten Woher kommen die? in Programmen konstruiert 3D-Scanner Laser-Scanner, z.b. Makerbot Digitizer Strukturiertes Licht, z.b. David SLS-2 Infrarotraster, z.b. Sense3D, Kinect Ultraschallscanner Photogrammetrie

point3d Element aus dem R 3 surface3d Oberfläche (Menge von Dreiecken) volume3d Körper (Menge von Dreiecken) weitere vector3d Richtungsvektor plane3d Ebene

Oberflächen dargestellt als Menge von Dreiecken müssen nicht zusammenhängend sein überlappungsfrei Dreiecke haben paarweise entweder einen gemeinsamen Eckpunkt eine gemeinsame Kante, d.h. zwei gemeinsame Eckpunkte gar keine gemeinsamen Punkte Nicht erlaubt:

Körper ebenfalls als Dreiecksmenge dargestellt Bedingungen für Oberflächen gelten auch hier zusätzlich: Die Oberflächen sind wasserdicht, d.h. jede Kante eines Dreiecks ist auch Kante eines anderen Dreiecks. Im Inneren eines Körpers darf kein weiterer Körper sein. Jedem Dreieck ist ansehbar, auf welcher Seite das Innere des dargestellten Körpers liegt.

von Körpern STL-Format (Surface Tesselation Language) binär oder ASCII stellt Mengen von Dreiecken dar Datenquelle www.thingiverse.com

STL-ASCII-Beispiel solid liberty facet normal 2.03e-01-8.889e-01-4.10e-01 outer loop vertex 3.94e+01-7.22e+00 1.24e+02 vertex 3.91e+01-7.68e+00 1.25e+02 vertex 3.87e+01-7.45e+00 1.25e+02 endloop endfacet... endsolid

STL-BINARY-AUFBAU Bytes Inhalt 0-79 Header, Inhalt nicht festgelegt 80-83 vorzeichenloser Integer: Anzahl der Dreiecke 84-... Dreiecke Jedes Dreieck ist wie folgt aufgebaut: Bytes Inhalt 0-3, 4-7, 8-11 (n1,n1,n2): Normalenvektor 12-15, 16-19, 20-23 (x1,y1,z1): erster Punkt 24-27, 28-31, 32-35 (x2,y2,z2): zweiter Punkt 36-39, 40-43, 44-47 (x3,y3,z3): dritter Punkt 48-49 vorzeichenloser Integer: Byteanzahl eines am Dreieck hängenden Attributs, im Normalfall 0 50-..? optional: zusätzliches Attribut

Normalenvektor und Knotenorientierung Normalenvektor steht senkrecht auf dem Dreieck zeigt nach außen hat Länge 1 Knoten sind entgegengesetzt zum Uhrzeigersinn orientiert, wenn man von außen auf das Dreieck sieht Außeninformation ist redundant gespeichert 1 3 2 1 2 3

korrektur Viele STL-Dateien teilweise fehlerhaft Der importstl-operator korrigiert Fehler soweit möglich dies umfasst Teilen sich schneidender oder überlappender Dreiecke Entfernen doppelter Dreiecke Schließen von Löchern Umdrehen der Orientierung von Dreiecken Entfernen von Dreiecken aus dem Objektinneren

exportstl: volume3d text string bool bool Körper Dateiname Objektname binär Erfolg exportiert einen Körper Prüfen der Korrektheit, z.b. mittelsnetfabb Basisversion kostenlos

Erstellung einfacher Körper Operator Ergebnis Argumente P2 createcube P1 point3d point3d createcylinder point3d real real int createcone point3d real real int createsphere point3d real int

Konvertierung von Regionen region2surface: region surface3d Triangulation einer Region region2volume: region real volume3d Region mit einer Dicke mregion2volume: mregion real volume3d bewegte Region Dicke eines Tages

Affine Transformationen Rotation, Skalierung, Verschiebung ändern die Lagebeziehungen von Objekten nicht lassen sich auf Matrixmultiplikationen zurückführen Operatoren sind nur im Aufbau der Matrix verschieden jeder Punkt des Objekts wird mit der Transformationsmatrix multipliziert Verwendung von 4-dim. Punkten und 4 4 Matrizen für R 3 Beispielmatrix (Rotation um die x-achse mit Winkel φ): 1 0 0 0 0 cosφ sinφ 0 0 sinφ cosφ 0 0 0 0 1

Operatoren rotate rotiert Objekt um bestimmten Punkt und Achse mit geg. Winkel mirror spiegelt Objekt an einer Ebene translate verschiebt Objekt um einen Vektor scaledir skaliert ein Objekt aus einem Punkt in gegebene Richtung scale gleichmäßige Skalierung aus einem geg. Punkt

Mengenoperationen union Vereinigung zweier Objekte minus Differenz zweier Objekte intersection Schnitt zweier Objekte union intersection difference zweier Zylinder

Oberflächen und Körper können aus mehreren, nicht verbundenen Komponenten bestehen Operator components zerlegt Objekt in diese Komponenten Ergebnis ist ein Strom von Objekten

Operatoren size liefert die Anzahl der enthaltenen Dreiecke bbox liefert die Bounding Box eines Objekts als rect3d

Robustheit einige Operatoren erfordern komplexe Berechnungen auf Dreiecken, z.b., Mengenoperationen Berechnungen im 3D-Raum Rundungsfehler Verwendung dergnu multiple precision library Manual unter: https://gmplib.org/gmp-man-6.0.0a.pdf Wichtige Klassempq_class zur Darstellung von rationalen Zahlen beliebiger Genauigkeit Anpassung von Berechnungsergebnissen notwendig, um durchdouble darstellbares Ergebnis zu erhalten (Entfernen zu kleiner Dreiecke und Auffüllen durch Nachbardreiecke)

Geschwindigkeit häufig Suche nach sich schneidenden Dreiecken notwendig große Mengen an Dreiecken (mehrere 10 bis 100 Tausend) Temporärer Aufbau eines R-Baums (im Hauptspeicher) sinnvoll Implementierung unter secondo/include/mmrtree.h vorhanden

Für Fragen bereit ich bin.