Die Gleichung des Ellipsoids in homogenen Koordinaten als
⎡v1 v4 v5 v7 ⎤ ⎡x⎤
⎢v4 v2 v6 v8 ⎥ ⎢y⎥
[x y z 1] * ⎢v5 v6 v3 v9 ⎥ * ⎢z⎥ = 0
⎣v7 v8 v9 v10⎦ ⎣1⎦
die Sie auch ohne homogenen Koordinaten als
schreiben
⎡v1 v4 v5⎤ ⎡x⎤ ⎡v7⎤
[x y z] * ⎢v4 v2 v6⎥ * ⎢y⎥ + 2 * [x y z] * ⎢v8⎥ + v10 = 0
⎣v5 v6 v3⎦ ⎣z⎦ ⎣v9⎦
Wenn der zweite Summand gleich Null ist, dies beschreibt ein Ellipsoid zentriert gegeben im Ursprung, da für jeden Punkt [x, y, z] sein Spiegelbild [-x, -y, -z] zum selben Ergebnis führt. Der zweite (d. H. Lineare) Ausdruck ist also, was das Ellipsoid aus dem Zentrum heraus verschiebt.
Wenn Sie mit einem Ellipsoid am Ursprung zentrierte beginnen und dann verschieben, um die Mitte zu [cx, cy, cz] würden Sie mit etwas von der Form am Ende
⎡v1 v4 v5⎤ ⎡x-cx⎤
[x-cx y-cy z-cz] * ⎢v4 v2 v6⎥ * ⎢y-cy⎥ = const.
⎣v5 v6 v3⎦ ⎣z-cz⎦
oder in Vektorschreibweise (Schreiben A
für die 3 × 3-Matrix in Frage)
(x-c) * A * (x-c) = x*A*x - 2*x*A*c + c*A*c = const.
ich in Matlab wissen Sie irgendwo dort einige '
bräuchten einige der Vektoren transponieren, aber Sie bekommen die Idee. Vergleicht man die oben zu dem, was ich weiter oben schrieb, können Sie sehen, dass im Wesentlichen sollen die linearen Terme gleich sein, dh
-2*x*A*c = 2*x*v(7:9)
-A*c = v(7:9)
⎡v1 v4 v5⎤ ⎡cx⎤ ⎡v7⎤
- ⎢v4 v2 v6⎥ * ⎢cy⎥ = ⎢v8⎥
⎣v5 v6 v3⎦ ⎣cz⎦ ⎣v9⎦
das heißt, Sie haben ein lineares Gleichungssystem hier, die Sie für c
lösen können, mit der Code, den du zitiert hast. Es nimmt die obere linke 3 × 3 Matrix von der homogenen Beschreibung, und es nimmt die drei Elemente von v
entsprechend dem linearen Ausdruck (den ich annehmen könnte geschrieben worden sein als A(4, 1:3)
aber ich bin kein Matlab-Experte), dann verwendet es \
zu löse das lineare Gleichungssystem. Nicht sicher, ob die Operator-Priorität so ist, dass die auf die Matrix A
oder auf die Lösung angewendet wird, aber da das Ergebnis in beiden Fällen gleich ist, spielt es keine Rolle.
Ich denke, das ist mehr ein mathematisches Problem als ein Programmierproblem. – Squeezie
Ja, Sie haben Recht. – Mark
Ich bin nicht ganz sicher, was Sie meinen, aber algebraische Ellipsoidform bezieht sich wahrscheinlich auf die Form der Gleichung (kartesische oder sphärische Koordinaten, etc.), während Ellipsoidzentrum wahrscheinlich auf das Zentrum, auf der RHS der Gleichung für ein Ellipsoid bezieht. Dieser Link kann helfen: http://mathworld.wolfram.com/Ellipsoid.html – ProgrammingEnthusiast