人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

球面上にN個の点があります(N>2)。近似曲線と同じようなイメージで、そのN個の点にもっともフィットする小円を求め、最終的にその小円の軸が球面と交わる座標を求める方法を教えてください。

●質問者: spin6536
●カテゴリ:学習・教育 科学・統計資料
✍キーワード:イメージ フィット
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ita
●60ポイント ベストアンサー

球の中心と、その小円の中心を通る直線に全ての点からの垂線を下ろすと、全て1点にいきます。

実際は誤差のためばらけますが、このばらけを最小にする直線を求める、という方針で考えます。

垂線の足と中心との距離をLiとすると、Liの二乗平均?(Liの平均)の二乗、を最小にすればよいです。

まず、全ての点をX,Y,Z座標で表し、X座標の平均をSx,X座標の二乗の平均をSxx、X座標*Y座標の平均をSxyなどとおきます。

さらに分散・共分散行列の要素を以下のように計算します

Vxx = Sxx - Sx*Sx

Vyy = Syy - Sy*Sy

Vzz = Szz - Sz*Sz

Vxy = Sxy - Sx*Sy

Vyz = Syz - Sy*Sz

Vzx = Szx - Sz*Sx

ある方向(Nx,Ny,Nz)を向いた直線に垂線を下ろした場合のばらつきは、

Vxx*Nx*Nx + Vyy*Ny*Ny+ Vzz*Nz*Nz + 2*Vxy*Nx*Ny + 2*Vyz*Ny*Nz + 2*Vzx*Nz*Nx

となります。これを最小にする方向は、3x3行列

Vxx Vxy Vzx
Vxy Vyy Vyz
Vzx Vyz Vzz

の3つの固有値のうち絶対値が一番小さいものに対応した固有ベクトルになります。

3x3実対称行列の固有ベクトルを計算するコードを探したんですが手軽なものは見つかりませんでした。

WEBアプリとして実装するのか、論文で使うのか、など用途によって必要なコードが違ってきますが。


◎質問者からの返答

「3x3行列」以降の部分を実際にどのようにすすめるのかが、わたしの能力不足のため理解できません。

1. まず、3x3行列のなかの9つの値の中で絶対値が一番小さいものを選ぶ、ということでしょうか。

2. そしてその一番小さい値を含む行が、中心Oから放射状に向かう固有ベクトルを示す座標になるのでしょうか。

3. その固有ベクトルをどのように用いて解を得たらよいのでしょうか。

せっかい回答いただいたのに理解不足で本当に申し訳ありません。



●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