Incomplete lines while rendering
- 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**:

### 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