楕円の方程式を使用すると、また
⎡v1 v4 v5⎤ ⎡x⎤ ⎡v7⎤
[x y z] * ⎢v4 v2 v6⎥ * ⎢y⎥ + 2 * [x y z] * ⎢v8⎥ + v10 = 0
⎣v5 v6 v3⎦ ⎣z⎦ ⎣v9⎦
第二の加数がゼロであるかのように同次座標なしで書き込むことができる
⎡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⎦
として同次座標で与えられ、これは楕円の中心説明しますすべての点[x、y、z]に対してその鏡像[-x、-y、-z]が同じ結果につながるからです。したがって、第2の(すなわち線形の)項は、楕円体を中心からずらすものである。あなたは、原点を中心とする楕円で始まり、その後に中央をシフトする場合は、[CX、CY、CZ]フォーム
⎡v1 v4 v5⎤ ⎡x-cx⎤
[x-cx y-cy z-cz] * ⎢v4 v2 v6⎥ * ⎢y-cy⎥ = const.
⎣v5 v6 v3⎦ ⎣z-cz⎦
またはベクトル表記での何か(書き込みと
終わるだろうA
問題の3×3行列)
(x-c) * A * (x-c) = x*A*x - 2*x*A*c + c*A*c = const.
のために、私はMatlabの中であなたがベクトルの一部を移調するどこかにいくつかの'
を必要とするだろうが、あなたのアイデアを得る知っています。私がさらにアップ書いたものに上記を比較すると、あなたが使用して、あなたがc
のために解決することができ、ここで方程式の線形システムを持っていることを意味する、すなわち、基本的にあなたは線形項が等しくなるようにしたいという
-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⎦
を見ることができます引用したコードこれは、均質な記述から左上の3×3の行列をとり、線形項に対応するv
の3つの要素を取ります(これはA(4, 1:3)
と書かれていますが、Matlabの専門家ではないと仮定します)。\
線形連立方程式を解く。演算子の優先順位が-
が行列A
またはソリューションに適用されるかどうかはわかりませんが、どちらの場合も結果は同じですので、それほど重要ではありません。
出典
2017-12-06 23:19:15
MvG
これは、プログラミング問題の数学的な問題だと思います。 – Squeezie
はい、あなたは正しいです。 – Mark
私はあなたが何を意味するかは完全には分かっていませんが、代数楕円体の形はおそらく方程式の形(デカルトまたは球の座標など)を指していますが、楕円体の中心はおそらく楕円体の方程式のRHSの中心を指します。このリンクは、次のようなメリットがあります。http://mathworld.wolfram.com/Ellipsoid.html – ProgrammingEnthusiast