Processing math: 100%

воскресенье, 4 июля 2021 г.

Обратное проективное преобразование

Если заданы коэффициенты проективного преобразования, переводящие точки плоскости (x,y) в точки другой плоскости (x',y'), то можно ли найти обратное ему преобразование, и если да, то каково оно?

Проективное преобразование плоскости в плоскость описывается дробно-линейным преобразованием: x=c11x+c12y+c13c31x+c32y+1 y=c21x+c22y+c23c31x+c32y+1 У дробей одинаковые знаменатели и коэффициенты нормированы таким образом, что свободный член в знаменателе равен единице.

Обратное ему преобразование будем искать также как проективное, но в общей, не нормированной форме: x=c11x+c12y+c13c31x+c32y+c33 y=c21x+c22y+c23c31x+c32y+c33 Чтобы получить выражения для x и y, подставим значения x и y из первых уравнений во второе. Учтем, что в выражениях x и y одинаковые знаменатели. xu=c11(c11x+c12y+c13)+ +c12(c21x+c22y+c23)+c13(c31x+c32y+1) xd=c31(c11x+c12y+c13)+ +c32(c21x+c22y+c23)+c33(c31x+c32y+1) yu=c21(c11x+c12y+c13)+ +c22(c21x+c22y+c23)+c23(c31x+c32y+1) yd=xd x=xuxd y=yuyd Чтобы эти уравнения были верны, они должны выполняться при любых значениях x и y, числители выражений для x и y должны быть равны x и y, а их знаменатели равны единице.

Раскрывая произведения числителя x, получим: (c11c11+c21c12+c31c13)x=x (c12c11+c22c12+c32c13)y=0 c13c11+c23c12+c13=0 Чтобы эти условия выполнялись для любых x и y, должно выполняться: (c11c21c31c12c22c32c13c23c33)(c11c12c13)=(100) Раскрывая произведения числителя y, получим: (c11c21+c21c22+c31c23)x=0 (c12c21+c22c22+c32c23)y=y c13c21+c23c22+c23=0 Чтобы эти условия выполнялись для любых x и y, должно выполняться: (c11c21c31c12c22c32c13c23c33)(c21c22c23)=(010) Раскроем произведения знаменателя: (c11c31+c21c32+c31c33)x=0 (c12c31+c22c32+c32c33)y=0 c13c31+c23c32+c33=1 Чтобы эти условия выполнялись для любых x и y, должно выполняться: (c11c21c31c12c22c32c13c23c33)(c31c32c33)=(001) Получаемые три матричные уравнения можем объединить в одно, объединив столбцы в матрицы: (c11c21c31c12c22c32c13c23c33)(c11c21c31c12c22c32c13c23c33)=(100010001) Таким образом, матрица искомых коэффициентов в ненормированной форме является обратной для матрицы исходных коэффициентов. И, если мы найдем эту обратную матрицу, то получим искомые ненормированные коэффициенты.

Используя систему компьютерной алгебры Maxima, получим выражения для искомых коэффициентов через исходные:
C:matrix([c11,c21,c31],[c12,c22,c32],[c13,c23,1]);
Ci:invert(C);
Ci/(Ci[3][3]);
Искомые значения равны: c11=c22c23c32c11c23c12c21 c21=c23c31c31c11c23c12c21 c31=c21c32c22c31c11c23c12c21 c12=c13c32c12c11c23c12c21 c22=c11c13c31c11c23c12c21 c32=c12c31c11c32c11c23c12c21 c13=c12c23c13c22c11c23c12c21 c23=c13c21c11c23c11c23c12c21 c33=1

Комментариев нет:

Отправить комментарий