[ManimGL 源碼解讀] Tex 如何渲染公式
這個(gè)專(zhuān)欄不是 manim 入門(mén),需要有一些 Python 和 ManimGL 基礎(chǔ)。manim 入門(mén)建議看:https://docs.manim.org.cn。
Tex
?能根據(jù)傳入的?tex_strings
?渲染公式,根據(jù)?tex_to_color_map
?設(shè)置顏色,根據(jù)?tex_strings
、isolate
?和?tex_to_color_map
?拆出?submobjects
(比如用于?TransformMatchingTex?
?不香嗎)。TransformMatchingShapes
digest_config
?處理參數(shù),接著調(diào)用?break_up_tex_strings
?將?tex_strings
?進(jìn)一步按照?self.isolate
?和?self.tex_to_color_map
?拆分。
self.tex_strings
?被拼在一起(中間用?self.arg_separator
?連接,通常是?""
),存在?full_string
?里。調(diào)用?SingleStringTex
?生成 SVG。調(diào)用?self.break_up_by_substrings
。這個(gè)函數(shù)大概是,根據(jù)?self.tex_strings
?再分別調(diào)用?SingleStringTex
?渲染 SVG 得到?sub_tex_mob
,把它設(shè)置為自己的?submobjects
。
調(diào)用?self.set_color_by_tex_to_color_map
?上色。
set_color_by_tex
?能對(duì)單個(gè)?tex
?字符串上色。
get_parts_by_tex
?查找?tex
?對(duì)應(yīng)的部分,包裝成?VGroup
?返回。
若?self.organize_left_to_right
,調(diào)用?self.organize_submobjects_left_to_right
?把?self.submobjects
?按橫坐標(biāo)排序(只是下標(biāo)改變,位置不變)。
然后,沒(méi)了。