Your first big problem that i can see is that you aren't allocating your arrays, which means you're indexing off into random places. You either want:
int upArray[51];
int downArray[51];
or you want to say
int *upArray;
int *downArray;
then in setup:
upArray = malloc(sizeof(int) * divisions);
downArray = malloc(sizeof(int) * divisions);
What you have currently is creating a pair of arrays with 0 elements in them.
* you should precompute the value of halfPi / divisions, division, especially floating point division is expensive on the AVR platform.
* make your first for loop i <= divisions instead of adding one each time around through the loop (again, for performance).
* make your second loop condition j >= 0 - and this way you will fill in downArray[0] with a value.