Behold, I have fixed the z-expansion issue!
The cause? A small insignificant piece of code I had overlooked as I made the incorrect assumption it was in working condition based on its use in other force directed placement algorithms I have implemented (FR_limited, means nothing to you but its a personal variant of the Frutcherman and Reingold algorithm).
The detailed cause? A small piece of code used to normalise the forces when applying them, incorrectly added the same value twice. This was probably a change of mine made several weeks ago (used as a way to monitor behaviour in sections of the algorithm - not really important), and without changing it back, forgot about it.
Interestingly enough, with this fixed and my previous output resembling how the graph should look, the output this time does not look adequate, having undone whatever I did last time (dammit). Fortunately the changes where on refinement techniques so I just need to continue following my notes to get back to reasonable output.
A video, along with the previous posts video, will be available shortly. Below is the output for 55grid, drawn unoptimised and still buggy, in 2 seconds.
Next, my own contraction approximation. This will require some large scale changes to the coarsening scheme and Quad Tree currently employed, but has already been prepared for in the code (to some extent).
I predict this will take about two weeks assuming there are no stubborn problems, so the real time could be anywhere between tonight and 6 months from now (I think my expectations can be a little off sometimes...). Regardless, I will hope to have it done much quicker than this recently fixed problem took to resolve.

No comments:
Post a Comment