3D-преобразования на пути Quartz2D - приложение для рисования - PullRequest
4 голосов
/ 05 февраля 2011

Я нахожусь на стадии планирования написания приложения для рисования Какао (для Mac, а не iOS), и я пытаюсь определить, технически возможна ли одна из моих функций через любую из структур рисования. Любая помощь или соответствующая информация будет принята с благодарностью.

Идея состоит в том, чтобы применить трехмерное преобразование к объекту, нарисованному с помощью Quartz2D. Я рассмотрел возможность захвата соответствующей части холста (где рисуются объекты) в виде изображения и отправки его в Core Animation, но это не лучший вариант. Поскольку это приложение для рисования, речь идет не столько о трехмерной анимации, сколько о преобразованной форме. Это решение также не совсем идеально, поскольку я предполагаю, что если бы 2D-объект представлял собой векторный путь, а не растровое изображение, мне пришлось бы его растеризовать, чтобы применить такое преобразование. Идеальная реализация позволила бы пользователю динамически вращать плоский объект в 3-х измерениях, пока он не найдет подходящую ориентацию, заблокирует это преобразование и все еще сможет вручную корректировать точки вектора пути.

Это возможно? Нужно ли работать напрямую с OpenGL? Любая помощь приветствуется.

Спасибо!

1 Ответ

1 голос
/ 06 февраля 2011

Мне кажется, что все, что вы будете делать с 3D-преобразованием, вы должны иметь возможность делать с несколькими аффинными преобразованиями.См. UIBezierPath's -applyTransform метод.

...