私は古いバージョンのMathCADでそれを解決しました:

編集:MathCADのスクリーンショットの間違った言い回し:「既知:gとbは互いに垂直です」
MathCADで、クロス積を実行する最後のステップを忘れました。これは、以前の回答からコピーして貼り付けます。
これで、平行移動されたg点とb点のXYZが解決されました。元の質問では、平面の法線が必要でした。
g x bを横切ると、両方に垂直なベクトルが得られます。
| u1 u2 u3 |
g x b = | g1 g2 g3 |
| b1 b2 b3 |
= (g2b3 - b2g3)u1 + (b1g3 - b3g1)u2 + (g1b2 - b1g2)u3
すべての値がわかっているので、それらを接続します(g3とb3が置き換えられたバージョンは長すぎて醜いので、書きません。
しかし、実際には、条件に最も合うようにgzとbzを調整して、数値的に解く必要があると思います。
g・b = 0
と
| g | = | b |
ピクセルは代数的に完全ではないので。
例
コマンドモジュールの正方形の水酸化リチウムキャニスターの1つをLEMで動作させるために装備しているアポロ13号の宇宙飛行士の写真を使用して、私は角を見つけました。

それらをXY平面の基礎として使用する:

Photoshopを使用して、ピクセルの位置を記録しました。正のXを右に、正のYを下に(Zの右手の法則を画像に「入れる」ため)。
g =(79.5、-48.5、g z)
b =(-110.8、-62.8、b z)
2つの開始式をExcelにパンチし、分析ツールパックを使用してgzとbzを調整することでエラーを「最小化」すると、2つのZ値が得られました。
g =(79.5、-48.5、102.5)
b =(-110.8、-62.8、56.2)
次に、他の興味深い値を計算できます。
ピクセル単位のgとbの長さ:
| g | = 138.5
| b | = 139.2
法線ベクトル:
g x b =(3710、-15827、-10366)
単位法線(長さ1):
u N =(0.1925、-0.8209、-0.5377)
gおよびb(138.9)と同じ長さ(ピクセル単位)に垂直にスケーリング:
通常=(26.7、-114.0、-74.7)
これで、 gおよびbと同じ長さの法線が得られたので、それらを同じ画像にプロットしました。

私はあなたが新しい問題を抱えていると思います:カメラのレンズによってもたらされる歪み。3つのドットは、2次元の写真面に完全には投影されていません。球形の歪みがあり、直線が真っ直ぐでなくなり、同じ長さが等しくなくなり、法線が法線からわずかに外れます。
Microsoft Researchには、カメラの歪みを修正する方法を理解するためのアルゴリズムがあります。
カメラキャリブレーションのための柔軟な新技術
しかし、それは私を超えています:
カメラのキャリブレーションを容易にする柔軟な新技術を提案します。3Dジオメトリやコンピュータビジョンの専門知識がなくても使用するのに適しています。この手法では、カメラがいくつか(少なくとも2つ)の異なる方向で表示される平面パターンを観察するだけで済みます。カメラまたは平面パターンのいずれかを自由に動かすことができます。動きを知る必要はありません。ラジアルレンズ歪みがモデル化されています。提案された手順は、閉形式の解と、それに続く最尤基準に基づく非線形の改良で構成されます。コンピュータシミュレーションと実際のデータの両方が提案された技術をテストするために使用され、非常に良い結果が得られました。2つまたは3つの直交平面などの高価な機器を使用する従来の手法と比較して、提案された手法は使いやすく、柔軟性があります。
サンプル画像があり、歪みを確認できます。

(ソース:microsoft.com)
ノート
- 段ボールの「上部」が表示されているのか、「下部」が表示されているのかわからないため、法線は垂直方向にミラーリングできます(つまり、z = -z)
アップデート
ガイは、導出された代数式に誤りを見つけました。それを修正すると、私は単純な閉じた形をしているとは思わない式になります。とにかく正確に解決することはできないので、これはそれほど悪くはありません。しかし、数値的に。
これがExcelのスクリーンショットで、2つの既知のルールから始めます。
g・b = 0
と
| g | = | b |
2番目の値を差(「エラー」量)として書き込むと、両方を合計し、その値を数値として使用して、Excelのソルバーを最小化できます。

これは、独自の数値反復ソルバーを作成する必要があることを意味します。大学のNumericalMethodsforEngineersの教科書を見つめています。単純な閉じた形を使わずに漸化式を解くアルゴリズムが含まれていることを私は知っています。