掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
方程式を解くためには? (ID:60302)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
文字化けしてしまったので、同じ文章をもう一度書き込みます。 すみません、説明不足過ぎました。 今私は3つのボールを既知点としその既知点を2つの視点から撮影し、その画像からカメラ位置を特定しようとしています。 その計算をプログラムに直したかったのです。計算式を以下に示します。 既知点を4つとし、それぞれの位置をベクトルとして考えp1、p2、p3とする。 カメラ位置をgとし、カメラから既知点までの距離をd1、d2、d3とする。 この時カメラ位置gは以下の式で求まる。 i = 1 〜 3に対して di = || pi ? g || 両辺を自乗し di^2 = ||pi||^2 + ||g||^2 - 2〈pi , g〉 i=2からi=1の場合を減ずる d2^2 - d1^2 = (||p2||^2 + ||g||^2 - 2〈p2 , g〉) - (||p1||^2 + ||g||^2 - 2〈p1,g〉) = (||p2||^2 - ||p1||^2) - 2〈p2 - p1, g〉 従って 〈p2 - p1, g〉= 1/2 ((||p2||^2 - ||p1||^2) - (d2^2 - d1^2) 同様に 〈p3- p2, g〉 と〈p4 - p3, g〉 も求めると 〈p3 - p2, g〉 = 1/2 ((||p3||^2 - ||p2||^2) - (d3^2 - d2^2) 以上2つの式を連立させる (p2x - p1x)gx + (p2y - p1y)gy + (p2z - p1z)gz = 1/2 ((||p3||^2 - ||p2||^2) - (d3^2 - d2^2) (p3x - p2x)gx + (p3y - p2y)gy + (p3z - p2z)gz = 1/2 ((||p4||^2 - ||p3||^2) - (d4^2 - d3^2) 上記の連立方程式を計算可能な所を計算し、変数を代入すると (p1x)gx + (p1y)gy + (p1z)gz = p1 (p2x)gx + (p2y)gy + (p2z)gz = p2 となります。しかしここで問題があり、既知点が4点なら回答が1つになるのですが、既知点が3点の場合では回答が2つになってしまうようなのです。 これを解決し計算できるプログラムを作成したいのです。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.