Jay,
I do not understand why you have two arrays, but, it does not seem as you are using percentage points for it, I see you are using 400 and other big numbers, what you should be using, IIRC, is percentages (0% - 100%), which will be applied to the size of the shape to get the actual coordinates
"The five senses obstruct or deform the apprehension of reality."
Jorge L. Borges?
"Premature optimization is the root of all evil in programming."
Donald Knuth, repeating C. A. R. Hoare
"To die for a religion is easier than to live it absolutely"
Jorge L. Borges