Формулы рисования в Quartz 2d

В своем приложении для iPhone я хочу нарисовать несколько формул. Как я могу справиться с этим с помощью quartz 2d? Есть ли способ строить формулы, например, в латексе? Или есть какие-то существующие фреймворки? Спасибо.


person burki    schedule 25.05.2010    source источник


Ответы (2)


Как разработчик приложения для iPhone, которое делает именно это, поверьте мне, когда я говорю, что набор уравнений - нетривиальная задача. начинание. В моем случае я использовал слои Core Animation для построения подэлементов анализируемого уравнения. Уравнения построены иерархически, и операции, которые их составляют, разложены как таковые. Каждая операция содержится в слое своей родительской операции и размещается в соответствии с правилами этой конкретной операции.

Для визуализации визуальных элементов операций внутри уравнения я использовал Quartz для рисования линий, символов и т. Д., Но большая часть рисунка была просто текстом, нарисованным в CALayer с использованием расширений рисования текста NSString.

Я переопределил стандартную архитектуру рендеринга CALayer для генерации PDF-файлов из этих уравнений, потому что CALayers не визуализируются как векторные элементы по умолчанию. Пример того, как этот рендеринг работает в моем приложении, можно найти в Core Plot с открытым исходным кодом. проект, который делает то же самое на своем базовом уровне.

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

Для ввода и оценки простых текстовых формул вам может пригодиться GCMathParser Грэма Кокса.

person Brad Larson    schedule 25.05.2010
comment
+1. Добро пожаловать в тег [latex]: надеюсь увидеть вас здесь больше. - person Charles Stewart; 27.05.2010

Я слышал, что для Cocoa Touch не реализован настоящий Tex-движок, но есть облегченный механизм компоновки формул Javascript: jsMath.

person Charles Stewart    schedule 25.05.2010