Здравствуйте, я получил матрицу, описывающую UCS
resbuf result;
acedGetVar(_T("VIEWCTR"), &result);
AcGePoint3d center(result.resval.rpoint[X], result.resval.rpoint[Y], result.resval.rpoint[Z]);
acedGetVar(_T("VIEWSIZE"), &result);
double height = result.resval.rreal;
acedGetVar(_T("SCREENSIZE"), &result);
double width = height * result.resval.rpoint[X] / result.resval.rpoint[Y];
matrix.entry[1][1] = -1;
matrix.entry[0][3] = center.x - (width / 2);
matrix.entry[1][3] = center.y + (height / 2);
Игрек повернут вниз, начальная точка находится сверху слева на текущем окне.
Я получаю точки, допустим прямой (getStretchPoints) в WCS.
Не совсем понимаю, мне нужно трансформировать их по этой матрице чтобы получить их координаты в моей ucs? то есть point.transformBy(matrix).
Просто я когда так делаю, икс координата улетает куда-то, а игрек нормально трансформируется.
Если по другому делать, как мне получить нужную матрицу преобразования чтобы трансформировать координаты из WCS, в мою UCS?