Bei Kreisbögen ist die Länge der Tangenten so ziemlich gleich der Länge der Kurven. Bei S-Kurven und Ellipsen passt immer noch der Mittelwert der Länge der Tangenten. Eine willkürliche Veränderung der Längen ist zwar theoretisch machbar, es ist aber dringend davon abzuraten, da zum Einen keine ansehnliche Ergebnisse, sondern irgendwelche verbeulten, eirigen Splines entstehen. Außerdem werden Modder, die die Quick-and-Dirty-Messmethode (nämlich Tangentenlänge = Splinelänge) einsetzen, z.B. Lollus, dir aufs Dach steigen.
Das gilt auch für Geraden, wo du theoretisch sogar die Tangentenlänge ändern kannst, ohne dass sich die Optik ändert. Da sollte eigentlich auch immer das ungeschriebene Gesetz gelten, dass die Tangente, die ja dann exakt auf der geraden liegt, dieselbe Länge wie die Gerade hat.
Wie gesagt, die Tangentenlänge entstpricht nur ungefähr (und rein zufällig) der Länge des Splines. Bei regelmäßigen Kreisbögen ist es ziemlich exakt, weicht aber etwa ab 120 Grad ab (irgendwann wird es recht merkwürdig), so dass du wieder eine Spezialformel einsetzen musst. streetutil.addEdgeAutoTangents macht das auch. Du kannst auch grundsätzlich die etwas präzisere Formel anwende, die ich in meiner Anleitung aufgeführt habe. Auf jeden Fall ist von zu großen Kurvenwinkeln abzuraten.
Aufgrund der Ungenauigkeit wird es interessant, wenn du eine Kurve nach De Casteljau teilst. Dann werden die beiden Tangenten nämlich exakt
unterschiedlich lang, obwohl der Kurvenverlauf sich nicht ändert. Ich habe da schon mit Lollus einen langen Disput drüber gehabt. Das kann also passieren, UG ändert da übrigens auch nichts dran, sondern belässt die Tangenten so.
Und die Faustregel: Exakt kriegst du mit den kubischen Splines nichts hin, außer die Unexaktheit bei der Kurventeilung.
Aber wenn es gut aussieht, ist es die Hauptsache.
Du kannst übrigens im Spiel nichts anderes als kubische Splines verwenden. Du musst dich also mit den Gegebenheiten anfreunden.