Ich muss drei Punkte durch eine glatte Kurve verbinden. Ich habe mir die gleichen Fragen angesehen, die bereits auf StackOverflow beantwortet wurden, aber alle empfehlen, Path.quadTo()
zu verwenden. Ich verstehe nicht, warum dies als eine richtige Antwort angesehen wird, da die Bezier-Kurve sich nur dem mittleren (Kontroll-) Punkt nähert, aber nicht durchgeht. In meinem Fall muss ich genau durchgehen. Wie kann ich das erreichen?
Wahr, was Sie brauchen, ist Catmull Rom Splines, die garantiert, um durch jeden Punkt zu gehen. Ich kenne jedoch keine Funktion in der Android-API, um sie zu zeichnen. Sie können auch die quadTo-Funktion "tricksen" und einen virtuellen Mittelpunkt übergeben, den Sie gemäß dem aktuellen und dem nächsten Punkt berechnen.
Was ist mit der Funktion cubicTo (oder rCubicTo, wenn Sie sie von einem relativen Punkt benötigen)? Ссылка , float, float, float, float, float)
Hier ist eine sehr schöne, illustrierte Anleitung für Javascript , aber alle verwendeten Methoden sind üblich und es gibt ein Analogon in Androiden Path Class