Создаёшь массив точек, где у тебя будут шипы, потом сортируешь его и при создании просто делаешь проверку, чтобы они были не ближе чем на ширину шипа+ некоторое минимально-необходимое расстояние между шипами. Если всё ок, то отрисовываешь шип, если нет, тоберёшь следующий элемент, но сравниваешь с последним отрисованным.