
3次元での点群に対する最小二乗法での平面の算出について(点と平面の距離。残差ではない。)
--
点と平面のZ軸方向の距離(残差)の二乗和を最小とする場合には、
平面をax+by+c=zとして、Σ(ax+by+c-z)^2をa,b,cのそれぞれで偏微分して
それを=0とした連立方程式を解くことで解を得ることが出来ました。
また、式の形も、ある点のxとyを平面の式へ代入した際の値と、点のz値の差分を見ており、
簡単に納得のできるものとなりました。
これに対して、点と平面の距離(空間的な最小距離)の二乗和を最小とする場合には、
どのような流れで計算すれば良いのでしょうか?
点と平面の距離は|Ax+By+Cz+D| (A,B,Cは単位ベクトル)として求まりますが、
これをどう使うのかが分かりません。
Σ(Ax+By+Cz+D)^2をA,B,C,Dのそれぞれで偏微分して=0としても、
定数項が無いため、連立方程式の解がすべてゼロとなってしまいます。
強引に、Σ(A'x+B'y+C'z+1)^2として変形させて解いてみましたが、
得られたA',B',C'からA,B,C,Dに戻すと、Dがきちんと出ませんでした。(他についても怪しい。)
こういった状況に迷い込んでしまい、どう考えるのが良いのか分からなくなってしまいました。
指南いただけませんでしょうか?
No.2ベストアンサー
- 回答日時:
平面の式は、単に Ax+By+Cz+D=0 としたのでは、一意に決まりません。
同じ平面が、 2Ax+2By+2Cz+2D=0 とでも 3Ax+3By+3Cz+3D=0 とでも
書けるからです。
そのために、「(A,B,C) は単位ベクトル」としたのではありませんか?
だから、Σ(Ax+By+Cz+D)^2 を最小化するときに、単なる最小値でなく、
A^2+B^2+C^2=1 という制約下での最小値を探せばよいのです。
ラグランジュの未定乗数法が使えます。
あるいは、制約なしで、Σ(Ax+By+Cz+D)^2/√(A^2+B^2+C^2) を最小化
してもよいのだけれど。
この回答への補足
とても納得できました!
ラグランジュの未定乗数法を手計算でやってみたのですが、λの導出が3次方程式になってしまったのと、係数が多くなり過ぎて力尽きました。。。間違えたのでしょうか?
Σ(Ax+By+Cz+D)^2/√(A^2+B^2+C^2) を最小化する場合には、これも非線形であるために、
偏微分=0として解くには難解となりそうだな。。。と躊躇しております。
非線形最小化であるため、ニュートン・ラフソン法であればすんなりと出来たのですが、
この問題に対して妥当な方法と言えるでしょうか?
No.4
- 回答日時:
No.3です。
3次元で考えれば各点から平面に下ろした垂線の足の長さになりますから、Z方向の差分ではないと思いますよ。
この回答への補足
追記ありがとうございます。
Σ(ax+by+c-z)^2として解くと、平面の方程式に点のxとyを代入して算出される本来のz'値ax+by+cと、点のz値との差分を二乗しているため、各点から平面のZ方向の差分であると考えています。
どこに誤りがあるのでしょうか?いただいた説明では分かりませんでした。。。
No.1
- 回答日時:
平面の方程式をax+by+cz+d=0とすると、
点(xi,yi,zi)と平面の距離=|axi+byi+czi+d|/√(a^2+b^2+c^2)
したがって、
二乗和=Σ[i=1~n](axi+byi+czi+d)^2/(a^2+b^2+c^2)
これをa,b,c,dで偏微分した式を連立させてa,b,c,dを求めることに
なりますが、分母にも変数があることから、非線形連立方程式を
解くことになろうと思います。
最小二乗直交距離フィッティング等のキーワードで検索して
みてもよいと思います。
この回答への補足
上の補足にも記載したのですが、非線形連立方程式という形で一発で解けるのでしょうか?
非線形最小化であるため、ニュートン・ラフソン法であればすんなりと出来たのですが、
この問題に対して妥当な方法と言えるでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
平面の計算方法
数学
-
近似式(z=ax+by+c)を取得したい
その他(コンピューター・テクノロジー)
-
3次元の近似直線
数学
-
4
XYZ平面の近似式についてご教示ください
数学
-
5
最小二乗平面
C言語・C++・C#
-
6
円の方程式を最小二乗法で求める
数学
-
7
3次元座標2点からの直線式の求め方
数学
-
8
空間上の測定された点群から最小二乗法により円(中心、直径)を算出する方法
数学
-
9
仮想平面の計算
数学
-
10
平面方程式の傾きについて
数学
-
11
最小二乗法 二次曲線
数学
-
12
3次元空間の点と直線の距離の公式って?
数学
-
13
エクセルで近似式を求めたい
数学
-
14
以下のプログラムは重心を求めるプログラムなそうなのですが、例えば検出した円や四角形の重心を取るとしま
C言語・C++・C#
-
15
三次元の座標の回転をExcelで計算したい。回転行列?
Excel(エクセル)
-
16
空間上の円の方程式について
数学
-
17
EXCELにてローパスフィルタを作成する
その他(教育・科学・学問)
-
18
関数から配列を返すには?
C言語・C++・C#
-
19
fopne で失敗する原因
C言語・C++・C#
-
20
球の最小二乗法について
数学
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
2次関数の応用
-
5
最小分解体と拡大次数について
-
6
pcでフォートナイトをいれよう...
-
7
正の約数の個数が20個である最...
-
8
実数x,yがx^2-y^2=1のとき、x+2...
-
9
3次元での点群に対する最小二...
-
10
中学受験用の小5算数の問題です
-
11
3で割ると2余り、7で割ると4余...
-
12
n!が10の40乗で割り切れるとき...
-
13
フェルマー点について
-
14
積分を利用した面積の最小値
-
15
2進数のバイアス表現について
-
16
数学2です x>0のとき、x + 16/(...
-
17
楕円のxの最大値と最小値
-
18
間違いの理由を教えてください...
-
19
lim[n→∞](1-1/n)^n=1/e について
-
20
この問題が分からないです 命題...
おすすめ情報
公式facebook
公式twitter