在manim中创建线性序列

问题描述 投票:0回答:1

请问我该如何创建序列,

0,1,2,3,4,5,6,7,8,9,10 最多 100 个,末尾带有三个点 (...) 只是为了表明序列永远持续下去?序列中的所有数字在生成后都应保留在场景的中间

没什么。使用 chatGPT 生成序列,但它一直给我这个代码,但它没有给我我想要的。

从马尼姆进口*

计数类(场景): def 构造(自身): # 序列以空字符串开头 序列=“”

    # Loop to update the sequence from 0 to 100
    for i in range(101):
        # Append the current number to the sequence
        if i == 0:
            sequence = str(i)
        else:
            sequence += ", " + str(i)
        
        # Dynamically adjust the font size
        font_size = max(72 - i*0.5, 20)  # Decrease font size gradually but keep it readable
        
        # Create a new LaTeX text object for the updated sequence
        sequence_display = MathTex(sequence, font_size=font_size)
        
        # Center the sequence text on the screen
        sequence_display.move_to(ORIGIN)
        
        # Display the updated sequence
        self.clear()
        self.add(sequence_display)
        
        # Pause briefly to show the new number
        self.wait(0.1)
    
    # Append three dots to indicate continuation
    sequence += ", ..."
    
    # Create a final LaTeX text object with the sequence and continuation
    final_display = MathTex(sequence, font_size=20)
    final_display.move_to(ORIGIN)
    
    # Display the final sequence
    self.clear()
    self.add(final_display)
    
    # Wait before ending the scene
    self.wait(2)
manim
1个回答
0
投票

序列发生器:

def gen():
    for i in range(101): yield str(i)
    yield "..."

使用示例:

print(', '.join(gen()))
© www.soinside.com 2019 - 2024. All rights reserved.