Сегодня задача разобраться с преобразованием координат, простое исследование.
Локальная система координат в глобальную систему координат
Принцип заключается в следующем:На рисунке мировая система координат(X,Y,Z), местная система координат(X',Y',Z'), начало локальной системы координатO'.
Баллы для конвертацииP.
OP=x*i+y*j+z*kOO'=a*i+b*j+c*k
Соответствие осей координат
⎩⎪⎨⎪⎧i'=u11*i+u12*j+u13*kj'=u21*i+u22*j+u22*kk'=u31*i+u32*j+u33*k
Одновременная формула
O'P=x'*i'+y'*j'+z'*k'=x'*(u11*i+u12*j+u13*k)+y'*(u21*i+u22*j+u22*k)+z'*(u31*i+u32*j+u33*k)=(u11*x'+u21*y'+u31*z')*i+(u12*x'+u22*y'+u32*z')*j+(u13*x'+u23*y'+u33*z')*k
OP=OO'+O'P,тогда
⎩⎪⎨⎪⎧x=a+u11*x'+u21*y'+u31*z'y=b+u12*x'+u22*y'+u32*z'z=c+u13*x'+u23*y'+u33*z'
конверсионные отношения
[xyz1]=[x'y'z'1]*W
наконец получить матрицу
W=⎣⎢⎢⎢⎡u11u21u31au12u22u32bu13u23u33c0001⎦⎥⎥⎥⎤
Глобальная система координат в локальную систему координат
так как
[xyz1]=[x'y'z'1]*W
Так
[xyz1]*W−1=[x'y'z'1]
наблюдаемый
W=⎣⎢⎢⎢⎡u11u21u31au12u22u32bu13u23u33c0001⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡u11u21u310u12u22u320u13u23u3300001⎦⎥⎥⎥⎤⋅⎣⎢⎢⎢⎡100a010b001c0001⎦⎥⎥⎥⎤=R⋅T
в,Rматрица вращения,Tматрица перевода
Так
W−1=(R⋅T)−1=T−1*R−1
в
T−1=⎣⎢⎢⎢⎡100−a010−b001−c0001⎦⎥⎥⎥⎤
еслиRположительно определенная матрица, т.R⋅R−1=E. Так
R−1=RT=⎣⎢⎢⎢⎡u11u12u130u21u22u230u31u32u3300001⎦⎥⎥⎥⎤
непосредственно вычисляемыйW−1.
но еслиRЭто не положительно определенная квадратная матрица, т. е. оси координат локальной системы координат не перпендикулярны друг другу в правой системе, тогда все равно прямо обратно получитьW−1.