Warning: session_start(): open(/var/lib/php/sessions/sess_kmks8s1me3ndpsp7do06puokjm, 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(rw*rh*n, area(full));
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))
{ ++failures; continue loop; }
out.add(rNew);
}
}
L get() { run(); ret out; }
}