Thanks Dennis, I thought the problem was with my formula.
When i ran it with a textured rectangle it looked fine. When i ran it with anything else, everthing went screwy.
What i'd done was to ovewrite every V index in my UV array with my U value.
BrushUV[index] = U;
BrushUV[index+1] = V;
index++; should have been index+=2; duh!!!
Thanks for putting on the right track.
regards
Mark