http://qs1969.pair.com?node_id=520682


in reply to Closed geometry: a train track problem

I just typed up a nice algorithm here (which was essentially brute force) when I thought of a much better one. Damn. This one should be better, and you can apply it in real life as well.

  1. Begin by placing 7->8 "marker" pieces of track at various points around the floor. Make sure they're spaced well apart from each other.
  2. For each marker track that you haven't already used:
    1. Find the marker track nearest to it.
    2. Lay track down in such a pattern that it joins the two marker tracks together.
  3. Put some trains on it and make "choo choo!" noises.

This seems boring, but it's much, much faster than trying a brute-force method, and it still produces interesting tracks.

One of the interesting things (that I just thought of) about this design is the pathfinding - if you're laying down a track, but there's another piece of track in the way, don't remove the bit of track, but use one of the circle pieces to divert it around that bit of track. This makes the rails run together, as rails tend to do!

If you're really looking for a challenge, try making the algorithm recursive by using it again while doing step 2.2. And well done for thinking of such an interesting puzzle!


~abseed