C ++ библиотека для координатных матриц преобразования (CTM)? - PullRequest
1 голос
/ 08 апреля 2010

Я ищу библиотеку C ++, которая позволяет легко интегрировать матрицы преобразования координат (CTM) в мое приложение. Вы можете знать CTM из PDF или PostScript.

Для одного проекта мы используем C ++ / Qt4 в качестве фреймворка, который предлагает класс QTransform, который предоставляет такие методы, как .translate(double x, double y) или .rotate(double degrees).

После некоторых преобразований это позволило бы мне получить все 6 значений CTM, которые я мог бы вставить в библиотеку PDF или использовать матрицу преобразований в файлах экспорта. API Qt также позволяет произвольное отображение многоугольников (QPolygon), прямоугольников (QRect) и других примитивных структур данных в преобразованные системы координат.

Так что в основном я ищу что-то похожее на то, что предоставляет Qt, но без необходимости использования Qt.

Я знаю, что мог бы сам умножать матричные умножения, но я не очень заинтересован в этом, поскольку я очень уверен, что кто-то уже решил эту проблему, поэтому, пожалуйста, никаких ссылок на книги или другие руководства о том, как умножить матрицы.

Спасибо!

Ответы [ 2 ]

1 голос
/ 08 апреля 2010

Почему бы просто не использовать Qt?Он делает то, что вы хотите, с открытым исходным кодом (я думаю, LGPL), и вы должны иметь возможность ссылаться только против класса QTransform.

0 голосов
/ 08 апреля 2010

Рассматривали ли вы OpenGL? Он может не только выполнять типы преобразований, которые вы ищете (линейные преобразования до 4x4), но он также может перегрузить эту работу на вашу видеокарту, которая будет выполнять вычисления на оборудовании, специально предназначенном для таких вещей (т.е. это быстро). .

...