>How would I go about positioning them?
I'm sorry, I tried to find Sergey's message a while back (when I was thinking about your problem) where he provided the code for similar problem, but I was unable to find it, don't recall the details exactly.
You basically just need to calculate positions, it's not hard.
If it's not broken, fix it until it is.
My Blog