Manim渲染1到100整数表格输出PNG被裁剪该如何解决?
Manim 10x10整数表格裁剪问题解决方案
问题本质
裁剪问题的核心原因是Manim默认场景视口尺寸有限,10行10列的默认IntegerTable尺寸超出了视口范围。-r参数仅修改输出图片的像素分辨率,不会调整元素和视口的相对比例,因此无法解决裁剪问题。
可行解决方案
方案1:调整表格参数+缩小表格(操作最简单)
通过减小单元格内边距压缩表格尺寸,再配合小幅整体缩放,在保证文字可读性的前提下适配视口:
from manim import * import numpy as np class DrawTable(Scene): def construct(self): N = 100 ROWS, COLS = 10, 10 vals = np.arange(1,N+1).reshape(ROWS,COLS) table = IntegerTable( vals, include_outer_lines=True, h_buff=0.3, # 减小单元格水平内边距 v_buff=0.25 # 减小单元格垂直内边距 ).scale(0.7) # 整体缩放适配视口,可根据实际显示效果调整数值 self.add(table)
方案2:调整相机视口大小(文字清晰度更高)
不想缩放表格导致文字变小的话,可以直接调大相机的帧宽度,扩大视口范围容纳完整表格:
from manim import * import numpy as np class DrawTable(Scene): def construct(self): # 调大相机帧宽度,默认值为8,数值越大可视范围越宽 self.camera.frame_width = 16 N = 100 ROWS, COLS = 10, 10 vals = np.arange(1,N+1).reshape(ROWS,COLS) table = IntegerTable( vals, include_outer_lines=True ) self.add(table)
内容的提问来源于stack exchange,提问作者Jorge Luis Ibanez
相关产品推荐
相关产品推荐

