sergej petuhov paul frühauf - uni-hamburg.de
TRANSCRIPT
![Page 1: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/1.jpg)
Polygone Clipping Polygonoffsetting
Polygone, Clipping, Polygonoffsetting
Sergej Petuhov&
Paul Frühauf
Proseminar: 3D-Druck-Verfahren
1
![Page 2: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/2.jpg)
Gliederung
Clipping PolygonoffsettingPolygone
I. Polygone1). Definition2). Konkav, konvex und überschlagen
II. Clipping1). Was ist Clipping2). Clipping von Strecken3). Polygonclipping4). Nutzen von Clipping
III. Polygonoffsetting1). Polygonoffsetting2). Umlaufzahlen3). Inneres/- Äußeres Offset
2
![Page 3: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/3.jpg)
Definition
Polygone Clipping Polygonoffsetting
Ein Polygon ist eine Figur, die durch ein Tupel von verschiedenen Punkten definiert ist. Die Punkte heißen die Eckpunkte oder kurz Ecken des Polygons, ein Polygon mit -Ecken heißt auch …-Eck. (Poly = Viel; gon = eck)
3
![Page 4: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/4.jpg)
Konkav
Polygone Clipping Polygonoffsetting
4
- Nach innen gewölbt- Innenwinkel über 180°- Mind. 2 Seiten nach
innen gewölbt
![Page 5: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/5.jpg)
Konvex
Polygone Clipping Polygonoffsetting
5
- Nach außen gewölbt- Innenwinkel unter 180°- Mind. ein Innenwinkel über
180° != konvex
![Page 6: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/6.jpg)
Konvex
Polygone Clipping Polygonoffsetting
6
- Nach außen gewölbt- Innenwinkel unter 180°- Mind. ein Innenwinkel über
180° != konvex
Ist der Bauch konkav, war das Mädchen brav. Ist der Bauch konvex, hatte das Mädchen Sex.
![Page 7: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/7.jpg)
Überschlagen
Polygone Clipping Polygonoffsetting
7
- Kanten berühren sich nicht nur in den Eckpunkten
- Das Gegenteil von einfachen Polygonen
![Page 8: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/8.jpg)
Zusammenfassung
Polygone Clipping Polygonoffsetting
8
![Page 9: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/9.jpg)
Was ist Clipping
Polygone Clipping Polygonoffsetting
9
„Clipping“ bedeutet das Abschneiden eines Grundobjektesanhand eines Bildschirmfensters. Ein Fenster kann dabei ein beliebiges Polygon sein. Das sog. Clip Polygon.
![Page 10: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/10.jpg)
Clipping von Strecken
Polygone Clipping Polygonoffsetting
10
• P und Q sind beide Endpunkte einer Strecke
• P und Q liegen im Rechteckfenster (grün)
• P und Q liegen außerhalb des Rechteckfensters. (Das Fenster durchquerend) (blau)
• P oder Q liegen im Rechteckfenster (gelb)
• P und Q liegen außerhalb des Rechteckfensters (rot)
![Page 11: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/11.jpg)
Clipping von Strecken Algorithmus
Polygone Clipping Polygonoffsetting
11
Cohen-Sutherland Algorithmus
![Page 12: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/12.jpg)
Clipping von Strecken Algorithmus
Polygone Clipping Polygonoffsetting
12
Schritt 1: Zwei Endpunkte bestimmen (x1,y1) und (x2,y2)
Schritt 2: Outcode von den Endpunkten bestimmen• Outcode der Endpunkte = 0000 => Linie innerhalb• AND Operation beider Outcodes != 0000 => Linie außerhalb
Schritt 3: • xMin/xMax überschritten => y = y1 + m (x – x1)• yMin/yMax überschritten => x = x1 + (y – y1) / m
Schritt 4: Wenn der neu berechnete Punkt (x,y) die folgenden Bedingungen nicht erfüllt, wiederhole Schritt 3.• xMin <= x <= xMax• yMin <= y <= yMax
![Page 13: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/13.jpg)
Clipping von Strecken Algorithmus
Polygone Clipping Polygonoffsetting
13
![Page 14: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/14.jpg)
Clipping von Strecken Algorithmus
Polygone Clipping Polygonoffsetting
14
![Page 15: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/15.jpg)
Clipping von Strecken Algorithmus
Polygone Clipping Polygonoffsetting
15
![Page 16: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/16.jpg)
Clipping von Strecken Algorithmus
Polygone Clipping Polygonoffsetting
16
![Page 17: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/17.jpg)
Clipping von Strecken Algorithmus
Polygone Clipping Polygonoffsetting
17
![Page 18: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/18.jpg)
Polygonclipping
Polygone Clipping Polygonoffsetting
18
- Kanten des Polygons müssen vollständig, teilweise oder gar nicht übernommen werden
- Neue Kanten müssen aufgenommen werden
- Aus einem Polygon können beim Clipping mehrere Polygone entstehen
![Page 19: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/19.jpg)
Polygonclipping
Polygone Clipping Polygonoffsetting
19
Sutherland-Hodgman Algorithmus
![Page 20: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/20.jpg)
Polygonclipping
Polygone Clipping Polygonoffsetting
20
![Page 21: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/21.jpg)
Polygonclipping
Polygone Clipping Polygonoffsetting
21
Weiler-Atherton Algorithmus
![Page 22: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/22.jpg)
Polygonclipping
Polygone Clipping Polygonoffsetting
22
- Nur konvexe Polygone möglich
![Page 23: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/23.jpg)
Polygonclipping
Polygone Clipping Polygonoffsetting
23
- valide Flächen werden weggeclipped
![Page 24: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/24.jpg)
Nutzen von Clipping
Polygone Clipping Polygonoffsetting
24
• Grafikspeicher wird nicht zugemüllt• Halbkugeln zeichnen (abgeschnittene
Objekte)
![Page 25: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/25.jpg)
Polygonoffsetting
Polygone Clipping Polygonoffsetting
25
Problem:• Schwierig zwei sich schneidende Polygone zu Zeichen.
• Führt zu Anzeigefehlern.
Lösung:• Eins der Polygone kriegt ein Offset.
• Polygon wird an derselben Stelle vor einem anderen gezeichnet.
![Page 26: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/26.jpg)
Umlaufzahlen
Polygone Clipping Polygonoffsetting
26
• Windungszahlen
• Definition: Die Windungszahl einer Kurve Gamma in Bezug auf einen Punkt z0 stellt die Anzahl der Umrundungen entgegen der Uhrzeigerrichtung um z0 dar, wenn man dem Verlauf der Kurve folgt. Eine Umrundung in Uhrzeigerrichtung ergibt eine negative Windungszahl
![Page 27: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/27.jpg)
Windungszahlen
Polygone Clipping Polygonoffsetting
27
Windungszahl = 0 => außerhalb des Polygons
Windungszahl != 0 => innerhalb des Polygons
![Page 28: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/28.jpg)
Windungszahlen
Polygone Clipping Polygonoffsetting
28
![Page 29: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/29.jpg)
Windungszahlen
Polygone Clipping Polygonoffsetting
29
Schritt 1: Halbgerade zeichnen.Schritt 2: Setzte W = 0.Schritt 3: Schnittpunkt mit Polygonkanten.• Polygonkante verläuft von rechts nach links => W + 1.• Polygonkante verläuft von links nach rechts => W – 1.Schritt 4: Wiederholen für alle Schnittpunkte.Schritt 5: W = Windungszahl
Windungszahl = 0 => außerhalb des Polygons
Windungszahl != 0 => innerhalb des Polygons
![Page 30: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/30.jpg)
Beispiel
Polygone Clipping Polygonoffsetting
30
![Page 31: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/31.jpg)
Beispiel
Polygone Clipping Polygonoffsetting
31
![Page 32: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/32.jpg)
Inneres / Äußeres Offset
Polygone Clipping Polygonoffsetting
32
Inneres Offset• Polygon wird nach Innen abgesetzt
Äußeres Offset• Polygon wird nach außen abgesetzt
![Page 33: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/33.jpg)
Inneres Offset
Polygone Clipping Polygonoffsetting
33
Schritt 1: Jede Kante nach ihnen absetzten
Schritt 2: Verbinden der Linien
Schritt 3: Berechnung der Umlaufzahlen
Schritt 4: Entfernen von ungültigen Stellen
Ablauf für inneres Offset
![Page 34: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/34.jpg)
Inneres Offset
Polygone Clipping Polygonoffsetting
34
Schritt 1: Jede Kante nach ihnen absetzten
![Page 35: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/35.jpg)
Inneres Offset
Polygone Clipping Polygonoffsetting
35
Schritt 2: Verbinden der Linien
![Page 36: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/36.jpg)
Inneres Offset
Polygone Clipping Polygonoffsetting
36
Schritt 3: Berechnung der Umlaufzahlen
![Page 37: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/37.jpg)
Inneres Offset
Polygone Clipping Polygonoffsetting
37
Schritt 4: Entfernen von ungültigen Stellen
![Page 38: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/38.jpg)
Äußeres Offset
Polygone Clipping Polygonoffsetting
38
Schritt 1: Jede Kante nach außen absetzten
Schritt 2: Verbinden der Linien durch runde Bögen.
Schritt 3: Berechnung der Umlaufzahlen
Schritt 4: Entfernen von ungültigen Stellen
Ablauf für äußeren Offsets
![Page 39: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/39.jpg)
Äußeres Offset
Polygone Clipping Polygonoffsetting
39
Schritt 1: Jede Kante nach außen absetzten
![Page 40: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/40.jpg)
Äußeres Offset
Polygone Clipping Polygonoffsetting
40
Schritt 2: Verbinden der Linien durch runde Bögen.
![Page 41: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/41.jpg)
Äußeres Offset
Polygone Clipping Polygonoffsetting
41
Schritt 3: Berechnung der Umlaufzahlen
![Page 42: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/42.jpg)
Äußeres Offset
Polygone Clipping Polygonoffsetting
42
Schritt 4: Entfernen von ungültigen Stellen
![Page 43: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/43.jpg)
Wozu braucht man Polygone im 3D Druck?
Polygone Clipping Polygonoffsetting
43
Jedes Objekt besteht aus einer Vielzahl von Polygonen!
![Page 44: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/44.jpg)
Quellen
Polygone Clipping Polygonoffsetting
44
• https://de.wikipedia.org/wiki/Algorithmus_von_Cohen-Sutherland• https://de.wikipedia.org/wiki/Clipping_(Computergrafik)• https://www.die-
informatiker.net/topic/Computergrafik_SS11/Warum_Clipping/14861• https://wiki.delphigl.com/index.php/Clipping• http://search.r-project.org/library/polyclip/html/polyoffset.html• https://tams.informatik.uni-
hamburg.de/lectures/2015ss/seminar/3dp/presentations/polygone_stenzel.pdf
![Page 45: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/45.jpg)
Quellen
Polygone Clipping Polygonoffsetting
45
• http://delivery.acm.org/10.1145/130000/129906/p56-vatti.pdf?ip=134.100.29.211&id=129906&acc=ACTIVE%20SERVICE&key=2BA2C432AB83DA15%2EBB626F2563133BE7%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35&CFID=793561939&CFTOKEN=53977179&__acm__=1464782871_50df05f11a6622bf7e25b016a639d525
• https://de.wikipedia.org/wiki/Windungszahl• https://people.eecs.berkeley.edu/~sequin/CS285/PAPERS/OffsetPolygon.pdf• http://www.3dsource.de/faq/polygonoffset.html• https://www.researchgate.net/publication/256504043_Variable_fused_deposition_
modelling_-_concept_design_and_tool_path_generation
![Page 46: Sergej Petuhov Paul Frühauf - uni-hamburg.de](https://reader030.vdocuments.pub/reader030/viewer/2022012504/617e92987838305b6f3c8cec/html5/thumbnails/46.jpg)
Quellen
Polygone Clipping Polygonoffsetting
46
• Bilder: • https://mpi.fs.tum.de/wordpress/wp-content/uploads/2015/06/infill.jpg• https://www.3d-grenzenlos.de/wp/wp-content/uploads/2015/05/3d-modell-
voronoi.jpg• https://www.rapidobject.com/csdata/image/1/de/3d-figur-modell-aus-polygonen-
ergeben-ein-drahtgitternetz-polygonnetz_1024_400.jpg• http://ulrichmerz.com/wordpress/wp-content/gallery/jgm/jgm_08_web_big.jpg• Bilder aus dem Paper• Selbstgemachte Bilder