[plt-scheme] help for DFS illustration

From: Geoffrey S. Knauth (geoff at knauth.org)
Date: Sat May 2 14:11:05 EDT 2009

On May 1, 2009, at 14:08, Mustafa Can Buken wrote:

> I am a student in Istanbul Bilgi University Computer Sciences
> Department as a first year student. Our teacher makes four of us as a
> group and gave an assinment about illustration of DFS algorithm. User
> will give a graph and an endpoint and Dr. Scheme environment will draw
> that graph with using DFS algorithm

I love algorithm visualization.  But if things flash by too fast for  
me, I want a speed control or a stepper button, and maybe a way to go  
forward and backward.

> First of all I want to say that we tried something about DFS
> illustration on DrScheme environment but because of our less knowledge
> in world.ss teachpack, we experienced some problems about that topic.

OK, so what problems?

Have you read "How to Design Worlds"  [HtDW] ?
If not, see:  http://world.cs.brown.edu/

> Can somebody give us a clue about that. It can be pseudo code of our
> problem or you can say first do something then ... then ... We really
> don't know how to do this illustration and  we should do that till 8th
> of May and will present it.
>
> Wanting a code is a bad habbit I know, so I want to take advice about
> how to do this illustration, which things that we should do. Thanks to
> everybody for helps.

The first question is, do you know how you would do this using pen and  
paper?  I.e., do you feel comfortable with DFS?  You should understand  
DFS 80-90% before starting.  An illustrator or animator should have a  
vision.

Now, assuming you know how you would draw this by hand, make an  
inventory of the kinds of things you would draw, e.g., vertices and  
edges, where you would put the values, what colors you want to use in  
your animation.  Then go back to HtDW and find objects that are  
similar and use them to compose new objects or structures with the  
properties you need to connect the graph and track the progress of DFS.

Geoffrey



Posted on the users mailing list.