Мой код печатает наборы координат (X, Y) в 2D-пространстве в диапазоне [0,1].
void Rect_Print() {
cout << "In counter-clockwise fashion" << endl;
cout << "#Rectangle ( x0, y0) ( x1, y1) " << endl;
for (int b=0; b<Rect_Count; b++) {
double Area = (Rect[b].x0 - Rect[b].x1) * (Rect[b].y0 - Rect[b].y1);
cout << fixed << setprecision(4) << (b+1) <<
" (" << Rect[b].x0 << "," << Rect[b].y0 <<
") (" << Rect[b].x1 << "," << Rect[b].y1 << ")" << endl;
}
cout << "Number of divisions (N = 3j-2) = " << Rect_Count << endl;
}
Эти точки делят единичный квадрат на (3j-2) подпрямоугольников (не равномерных). Для каждого конкретного прямоугольника я хотел бы подсчитать общее количество прилегающих к нему прямоугольников.
Пример
Предположим, что первая координата делит единичный квадрат на четыре прямоугольника, например:
На этом рисунке вы видите три прямоугольника, смежные с прямоугольником-3.
Если я буду действовать таким образом, то после моего шестого шага единичный квадрат разделится на 19 прямоугольников. Так это выглядит так:
Теперь к прямоугольнику-3 примыкают пять прямоугольников. шесть прямоугольников, смежных с прямоугольником-11.
Предположим, у меня есть наборы координат десять тысяч, и они делят квадрат на маленькие подпрямоугольники. Я хотел бы использовать С++ для подсчета количества прямоугольников, прилегающих к каждому из них. Как мне это сделать?
После поиска в Интернете кажется, что Фланн может помочь мне добиться цели. Я прочитал руководство пользователя, но не мог понять, как я могу это сделать.
Может кто-нибудь помочь мне?