Diskussion:Spline

Letzter Kommentar: vor 5 Jahren von Markus Bärlocher in Abschnitt Verständlichkeit
Auf dieser Seite werden Abschnitte ab Überschriftenebene 2 automatisch archiviert, die seit 60 Tagen mit dem Baustein {{Erledigt|1=--~~~~}} versehen sind. Die Archivübersicht befindet sich unter Archiv.

B-Splines

Bearbeiten

Der Abschnitt sollte mit einer Einleitung beginnen, in der ersteinmal beschrieben wird, was ein B-Spline überhaupt ist, bevor es mit dem eigentlichen Text losgeht. (nicht signierter Beitrag von 92.225.26.64 (Diskussion) 13:28, 26. Aug. 2010 (CEST)) Beantworten

Also den Satz "Splines, die in dieser Basis dargestellt werden, nennt man B-Splines." an den Anfang statt ans Ende des Absatzes zu packen (auch umformuliert) ist dem Verständnis IMHO nicht zuträglich. --P. Birken 21:21, 26. Aug. 2010 (CEST)Beantworten

Der Unterabschnitt Definition ist nur schwer verständlich. Eine etwas ausholendere Erklärung wäre angebracht. Dazu kann man sich zB an der englischen Version orientieren. --141.89.46.137 12:24, 14. Jul. 2013 (CEST)Beantworten

B-Splines: Fehler?

Bearbeiten

In der B-spline Definition heisst es

 .

Das würde aber doch bedeuten, dass

 .

überhaupt nicht berücksichtigt werden würde - was meiner Meinung nach nicht stimmt. Ergo müsste man doch den Index der Kontrollpunkte und die Summe mit 0 beginnen lassen?! (nicht signierter Beitrag von 131.246.161.66 (Diskussion) 12:36, 21. Jun. 2011 (CEST)) Beantworten

Es sind zwei varianten in der Literatur üblich. Einmal beginnt der Knotenvektor (nicht Kontrollpunkte) beim Index   und einmal bei  . Hier beginnt der Knotenvektor bei  , was dazu führt, dass die Nummerierung der Kontrollpunkte und der dazugehörigen Basisfunktionen bei   beginnt. Das ist zwar verwirrend, aber korrekt. --Blueshark27 (Diskussion) 15:46, 7. Feb. 2014 (CET)Beantworten
Die Formel muss trotzdem noch fehlerhaft sein, da kurz vorher definiert wurde:  . Da aber  , kommen zwei undefinierte Summanden in der Summe vor. Oder habe ich etwas übersehen? --213.39.139.51 18:24, 22. Mär. 2015 (CET)Beantworten
Hinzu kommt Folgendes: Diese Seite definiert eine B-Spline-Kurve deutlich anders als der Artikel, nämlich mit   Kontrollpunkten   und einem  -dimensionalen Knotenvektor   mit   als
 .
Übertragen auf die Notation des Artikels wären das   Kontrollpunkte   und
 .
Das Seltsame ist, dass dabei immer noch ein Summand zu viel vorhanden ist, gemessen an der Aussage des Artikels, dass   nur Werte von   bis   annehmen darf. Dass diese Aussage sinnvoll ist, lässt sich bereits am Rekursionsabschluss ( ) nachvollziehen:
 
wäre für   gar nicht definiert, da   nicht definiert ist. Kann bitte jemand entweder den Fehler finden und korrigieren oder – auch im Artikel – deutlich machen, warum das kein Fehler ist? --78.52.220.125 21:16, 23. Mär. 2015 (CET)Beantworten
Ich behaupte einfach mal, die Indizierung in B-Splines/Definition beginnt mit 0, die in /B-Spline-Kurve mit 1. Ist einzeln so machbar, passt aber nicht zusammen. Die Indizierung in Kurve könnte man in i=0..n-p-1 ändern und es sollte getan sein (ich würde das so machen da in Programmiersprachen Felder üblicherweise mit 0 beginnen). Will das aber jetzt nicht ändern ohne mir 100% sicher zu sein.131.246.191.250 18:35, 11. Nov. 2015 (CET)Beantworten

