CalcPolSphere.m



topics - functions - index - search


CalcPolSphere.m


This function will calculate the best sphere-fit to given cartesian values
Method:
Zunaechst wird als Startpunkt das Mittelwerttripel der drei Raumrichtungen x,y,z
aller eingelesenen Werte Tripel berechnet. Nun werden mittels calc_box 27 Punkte
eines Wuerfels berechnet, die diesen Punkt als Zentrum (14 ter Wert) haben. Gesucht
wird nun der Punkt von dem aus die Summe aller Abstaende zu allen Werte Tripeln
moeglichst klein ist.
Innerhalb der naechsten Schleife wird nun dieser Punkt als neues (oder evtl. auch
altes) Zentrum eines neuen Wuerfels definiert dessen Kantenlaenge nur noch 2/3 der
vorhergehenden betragt und erneut wie oben der Punkt minimalen Summenabstandes errechnet.

Diese Suchschleife wird abgebrochen, falls die Kantenlaenge des Wuerfels kleiner
als das doppelte einer gewuenschten Toleranz wird. Das Verhaeltnis zwischen der
hier gewaehlten Toleranz und der Rechengenauigkeit ist natuerlich von der Einheit
der eigegebenen Wertetripel abhaengig.
Beispiel: Werden die Werte in Metern angegeben so entspricht tol=0.001 einer
Genauigkeit von einem Millimeter.
Diese Rechenmethode ist im Gegensatz zu anderen Suchalgorithmen (wie Gradientenmethode
u.s.w.) recht langwierig hat jedoch zwei Vorteile:
1) Die Gefahr anderer Algorithmen in Nebenextrema "haengen zu bleiben" entfaellt.
2) Es kann auf recht einfache Art und Weise definiert werden, welche Punkte im Raum
wie stark in die Kugelanpassung eingehen sollen. Diese Art der "Gewichtung" einzelner
Punkte kann sinnvoll sein, falls die Kugelanpassung an bestimmten Kopfregionen
beispielsweise dort, wo Aktivitaeten erwartet werden, moeglichst gut sein soll,
oder falls bestimmte Punkte ungenau gemessen wurden.
So besteht hier die Moeglichkeit die Standartabweichungen der einzelnen Messpunkte
als Gewichtswerte zu waehlen und/oder Gewichte selbst zu bestimmen. Ein Wert von 1
entspricht einem Gewicht von 100 %. Mit einem Gewicht von Null geht dieser Messpunkt
nicht in die Rechnung ein.