Прежде чем говорить об интуиции, стоящей за этим, давайте сначала ответим на этот вопрос с символической точки зрения. Основная матрица часто определяется как
E=R*[T]_x
, где R
- относительное вращение между двумя камерами, T
- перевод, а [.]_x
обозначает матрицу перекрестного произведения с T
. Теперь ясно, что
E*T=R*[T]_x*T=0 //because the cross product of T with itself is null
Теперь мы знаем, что существенная матрица имеет ранг 2
. Согласно теореме ранга это означает, что ядро E имеет размерность 1
. Таким образом, нулевое пространство E
- это просто пространство, определенное alpha*T
, где alpha
- действительное число.
Теперь давайте обсудим интуицию. Я предлагаю вам нарисовать небольшую фигуру на бумаге, чтобы ее было проще визуализировать Отметим два фотоаппарата C_1
и C_2
. Также отметим z
3d-точку, выраженную в системе координат C_2
, и пусть y
будет другой 3d-точкой, которая выражена относительно системы координат C_1
. Во-первых, давайте спросим себя, что делает основная матрица, , т.е. , что означает уравнение y^t*E*z
. Теперь рассмотрим плоскость L
, определенную тремя точками C_1,C_2,z
. Чтобы упростить ситуацию, давайте сначала рассмотрим случай, когда R==Identiy
. В этой ситуации
y^t E * z= y^t * [T]_x * z
и здесь [T]_x * z
дает вам нормальный вектор плоскости L
, поскольку [T]_x
является не чем иным, как C_2-C_1
(или C_1-C_2
, на самом деле не имеет значения для наших целей). Теперь, когда вы знаете, что нормальный вектор L
равен [T]_x * z
, вы можете видеть, что y^t * [T]_x *z
делает проверку степени, в которой y
лежит внутри L
(как вы проверяете, лежит ли точка в плоскости? Вы видите, равен ли ноль скалярному произведению с нормалью плоскости, и именно это делает этот код.).
А что если R
не является Личностью? Обратите внимание, что нормаль L
, полученная с помощью [T]_x * z
, выражается относительно системы координат C_2
. Умножение на R
преобразует этот вектор и выражает его в ссылке на C_1
. Теперь, когда y
и нормаль находятся в одной системе координат, вы можете проверить, "сколько" y
находится внутри L
.
Наконец, давайте вернемся к разработке и интуиции о том, почему T
является пустым пространством E
, мы можем просто увидеть, что нормальное значение L
равно 0
. Итак, это вырожденная плоскость, и любая точка w
в трехмерном евклидовом пространстве лежит на ней, потому что w\t*0=0
.