Definition

Bearbeiten

  und   inwiefern ist die zweite Bedingung sinnvoll? Die erste impliziert sie doch schon oder begehe ich hier einen Denkfehler?

Mit   für alle i, j wäre die erste Bedingung wahr, die zweite aber falsch.--Franz 17:06, 27. Jun. 2014 (CEST)Beantworten

Anmerkungen zu Polarformen

Bearbeiten

Lyle Ramshaw (z.B., Artikel: `Blossom - A Connect-the-Dots Approach to Splines') liefert eine geometrische Interpretation für die de-Boor Punkte bei den B-Splines.

Ich betrachte diese Interpretation insbesondere deshalb als wertvoll, da sie eine leichte Herleitung für den Algorithmus von De Boor liefert. Mit dieser Interpretation sind auch andere Algorithmen, wie zum Beispiel das Einfügen von Punkten, die Differentation von B-Splines u.s.w., leichter zu begründen.

Er nutzt Polarformen (`polar forms' bzw. `blossoms'), d.h., er stellt das Polynom   in einem Segment des betrachteten Splines als Diagonale   der dem Polynom eineindeutig zugeordneten multi-affinen symmetrischen Funktion   dar. Symmetrisch heißt, dass sich der Wert der Funktion bei Permutierung ihrer Argumente nicht ändert. Multi-affin heißt bei symmetrischen Funktionen   für  .

Die De Boor Punkte für den k-ten B-Spline sind in der Interpretation von Ramshaw die Funktionswerte  . Er bezeichnet die resultierende Notation auch als neue Indizierung der De Boor Punkte.

Der Algorithmus von De Boor wird in diesem Kontext so interpretiert, dass man unter Ausnutzung von Multi-Affinität und Symmetrie der Funktion   immer mehr der Argumente in   durch die aktuelle Interpolationsstelle   ersetzt, bis man mit   den Funktionswert des Polynoms erhält.

Hat man zum Beispiel zwei aufeinanderfolgende De Boor Punkte   und  , so kann man den zweiten unter Benutztung der Symmetrie als   schreiben und dann die Affinkombination   ausnutzen, um für   den Funktionswert zu berechnen, in dem das erste Argument durch   ersetzt ist:

 
 

Lässt man nun bei   das erste, "bereits erledigte" Argument in der Aufzählung der Argumente weg, so kann man die eben beschriebene Vorschrift rekursiv weiter verwenden, um alle Argumente mit   zu ersetzen.

Zuletzt erhält man, wie schon erwähnt den Funktionswert   des zugeordneten Polynoms. --TN (Diskussion) 16:26, 17. Feb. 2016 (CET)Beantworten

Lieber Benutzer:TN, bitte unterschreibe deine Beiträge. --arilou (Diskussion) 15:43, 17. Feb. 2016 (CET)Beantworten
Entschuldigung, das war nur ein Versehen.--TN (Diskussion) 16:26, 17. Feb. 2016 (CET)Beantworten

NURBS

Bearbeiten

Im Abschnitt "Weitere Varianten" sind NURBS erwähnt. An dieser Stelle sollte deutlich darauf hingewiesen werden, dass NURBS im Allgemeinen keine Splines sind. NURBS werden segmentweise durch rationale Funktionen von Polynomen beschrieben und nicht durch Polynome. Die Bezeichnung Nonuniform Rational B-Splines ist diesbezüglich etwas irreführend.

Was soll die Aussage bedeuten, dass man mit NURBS "jegliche Kurvenform" beschreiben kann?

Ich weiß, dass NURBS im Gegensatz zu B-Splines die exakte parametrische Darstellung von Kreisabschnitten ermöglichen. Das ist einer der Gründe, weshalb man sie gerne einsetzt. --TN (Diskussion) 16:25, 17. Feb. 2016 (CET)Beantworten

