Click here to load reader

Graphische Datenverarbeitung

  • View
    22

  • Download
    1

Embed Size (px)

DESCRIPTION

Graphische Datenverarbeitung. Dr. Markus Heitz. Hinweise. Email: [email protected] Informationsmaterial, Powerpoint-Präsentation: www.ba-stuttgart.de/~mheitz - PowerPoint PPT Presentation

Text of Graphische Datenverarbeitung

  • Graphische DatenverarbeitungDr. Markus Heitz

  • HinweiseEmail: [email protected], Powerpoint-Prsentation: www.ba-stuttgart.de/~mheitzVorlesungsskript von Prof. Dr. Rudolf Messer: http://www.ba-stuttgart.de/studienangebot/technik/it/ba-intern/vorlesung/gdv/vorles_GDV.htm

  • Kurven- und FlchendarstellungWichtige Forderungen fr die Darstellung von Kurven und Flchen sind:Jede gewnschte Form mu mit gengender Genauigkeit darstellbar sein.Die approximierenden (interpolierenden) Funktionen sollen in Parameterform einzugeben sein. Sie mssen leicht differenzierbar sein, damit die Berechnung von Tangenten und Krmmungen einfach ist.Affine (lineare) Transformationen (Positionierung, Skalierung, ...) sollten leicht mglich sein.

  • SplinesFunktionen, die stckweise aus Polynomen bestehen. Ein Spline hat die Ordnung m (Grad m-1), wenn er stckweise aus Polynomen der Ordnung m besteht.Polynome: einfach zu berechnen und leicht differenzierbar. Leider neigen Polynome mit vielen Sttzstellen zum Oszillieren.deshalb verwendet man zweckmigerweise stckweise zusammengesetzte Funktionen mit stetigen und glatten bergngen.Beispiel: Ein Spline der Ordnung 3 (des Grades 2) besteht stckweise aus Parabeln:

    _892875114.unknown

  • Kubische SplinesBesonders beliebt fr Splines: Polynome 3. Grades (kubische Polynome), daPolynome niedrigeren Grades zu inflexibel sind, d.h. ein Kurvensegment kann dann nicht durch die zwei Endpunkte gehen und gleichzeitig in beiden Endpunkten eine vorgegebene Steigung besitzenPolynome hheren Grades leicht oszillieren und der Rechenaufwand stark ansteigt.parametrisierte kubische Kurven die Kurven geringster Ordnung sind, die in drei Dimensionen nicht planar sind (ein Polynom zweiter Ordnung definiert eine Ebene!).Fr spezielle Zwecke: Polynome hherer Ordnung (z.B. aerodynamische Oberflchen, Flugzeugbau)

  • Interpolation: Lagrange Polynomeein Polynom mglichst niedrigen Grades, das durch alle Sttzpunkte geht. Fr n+1 Punkte: Polynom nten Grades

    Rechenaufwand wchst mit dem Quadrat der Anzahl der Sttzstellen, Polynome neigen zum berschwingen, insbesondere in der Nhe der Randpunkte.

  • Interpolation durch kubische SplinesKubische Splines sind stckweise kubische Polynome, d.h. zwischen zwei Sttzpunkte kommt je ein Polynom Si(x) dritten Grades: Si(x) = ai(x- xi)3 + bi(x- xi)2 + ci(x- xi) + diDie 4 Koeffizienten werden so gewhlt, da die Kurve an allen bergangsstellen zweimal stetig differenzierbar ist.bergangsbedingungen:

  • Beispiel mit 4 PunktenDrei Polynome: 12 Unbekannte fr i= 1...3fr i= 2, 3Lineares Gleichungssystem mit 10 Gleichungen:2 Unbekannte knnen willkrlich festgelegt werdenBeispiel: Natrliche kubische Splines mit

  • Kubische SplinesLineares Gleichungssytem mit schnellem LsungsverfahrenNachteile: Jeder Kurvenabschnitt ist von allen Sttzpunkten abhngigkann nicht in Teilkurven zerlegt werdenVorteile: Glatte Kurve, zweimal stetig differenzierbarGeringes berschwingen

  • Interpolation nach AkimaVerlt man die Forderung nach zweimaliger Differenzierbarkeit, so kann die Kurve leichter in Teilbereiche zerlegt werden. Nach dem Verfahren von Akima (Akima-Interpolation) versucht man, durch eine (heuristische) Bestimmung der Koeffizienten eine fr das Auge akzeptable Kurve zu erzeugen.

  • Parameterdarstellung von Kubischen SplinesJedes rumliche Kurvensegment Si(u) = (x,y,z)(u) eines Splines lt sich in der Parameterdarstellung folgendermaen schreiben: xi(u) = aiu3 + biu2 + ciu + di0 u 1 yi(u) = eiu3 + fiu2 + giu + hi zi(u) = iiu3 + jiu2 + kiu + liMit der Matrix C und dem Vektor T

    ergibt sich

  • Parameterdarstellung von Kubischen SplinesSi(u) ist der Tangentenvektor der Kurve. Werden zwei Kurvensegmente verbunden, so heit die Kurve geometrisch stetig. Sind die Tangentenvektoren in Betrag und Richtung gleich, so ist die Kurve stetig.Jedes kubische Polynom hat vier Koeffizienten. Damit knnen insgesamt 4 Gren festgelegt werden. Man unterscheidet demnach: 2 Endpunkte und 2 Tangentenvektoren: hermitesche Kurven2 Endpunkte und 2 weitere Kontrollpunkte, die die Tangenvektoren in den Endpunkten festlegen4 Kontrollpunkte, die nicht auf der Kurve liegen: Approximation durch Bezierkurven, Splines

  • Interpolation mit kubischen Hermite-PolynomenPolynominterpolation ist nicht darauf beschrnkt, Punkte zu interpolieren, sondern man kann auch Ableitungen an den Sttzstellen interpolieren. Hermite-Polynome: H0(u) = (1 - u)2(1 + 2u) H1(u) = u (1 - u)2 H2(u) = u2 (1 - u) H3(u) = (3 - 2u) u2Die Koeffizienten eines damit erstellten Polynom drittes Grades q(u) = c0H0(u) + c1H1(u) + c2H2(u) + c3H3(u) knnen geometrisch gedeutet werden: Sind zwei Punkte P0, P1 mit den zwei dazugehrigen Tangentenvektoren m0 und m1 zu interpolieren, so ergibt sich q(u) = P0H0(u) + m0H1(u) + m1H2(u) + P1H3(u)

  • Approximation von Kurven: Bzier-Kurven Bernstein-Polynome Eigenschaften:Sie nehmen im Intervall [0,1] keine negativen Werte an. Die Summe der Werte ber alle Polynome ist immer gleich eins. Jedes Polynom besitzt im Intervall genau ein Maximum (Grad > 0).Die Maxima sind gleichabstndig ber das Intervall [0,1] verteilt. Bezier-Kurve: mit den n+1 Sttzstellen

  • Bzier-Kurve mit vier SttzstellenBeispiel, kubische Bzier-Kurve:P0 = (0, 0)P1 = (2, 4)P2 = (6, 4)P3 = (4, 4)Allgemein: Ordnung = Zahl der Sttzpunkte - 1

  • Bzier-Kurve mit vier Sttzstellen

  • Gewichtsfunktionen der Bzier-Approximation fr n= 2,3,4

  • Eigenschaften der Bzier-Darstellung Die ersten beiden beziehungsweise die letzten beiden Punkte bestimmen die Tangenten am Anfang beziehungsweise am Ende.Die Kurve verluft im Innern der konvexen Hlle aller Kontrollpunkte.Die affine Transformation einer Kurve erhlt man durch affine Transformation ihrer Kontrollpunkte.In CAD-Programmen: Kontrolle der Form durch verschieben der Sttzpunkte und verndern der TangentenvektorenWeit verbreitet (auch fr Flchendarstellung)Nachteil: Es ist schwierig, die Tangenten benachbarter Flchen aneinander anzupassen.

  • Bzier-SplinesSplines deren Segmente aus Bzier-Polynomen besteht. Meist kubische Bzierkurven.

  • B-SplinesGleiche Struktur wie Bzier-KurvenAber: schnell abfallende Gewichtsfunktionen Ni,m (u) anstatt Bi,n (t)Kein globaler Einflu aller Sttzstellen mehr.Maximaler Grad der Kurve gering.Resultat: Der Einflu jeder Sttzstelle Pi wird auf einen Bereich in der Umgebung der Sttzstelle beschrnkt. mit

  • B-SplinesAufteilung der Kurve in Teilstcke (Segmente).quidistanter Knotenvektor fr Spline der Ordnung m: T = (t0 , ... ,tn+2*(m-1)) 0 fr j
  • B-Splines: GewichtsfunktionenDie Gewichtsfunktionen Ni,m (u) von der Ordnung m (Grad m-1) sind stckweise rekursiv definiert: Ordnung m=1: Ni,m(u) = Ordnung m>1:

    1 fr ti u ti+10 sonst

  • B-Splines: GewichtsfunktionenBeispiel, m=2: eingesetzt: fr ti u ti+1fr ti+1 u ti+2sonst

  • B-Splines: Gewichtsfunktionen

  • B-Splines m=3Fr m=3 ergeben sich die quadratischen B-Splines:fr ti u ti+1fr ti+1 u ti+2sonstfr ti+2 u ti+3eingesetzt:

  • Gewichtsfunktionen der quadratischen B-Spline-Approximation

  • Gewichtsfunktionen der quadratischen B-Spline-ApproximationGewichtsfunktionen der quadratischen B-Spline-Approximation (m=3) fr 5 Punkte (n=4), T = (0,0,0,0.25,0.5,0.75,1.0,1.0,1.0) Die Summe aller Gewichtsfaktoren ergibt fr jeden Wert t stets 1. Da am Anfangs- und Endpunkt jeweils nur eine einzige Gewichtsfunktion ungleich Null ist, wird der Anfangs- und der Endpunkt immer exakt getroffen.

  • B-Splines mit m=2,...,7Je grer m desto weiter von den Sttzstellen entfernt. m=2: Polygonzug durch die Sttzpunkte (uere Kurve)

  • Eigenschaften von B-SplinesDie Kurve verluft im Intervall zwischen zwei Knoten innerhalb der konvexen Hlle der zugehrigen p+1 Kontroll-unkte (Ordnung p).Keine Ebene hat mehr Durchstopunkte mit der Kurve als mit dem Polygon der Kontrollpunkte.Die affine Transformation einer Kurve erhlt man durch die affine Transformation ihrer Kontrollpunkte.Wenn ein Kontrollpunkt verndert wird, so beeinflut er nur p+1 Knotenintervalle (Ordnung p).Eine B-Spline-Kurve kann durch Einfgen von Vielfachknoten exakt in eine Folge von Bzierdarstellungen berfhrt werden.

  • Non-Uniform B-SplinesUniform B-Splines (UBS) bezeichnet: Die Knoten liegen gleichabstndig, was bei gleichmig verlaufenden Kurven eine gute Lsung darstellt. Non-Uniform B-Splines (NUBS): beliebige Knotenfolgen, die errechnet oder vom Benutzer vorgegeben werden knnen:Damit ist eine bessere Anpassung an wechselnde Verhltnisseprzisere Kontrolle der FormDarstellung einer wesentlich umfangreicheren Klasse von Formen mglich.

  • UBS der Ordnung 3 (Grad 2: Parabeln) mit 7 SttzpunktenKontrollpunkte (Pole): P0, Pl, P2, P3, P4, P5, P6 Knotenvektor: T = (0,0,0,0.2,0.4,0.6,0.8,1,1,1)Eigenschaften dieser UBS 3. Ordnung:Die Kurve besteht stckweise aus Polynomen der Ordnung 3 (Parabeln).Die Knoten sind (gemessen im Parameterwert t) gleichabstndig.An den Knoten ist die Kurve punktstetig und tangentenstetig.Das Polygon ist in allen Knoten Tangente an die Kurve (dies gilt nur fr die Ordnung 3). Die inneren Knoten liegen genau in der Mitte zwischen zwei Kontrollpunkten.

  • Vergleich UBS - NUBSUBS:In Anwendungsprogrammen kann im allgemeinen jeder beliebige Pol des UBS angefat und in seiner Lage interaktiv verndert werden.Die Vernderung macht sich jeweils ber m, hier also 3 Knotenintervalle bemerkbar, d.h. z.B. beim Pol P3 zwischen 0.2 < u < 0.8.NUBS:Bei einem NUBS wird gegenber einem UBS die Forderung, da der Knotenabstand bei den inneren Knoten (gemessen im Parameterwert u) gleichabstndig ist