3b1b / 3b1b/manim

Incomplete lines while rendering

Aberta
#2,295 1 comentário 0 reações 0 responsáveis Ver no GitHub
bug
Linguagem predominante
Python
Estrelas
93.9k
Forks
7.7k
Merge médio
2d 13h
PRs com merge (30d)
4

Descrição

I tried to code the Lorenz Attractor recently mentioned in the 3b1b. However, on rendering the Lorenz Attractor the curve breaks in between as some places.

**Code**:
```
from manimlib import *
from scipy.integrate import solve_ivp
import numpy as np

def lorenz_system(t, state, sigma=10, rho=28, beta=8/3):
x,y,z = state
dxdt = sigma*(y-x)
dydt = x*(rho-z)-y
dzdt = x*y-beta*z
return [dxdt, dydt, dzdt]

def ode_solution_points(function, state0, time, dt=0.01):
solution = solve_ivp(
function,
t_span = (0,time),
y0=state0,
t_eval=np.arange(0, time, dt)
)
return solution.y.T

class LorenzButterfly(Scene):
def construct(self):
axes = ThreeDAxes(
x_range = [-50, 50, 5],
y_range = [-50, 50, 5],
z_range = [0, 50, 5],
width = 16,
height = 16,
depth = 8
)
axes.set_width(FRAME_WIDTH)
axes.center()

self.frame.reorient(43, 76, 1, IN,10)
self.add(axes)

state0 = [10,10,10]
points = ode_solution_points(lorenz_system, state0, 30)
curve = VMobject().set_points_as_corners(axes.c2p(*points.T))
self.add(curve)
```

**Wrong display or Error traceback**:
![image](https://github.com/user-attachments/assets/6e87341f-e143-4f57-a98d-5668fff1d895)

### Additional context
I had cloned the repository on 4th January, 2025. The python version I am using is 3.13.1.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

O problema está na renderização de VMobject de uma curva 3D a partir de pontos de solução de ODE. Veja a classe VMobject em manimlib/mobject/types/vectorized_mobject.py e como set_points_as_corners lida com coordenadas 3D. Verifique a conversão axes.c2p e a classe ThreeDAxes. As quebras da curva sugerem problemas de interpolação ou ordenação de pontos. Execute o código fornecido para reproduzir, em seguida, examine o array de pontos gerado e como ele é mapeado para as coordenadas da tela.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Domínio
computer-graphics, data-visualization
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Claramente especificada
Facilidade para iniciantes
55/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.