ucs

Автор Тема: ucs  (Прочитано 5450 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн VLADIMIRnextАвтор темы

  • ADN OPEN
  • Сообщений: 33
  • Карма: 0
ucs
« : 09-06-2022, 18:15:25 »
Здравствуйте, я получил матрицу, описывающую UCS
Код - C++ [Выбрать]
  1.         resbuf result;
  2.         acedGetVar(_T("VIEWCTR"), &result);
  3.         AcGePoint3d center(result.resval.rpoint[X], result.resval.rpoint[Y], result.resval.rpoint[Z]);
  4.  
  5.         acedGetVar(_T("VIEWSIZE"), &result);
  6.         double height = result.resval.rreal;
  7.  
  8.         acedGetVar(_T("SCREENSIZE"), &result);
  9.         double width = height * result.resval.rpoint[X] / result.resval.rpoint[Y];
  10.  
  11.         matrix.entry[1][1] = -1;
  12.         matrix.entry[0][3] = center.x - (width / 2);
  13.         matrix.entry[1][3] = center.y + (height / 2);
  14.  
Игрек повернут вниз, начальная точка находится сверху слева на текущем окне.

Я получаю точки, допустим прямой (getStretchPoints) в WCS.
Не совсем понимаю, мне нужно трансформировать их по этой матрице чтобы получить их координаты в моей ucs? то есть point.transformBy(matrix).
Просто я когда так делаю, икс координата улетает куда-то, а игрек нормально трансформируется.

Если по другому делать, как мне получить нужную матрицу преобразования чтобы трансформировать координаты из WCS, в мою UCS?

Отмечено как Решение VLADIMIRnext 10-06-2022, 11:33:42

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: ucs
« Ответ #1 : 09-06-2022, 18:22:06 »
Если по другому делать, как мне получить нужную матрицу преобразования чтобы трансформировать координаты из WCS, в мою UCS?
acedGetCurrentUCS возвращает матрицу преобразования UCS->WCS. Тебе нужна обратная матрица.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн VLADIMIRnextАвтор темы

  • ADN OPEN
  • Сообщений: 33
  • Карма: 0
Re: ucs
« Ответ #2 : 10-06-2022, 11:33:58 »
Да, спасибо разобрался