В своем приложении для iPhone я хочу нарисовать несколько формул. Как я могу справиться с этим с помощью quartz 2d? Есть ли способ строить формулы, например, в латексе? Или есть какие-то существующие фреймворки? Спасибо.
Формулы рисования в Quartz 2d
Ответы (2)
Как разработчик приложения для iPhone, которое делает именно это, поверьте мне, когда я говорю, что набор уравнений - нетривиальная задача. начинание. В моем случае я использовал слои Core Animation для построения подэлементов анализируемого уравнения. Уравнения построены иерархически, и операции, которые их составляют, разложены как таковые. Каждая операция содержится в слое своей родительской операции и размещается в соответствии с правилами этой конкретной операции.
Для визуализации визуальных элементов операций внутри уравнения я использовал Quartz для рисования линий, символов и т. Д., Но большая часть рисунка была просто текстом, нарисованным в CALayer с использованием расширений рисования текста NSString.
Я переопределил стандартную архитектуру рендеринга CALayer для генерации PDF-файлов из этих уравнений, потому что CALayers не визуализируются как векторные элементы по умолчанию. Пример того, как этот рендеринг работает в моем приложении, можно найти в Core Plot с открытым исходным кодом. проект, который делает то же самое на своем базовом уровне.
Я делаю вывод в LaTeX из уравнений, что довольно просто, если вы проанализируете их в иерархическую структуру данных, но синтаксический анализ их из LaTeX в эту структуру оказывается немного сложнее.
Для ввода и оценки простых текстовых формул вам может пригодиться GCMathParser Грэма Кокса.
Я слышал, что для Cocoa Touch не реализован настоящий Tex-движок, но есть облегченный механизм компоновки формул Javascript: jsMath.