From 39684289b0a397e17fe15eeefe8e856e1801baaf Mon Sep 17 00:00:00 2001 From: bibin Date: Fri, 14 Oct 2022 12:52:46 +0200 Subject: [PATCH] another dfs visual version --- graph/dfs/dfs-manim.py | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/graph/dfs/dfs-manim.py b/graph/dfs/dfs-manim.py index e6018d2..d695d10 100644 --- a/graph/dfs/dfs-manim.py +++ b/graph/dfs/dfs-manim.py @@ -3,33 +3,27 @@ from manim import * class Main(Scene): def construct(self): - # change adj_list = [[1, 2], [0, 3], [0, 3], [1, 2, 4], [3]] - vertices = [v for v, _ in enumerate(adj_list)] - edges = [(v, u) for v, neighs in enumerate(adj_list) for u in neighs] - - adj_vis = Graph(vertices, edges, labels=True, layout='spring', vertex_config={"fill_color": WHITE, "fill_opacity": 0.5}) - - self.play(Create(adj_vis)) - self.wait() visited = [False for _ in adj_list] - - print(adj_vis[0]) - def dfs(v): - self.play(Indicate(adj_vis[v])) if visited[v]: return visited[v] = True - self.play(ApplyMethod(adj_vis[v].set_opacity, 1.0)) for u in adj_list[v]: - self.play(Indicate(adj_vis.edges[(v, u)]), Indicate(adj_vis.edges[(u, v)])) dfs(u) - - self.play(ApplyMethod(adj_vis[v].set_color, BLUE)) - dfs(0) + + + vertices = [v for v, _ in enumerate(adj_list)] + edges = [(v, u) for v, neighs in enumerate(adj_list) for u in neighs] + adj_vis = Graph(vertices, edges, labels=True, layout='spring').move_to(3*LEFT) + code = Code(file_name="dfs-manim.py", language="python").move_to(3*RIGHT).scale(0.5) + + #self.play(Create(adj_vis), Create(code)) + #self.wait() + self.add(adj_vis, code) + \ No newline at end of file