Posted 13 December 2013 - 08:58 AM
I wrote a program that digs a 1-block ring of a specified radius and depth. I used 20 turtles to carve out a subeterranean (squared-off) torus of a radius between 44 and 64 blocks.
This mostly worked great. However, at the diagonals (NE, SE, SW, NW) there was an imprecision and hundreds of undug columns were left behind (while other columns were dug more than once). The problem can be seen when you overlay multiple pixel-circles of different radii on top of each other: some pixels in the middle don't get drawn.
I was wondering if other people have run into this and how they solved it? This is mostly theoretical, as my chamber is dug now; I just have a lot of manual cleanup work to do (which grates me, the turtles should be doing my work). Maybe I should have implemented a completely different algorithm such as one written for drawing thick circles? But I have no clue what it would be.
This mostly worked great. However, at the diagonals (NE, SE, SW, NW) there was an imprecision and hundreds of undug columns were left behind (while other columns were dug more than once). The problem can be seen when you overlay multiple pixel-circles of different radii on top of each other: some pixels in the middle don't get drawn.
I was wondering if other people have run into this and how they solved it? This is mostly theoretical, as my chamber is dug now; I just have a lot of manual cleanup work to do (which grates me, the turtles should be doing my work). Maybe I should have implemented a completely different algorithm such as one written for drawing thick circles? But I have no clue what it would be.