ポイントのセットがあり、次の形式で最小二乗解を導き出すことができます。
z = Ax + By + C
計算した係数は正しいのですが、この形式の方程式で平面に垂直なベクトルを取得するにはどうすればよいでしょうか? この方程式の A、B、および C 係数を使用するだけでは、テスト データセットを使用した法線ベクトルとして正しくないように見えます。
ポイントのセットがあり、次の形式で最小二乗解を導き出すことができます。
z = Ax + By + C
計算した係数は正しいのですが、この形式の方程式で平面に垂直なベクトルを取得するにはどうすればよいでしょうか? この方程式の A、B、および C 係数を使用するだけでは、テスト データセットを使用した法線ベクトルとして正しくないように見えます。
dmckeeの回答に続きます:
axb = (a2b3 − a3b2)、(a3b1 − a1b3)、(a1b2 − a2b1)
あなたの場合 a1=1, a2=0 a3=A b1=0 b2=1 b3=B
そう = (-A)、(-B)、(1)
2 つのベクトルを形成する
v1 = <1 0 A>
v2 = <0 1 B>
どちらも平面にあり、外積を取ります。
N = v1 x v2 = <-A, -B, +1> (or v2 x v1 = <A, B, -1> )
これは、2 つのベクトルの外積が常に両方の入力に対して垂直であるためです。したがって、平面で 2 つの (同一線上にない) ベクトルを使用すると、法線が得られます。
NB:もちろん、正規化された法線が必要な場合もありますが、それは演習として残します。
dmckee の回答に少し余分な色を付けます。直接コメントしたいのですが、まだ十分なSO担当者がいません。;-(
C=0 の場合、平面 z = Ax + By + C には点 (1, 0, A) と (0, 1, B) のみが含まれます。つまり、平面 z = Ax + By について話していることになります。もちろん、これは問題ありません。この 2 番目の平面は元の平面と平行であり、原点を含む固有の垂直移動です。計算したい直交ベクトルは、このような変換では不変なので、害はありません。
確かに、dmckee の言い回しは、彼が指定した「ベクトル」は点ではなく平面にあるということです。しかし、暗示されている翻訳を明示的に認めることが役立つと私は思います。
少年、私もこの件についてはしばらく時間が経ちました。
衒学的にあなたのもの... ;-)