Lieber Benutzer:TN, bitte unterschreibe deine Beiträge.(Erledigt. Danke für den Hinweis.)
Zur NURBS-Technik kann ich nicht viel beitragen, ich bin mehr "Anwender" denn Mathematiker.
Zu "Was soll die Aussage bedeuten, dass man mit NURBS "jegliche Kurvenform" beschreiben kann?":
Genau das: Nimm' einen Stift und ein Blatt Papier, setze den Stift auf das Papier und male einen x-beliebigen Linienzug, mit Rundungen, Ecken, Selbstüberschneidung - ohne abzusetzen bis zum Ende. Egal was du gemalt hast, es gibt einen NURBS, der das abbilden kann.
--arilou (Diskussion) 15:40, 17. Feb. 2016 (CET)Beantworten
Im Sinne der Approximation geht das auch mit B-Spline-Kurven. Man benötigt nur hinreichend viele Knoten. Den eigentlichen Vorteil von NURBS gegenüber B-Splines habe ich oben beschrieben. Kreise lassen sich mit NURBS (Grad 2, 3 Knoten, passende Gewichte) exakt darstellen (Angaben habe ich im Moment ohne Prüfung von http://www.geometrictools.com/Documentation/NURBSCircleSphere.pdf übernommen). --TN (Diskussion) 16:39, 17. Feb. 2016 (CET)Beantworten
Ich meine mich zu erinnern, dass mit manchen Spline-Typen z.B. Ecken nicht exakt darstellbar sind; man kann mit vielen Stützpunkten sehr kleine Rundungen bauen, aber keine "echte Ecke".
Ein NURBS kann echte Ecken, ob ein B-Spline das kann, weis ich nicht.
--arilou (Diskussion) 13:25, 2. Dez. 2016 (CET)Beantworten

Ordnung vs. Grad

Bearbeiten

In der Definition wird der Rekursionsanfang mit der Ordnung p = 0 definiert. Mit der Beziehung p = d+1 weiter oben ergibt sich also ein Grad von -1. Der Rekursionsanfang muss bei p = 1 anfangen, nur dann ist der Grad = 0. Carl de Boor: B-Spline Basics macht diese Definition auf Seite 2. Das zieht natürlich eine genaue Prüfung aller Formeln nach sich, damit p als Ordnung richtig benutzt wird. (nicht signierter Beitrag von 2003:84:A922:1B42:65E3:F8A9:AA7D:A88C (Diskussion | Beiträge) 20:06, 20. Apr. 2016 (CEST))Beantworten

Ich habe alles von Ordnung auf Grad bei den Basis-Splines und Maximalgrad bei den Splinekurven umgestellt. Wäre schön, wenn jetzt jemand noch einmal die Indizes prüft. --TN (Diskussion) 14:12, 13. Mai 2016 (CEST)Beantworten

z. B. (n-1)-mal stetig diffbar? maximal glatt?

Bearbeiten

Bin ich jetzt blöd und überseh irgendwas, oder ist zwischen "man fordert z. B., daß der Spline (n-1) mal stetig differenzierbar ist" in der Einleitung und "außer diesem einfachen Aufbau [...] verlangt man bei Splines auch noch maximale Glattheit" (also C-unendlich) ein Widerspruch? Oder müssen die Splines nur zwischen den Knoten C-unendlich sein?--131.159.76.142 19:05, 17. Jul. 2017 (CEST)Beantworten

Mit „maximale Glattheit“ ist hier wohl nicht   gemeint, sondern „so glatt wie möglich“. Die Splines sollen also in   liegen mit einem möglichst großen  . Grüße -- HilberTraum (d, m) 20:11, 17. Jul. 2017 (CEST)Beantworten
danke! --131.159.76.173 13:12, 18. Jul. 2017 (CEST)Beantworten

Verständlichkeit

Bearbeiten

Ok - scheint etwas mit Mathematik zu tun zu haben. Aber was sind "Splines"? Kann bitte jemand wenigstens die Einleitung allgemeinverständlich schreiben, also mit Begriffen aus der Alltagssprache? Gerne vertieft in einem Kapitel mit praktischen Beispielen. Danke, --Markus (Diskussion) 10:24, 8. Mai 2019 (CEST)Beantworten