在 Cairo 和 OpenGL 之间, Mobject.split() 的行为不同
作者: nikolajmunk创建于 2026年8月11日更新于 2026年8月11日
问题描述 / 预期行为
在 #4914 中提到的 split 的行为在两种类型的 Mobject 中是不同的。以下是 Mobject.split 的实现:
def split(self) -> list[Mobject]:
result: list[Mobject] = [self] if len(self.points) > 0 else []
return result + self.submobjects而以下是 OpenGLMobject.split 的实现:
def split(self) -> Sequence[OpenGLMobject]:
return self.submobjects简而言之,Cairo 版本可能包含具有点的 mobject 本身,否则简单地返回 self.submobjects 的副本。OpenGL 版本从来不包含 mobject 本身,它不会复制 self.submobjects,而是简单地返回列表本身。
内容来源: ManimCommunity/manim