Warning: session_start(): open(/var/lib/php/sessions/sess_aj7s8194qk5h2vjildq7uno4aq, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
srecord noeq NonOverlappingRandomRects(int n, Rect full, int rw, int rh) {
int maxFailures = 1000, failures;
new L out;
run {
double factor = doubleRatio(area(rectSize)*n, rw*rh);
if (factor > 1) fail("Can't fit " + n2(n, "rectangle") + " in " + full);
loop: while (l(out) < n && failures < maxFailures) {
Rect rNew = randomRect(rw, rh, full);
for (Rect r : out)
if (rectsOverlap(r, rNew))
continue loop with ++failures;
out.add(rNew);
}
}
L get() { run(); ret out; }
}