Günstige Möglichkeit der Berechnung von kubischen Bézier-Länge

Eine analytische Lösung für kubische bezier-Länge
scheint nicht zu existieren, aber es bedeutet nicht, dass
Codierung einer günstigen Lösung nicht vorhanden ist. Durch billige ich meine so etwas wie im Bereich von 50-100 ns (oder weniger).

Weiss einer etwas? Vielleicht in zwei Kategorien:

1) weniger Fehler wie 1%, aber langsamer code.
2) mehr Fehler, wie einer um 20%, aber schneller?

Scannte ich über google ein bisschen, aber es funktioniert nicht
finden Sie etwas, das aussieht wie eine schöne Lösung. Nur so etwas wie Gefälle auf N Liniensegmente
und die Summe der N sqrt - zu langsam für mehr Präzision,
und wahrscheinlich zu ungenau für 2 oder 3 Segmente.

Gibt es was besseres?

  • Siehe stackoverflow.com/a/28764614/107090.
  • viel zu schwer zu bekommen, Antwort von dort (falls es die Antwort hier an alle, 99% wahrscheinlich nicht) ich brauche die direkte Antwort, die in c oder pseudocode nicht komplexe mathematische Papiere sehr schwer zu Lesen
  • Warum tun Sie es erwarten, werden code leicht verfügbar? Wie oft, denken Sie, jemand muss wissen, die genaue Länge einer Bezier-Kurve? Wenn Sie müssen etwas tun, das nie zuvor getan wurde, erwarten Sie, um einige Arbeit zu tun.
  • viele Menschen haben das Bedürfnis, dass.. (ich brauche genau, aber approximete) .. es ist erforderlich, beim zeichnen von bezier-Punkte in der for-Schleife, um zu wissen, wie viele dieser Punkte, die Sie benötigen, um zu zeichnen.. also ich Stand dieser questi0n, ich Dünn, SO dass ein Platz für solche Fragen
  • Auf dieser Seite ist es mehr relevant für post-code, der nicht richtig funktioniert, ist zu Fragen, warum. Wenn Sie code haben, der funktioniert, aber Sie möchten, dass ein effizienter Algorithmus, die Sie könnten versuchen, Stack Exchange.
  • Zu wissen, die Länge der Kurve ist nicht zu helfen Sie wissen, wie viele Punkte zu zeichnen.
  • aproximation nicht die genaue Länge.. geht.. nutzbar ist (neben Billig Rezept für Sie nutzbar sein könnte, die von vielen anderen Fällen ) ich benutze es manchmal für Bahnen etc, seine gut zu wissen, die Länge der gegebenen Trajektorie und ich muss es evtl. schnell
  • als Autor von pomax.github.com/bezierinfo: die wichtigste Frage hier ist, was Sie denken, Sie brauchen, dass die Angleichung -nicht korrekt - arclength, denn der bestimmt, was Fehlergrenzen akzeptabel sind, und die approximation der shortcuts kann man sogar nehmen, ohne dabei die Informationen, die Sie benötigt
  • handeln vielleicht als reality-check, die meisten Vektor-illustration-software hat Bogenlänge Berechnung gebacken. Alles, was machen muss, gepunkteten oder gestrichelten Kurven, zum Beispiel haben einige form der Bogenlänge Berechnung implementiert. Es ist weit mehr gemeinsam, als Ihre Frage, schlage vor, Sie glauben, es ist.
  • Du bist nicht gehen, um eine einfache Lösung für dieses. Gute Schätzungen beinhalten numerische Methoden, erfordern einige mathematische Reife, um zu verstehen. Ihre Wahl ist, die Herausforderung anzunehmen und zu wachsen Ihre Fähigkeiten, oder beauftragen Sie jemanden, der über diese Fähigkeiten verfügt.
  • wie ich schon schrieb, ich brauche so etwas 1-2% der Fehler in genauer Fall und anout 10-20 % in einem anderen - dies sollte nicht so verdammt schwer, ich brauche nur etwas besser als lame hinzufügen lineare Segmente Länge vielleicht
  • wenn Sie nicht wissen, die Lösung, die Sie wirklich haben keine Grundlage zu behaupten, "das soll nicht sein, so verdammt schwer," in den geringsten. Immer die echte Bogenlänge einer kubischen Kurve ist nicht nur "hart", es gibt buchstäblich keinen Weg, um zu berechnen, es generisch. Es ist unmöglich, und so berechnen wir es mit numerischen Methoden. Abflachung auf der anderen Seite, ist super einfach, so dass die Tatsache, dass Sie call-Länge-Berechnung mit einer abgeflachten Kurve hart ist schon komisch: es ist schnell, es ist unrichtig, sondern willkürlich Fehler (brauchen mehr Präzision? verwenden Sie mehr Segmente), was zu schwer ist?

InformationsquelleAutor user2214913 | 2015-04-03
Schreibe einen Kommentar