Hatte ich mir jedenfalls gedacht, als ich gerade mit Stolz geschwellter Brust meinen kleinen Sieg über quadratische Bézierkurven feierte. Aber wer nicht lesen kann, der wird bald in ein tiefes Loch fallen, wenn er erkennt, dass er nur einen Teil erledigt hat. Denn der Standard ist an dieser Stelle eindeutig und sagt, dass es sich um cubic Bézier curves handelt, die mit den entsprechenden Daten verknüpft sind.

Tja, da ich dem Maintainer von librsvg quasi versprochen habe, dass ich mich um den Patch kümmere und ich mein Wort zu halten pflege, gab es kein Zurück und ich fing an mich mit kubischen Bézierkurven auseinander zu setzen. Weil die Animationen auf der englischen Wikipedia so schön sind, hier nochmal eine zur Verdeutlichung der Aufgabe:

Kubische Bézierkurve aus der englischen Wikipedia

Kubische Bézierkurve aus der englischen Wikipedia

Nachdem ich erkannt hatte, dass es mit stumpfen Ausprobieren wohl nichts wird, habe ich es heute geschafft mir mal eine schöne Zeichnung zu machen und mir wichtige Punkte einzutragen. Danach konnte ich dann eine Formel aufstellen, die es ermöglicht die jeweils äußersten Punkte der Kurve zu berechnen (bei der Animation sind zwei solche Punkte zu sehen bei t=6 und t=50). Als ich dabei war meine Formel zu sortieren und umzustellen erkannte ich die Normalform wieder und ich entsann mich der besonderen Form, die nötig ist, um aus der Normalform die Nullstellen zu berechnen. Ich weiß nicht wie lange genau, aber mir schien es wie eine Ewigkeit, die zwischen dem Jetzt und der letzten Anwendung der p-q-Formel lag.

Nun sind die Grundlagen gelegt und ich kann nun den dazugehöriegen Quellcode testen. Zu dokumentarischen Zwecken werde ich meine Erkenntnisse auch nochmal niederschreiben, damit man das dann auch sauber zur Hand hat und nachvollziehen kann, wenn denn die Muße dazu besteht.

Ansonsten habe ich persönlich erstmal genug von dem Thema, sobald auch noch der eine Testfall läuft, der sich gerade noch weigert, werde ich mir ein anderes suchen. Außerdem war ich so gefangen von der ganzen Sache, dass ich gar nicht schlafen konnte vor lauter Unruhe/Tatendrang und die Wäsche bügeln muss ich auch noch… . Desweiteren gibt es ja auch noch andere interessante Sachen, über die es sich zu bloggen lohnt.🙂

Bis denne!!! Hej då!!!