Das ganze ist relativ kompliziert, und der Artikel ziemlich knapp gehalten, aber ich kann mal grob skizzieren, was da passiert:
Die Formel hast du im Grunde richtig gelesen, zumindest was die mathematische Notation angeht. Allerdings geht es nicht um Zahlen, sondern um Vektoren, du bildest also jeweils das Skalarprodukt (was dir den Winkel liefert). Die Intuition ist: "Finde einen Punkt p, so dass die Verbindungslinien möglichst senkrecht auf den Normalen stehen." Weil gerade dann der Übergang besonders weich ist.
Zur Lösung des Problems: Zunächst musst du wissen, was ein lineares Gleichungssystem ist. Dann solltest du verstanden haben, wie man es in der Matrizen schreibweise schreibt. Das müsste eigentlich in der Schule auch irgendwann kommen.
In diesem Fall ist das Gelichungssystem überbestimmt, du hast also mehr Gleichungen als Variablen, was bedeutet, dass es eigentlich gar nicht lösbar ist. Stattdessen suchst du aber nun die Lösung, die "am kleinsten" ist, die, wenn du sie einsetzt, also den kleinsten Gesamtfehler ergibt.
Folgendes hilft vielleicht:
https://de.wikipedia.org/wiki/Kleinste-Q…ierungsproblems
Im Grunde ist der ganze Artikel nicht schlecht, ohne Vorwissen wirst du aber nur das wenigste davon verstehen. Wichtig ist die direkt verlinkte Formel: Indem du beide Seiten mit der transponierten Matrix multiplizierst, bekommst du ein neues Gleichungssystem, das nicht mehr überbestimmt ist und sich eindeutig lösen lässt (jedenfalls, wenn du Glück hast). Die Lösung ist dann auch direkt die gesuchte, die im ursprünglichen Gleichungssystem den kleinsten Fehler liefert.
Leider steht aber im Artikel, dass es oft nicht eindeutig lösbar ist und man sich für diesen Fall dann nochmal extra Gedanken machen muss. Oh und nicht zu vergessen: Das Skizze im Artikel zeigt den zweidimensionalen Fall, du musst das ganze natürlich für 3 Dimensionen implementieren.
Auf jeden Fall wirst du eine Bibliothek brauchen, die mit Matrizen umgehen kann. Und zwar vermutlich mit Matrizen beliebiger Größe, eine Standardgrafikbilbiothek die nur 4x4 Matrizen kann wird also vermutlich nicht reichen.
Insgesamt dürfte das eine ziemliche Herausforderung werden. Die Formel die du da siehst ist eigentlich nur ein Teilaspekt des ganzen, um tatsächlich an die Punkte zu kommen, muss man viel mehr rechnen. Diese Art von überbestimmten Gleichungssystemen zu lösen ist zwar etwas, das man durchaus öfters mal tut, wozu es dementsprechend auch viele Ressourcen und Bibliotheken gibt. Aber ohne die Hintergründe komplett verstanden zu haben, dürfte es extrem schwer sein das zu implementieren und anschließend zu debuggen.