Master's Thesis

Blender Add-on for Typesetting of 3D Text Using LaTeX Code

Final Thesis 5.48 MB

Author of thesis: Ing. Katarína Strenková

Acad. year: 2025/2026

Supervisor: Ing. Tomáš Chlubna, Ph.D.

Reviewer: Ing. Tomáš Milet, Ph.D.

Abstract:

This master's thesis presents a Blender add-on that parses LaTeX notation and generates editable 3D objects, providing users with full control over individual text elements. Input parsing is performed using a lexical analyzer and two syntax analyzers that separately handle text mode and math mode. The add-on supports text formatting, complex mathematical expressions, matrices, lists, and tables, with configurable output parameters. Performance testing and visual comparison validate that the implementation produces accurate results and maintains good performance. The add-on is publicly available on GitHub and Blender Extensions, applicable as a practical tool for creating technical 3D text in educational, scientific, and professional contexts.

Keywords:

Blender, LaTeX, Python, add-on, syntax analysis, lexical analysis, 3D text generation

Date of defence

25.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Studentka nejprve prezentovala výsledky, kterých dosáhla v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Studentka následně odpověděla na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studentky na položené otázky rozhodla práci hodnotit stupněm A.

Topics for thesis defence

  1. Jakým způsobem byste implementovala živý mód úprav latexového kódu?
  2. Jakým způsobem byste implementovala možnost editace vytvořených objektů podobně, jak to je s texty v Blenderu?
  3. Byla by možná editace zdrojových kódů se zachováním transformací a materiálů jednotlivých znaků rovnic?
  4. Kdy by bylo vhodné použít váš add-on?
  5. Kolik má váš add-on stažení? Máte nějakou zpětnou vazbu?

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Computer Graphics and Interaction (NGRI)

Composition of Committee

prof. Ing. Adam Herout, Ph.D. (předseda)
prof. Dr. Ing. Pavel Zemčík, dr. h. c. (místopředseda)
doc. RNDr. Milan Češka, Ph.D. (člen)
Ing. David Bařina, Ph.D. (člen)
doc. Ing. Vítězslav Beran, Ph.D. (člen)
Ing. Tomáš Milet, Ph.D. (člen)

Supervisor’s report
Ing. Tomáš Chlubna, Ph.D.

Spolupráce s autorkou byla bezproblémová a velmi dobré pracovní tempo se odrazilo na vysoké kvalitě výsledku.


Jelikož byla konzultační aktivita velmi dobrá, implementované postupy netriviální a zahrnující více odvětví informačních technologií, výsledky jsou kvalitní a rozšíření bylo již s výrazným předstihem před odevzdáním publikováno pro veřejnost, doporučuji komisi zvážit návrh na udělení ceny děkana za mimořádně kvalitní práci.

Evaluation criteria Verbal classification
Information about assignment

Výsledné rozšíření přidává do 3D editoru Blender podporu zpracování Latex kódu a využívá metody počítačové grafiky a zpracování jazyka.

Práce se zabývá vývojem rozšíření 3D editoru Blender o převod vstupního kódu v jazyce LaTeX do vysázeného 3D textu s aplikovaným příslušným formátováním. Jedná se o významné rozšíření projektu z bakalářské práce zahrnující metody nejen z oblasti práce s 3D grafikou, ale také z teoretické informatiky a formálních jazyků. Dosažené výsledky splňují očekávání a jsou na velmi dobré úrovni.

Activity during solution, consultations, communication

Práce byla dokončena a zkonzultována včas před odevzdáním s dobrým předstihem.

Publication activity, awards

Rozšíření je publikováno na oficiálním webu rozšíření programu Blender a je volně dostupné pro použití komunitou.

Jedná se o užitečné rozšíření, které implementuje možnosti zpracování Latex vstupu ve 3D, které nejsou dostupné v existujících alternativních řešeních.

Work with literature

Autorka samostatně vyhledala a použila potřebné materiály.

Activity during solution, consultations, communication

Konzultace probíhaly pravidelně dle domluveného plánu.

Autorka podrobně popisovala svůj postup a byla aktivní. Pracovní tempo bylo rovnoměrné a celková organizace času během práce byla optimální. 

Points proposed by supervisor: 100

Grade proposed by supervisor: A

Reviewer’s report
Ing. Tomáš Milet, Ph.D.

Práce je zvládnuta velmi dobře. Technická dokumentace i realizace odpovídá kvalitou nejvyššímu ohodnocení. Výsledná práce je užitečná. Navrhuji hodnocení A.

Evaluation criteria Verbal classification Points Max. points
The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Všechny body zadání jsou splněny.

Extent of the technical report

Evaluation level: is within the usual extent

Technická zpráva je v obvyklém rozsahu.

Presentation level of the technical report

Technická dokumentace je dobře strukturovaná a pochopitelná. Obsahuje mnoho názorných vizualizací. 

Příklady chyb:

  • konkatenace automatů na obrázku 2.10 je nejasně vizualizována
  • sekce implementace je místy příliš specifická
90 100
Formal preparation of a technical report

Práce neobsahuje mnoho chyb v jazykové a formální doméně. Formální úprava zprávy je celkově dobře zvládnutá.

Příklady chyb:

  • reference na literaturu využita jako větný člen
  • některé vložené zdrojové kódy nejsou číslovány
90 100
Work with literature

Práce využívá 20 zdrojů literatury. Zdroje jsou vhodně zvoleny, vhodně citovány a používány. Kvalita zdrojů je dobrá.

90 100
Realisation output

Výsledný zásuvný modul je velmi povedený a užitečný. Jeho realizace je zvládnuta precizně a možné jej rovnou nasadit. Zdrojové kódy jsou strukturovány.

90 100
Usability of results

Realizace je užitečná a najde si své uživatele, mezi něž se budu řadit i já.

The difficulty of the assignment

Evaluation level: moderately difficult assignment

Zadání je průměrně obtížné.

Topics for thesis defence:
  1. Jakým způsobem byste implementovala živý mód úprav latexového kódu?
  2. Byla by možná editace zdrojových kódů se zachováním transformací a materiálů jednotlivých znaků rovnic?
  3. Jakým způsobem byste implementovala možnost editace vytvořených objektů podobně, jak to je s texty v Blenderu?
Points proposed by reviewer: 95

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová