Разделить прямоугольник на прямоугольники одинакового размера?

Мне нужно разбить прямоугольник (структура A CGRect , которая имеет вид {{float x, float y}, {float w, float h}} ) на несколько меньших прямоугольников / структур, создавая своего рода сетку. Я пишу диспетчер компоновки окон, и мне нужна опция предварительного просмотра окна.

enter image description here

Я видел похожие вопросы, но ни одного алгоритмов, которые я видел (те, которые включают ceil и ] этаж ) работал. Я также пробовал:

float widthOfNewRect = total.size.width / floor(sqrt(n));
float heightOfNewRect = total.size.height / ceil(sqrt(n));

Может ли кто-нибудь предоставить пример выполнения этого с моей структурой в C ?

11
задан Kristina Brooks 31 May 2011 в 15:45
поделиться