Diskussion:Exploring a Design Space for Patterns and Tilings Competition 2015
Is it possible to make an overlap measure that can be computed given the result pattern image and the command list without the intermediate steps?
Sketch of an induction prove that this is possible for the case that only one prototile type exists and for the case that n > 1 prototile types exists.
Case 1: One prototile type
Given:
- one prototile in an image $S with width $w_S and height $h_S on a transparent background with no borders;
- number of pixel in $S: $wh_S = $w_S * $h_S
- number of non-transparent pixel in $S: $s
- Pattern image $P with width $w_P and height $h_P
- number of pixel in $P: $wh_P = $w_P * $h_P
- command list with m 5-tuples ($S, $r, $m, $x, $y)
Countable:
- number of transparent pixel in $P in step t: $gap_t
- number of non-transparent pixel in $P in step t: $p_t
Compute:
- number of non-transparent pixel in $P in step t that are covered more than one time: $overlap_t
Compositing process:
- step 0: $P is still empty => $gap_0 = $wh_P and $overlap_0 = $p_0 = 0
- step 1: $S is composed over $P according to the first 5-tuple => $gap_1 = $wh_P - $s and $overlap_1 = 0 and $p_1 = $s
- step 2: $S is composed over $P according to the second 5-tuple
- minimum overlap if second $S is composed in a way that there is no intersection to the first $S: $gap_2 = $wh_P - 2 * $s and $overlap_2 = 0
- maximum overlap if second $S is composed over first $S: $gap_2 = $wh_P - $s and $overlap_2 = $s
- count the number of non-transparent pixel in $P: $p_2 => $gap_2 = $wh_P - $p_2 and $overlap_2 = 2 * $s - $p_2
...
- step k: count the number of non-transparent pixel in $P: $p_k => $gap_k = $wh_P - $p_k and $overlap_k = k * $s - $p_k
...
- step m: count the number of non-transparent pixel in $P: $p_m => $gap_m = $wh_P - $p_m and $overlap_m = m * $s - $p_m
Case 2: n > 1 prototile types
Given:
- A set of n > 1 different prototile types @S = ($S_i | i = 1, …, n) with width $w_S_i and height $h_S_i each on a transparent background with no borders
- number of pixel in $S_i: $wh_S_i = $w_S_i * $h_S_i
- number of non-transparent pixel in $S_i: $s_i
- Pattern image $P with width $w_P and height $h_P
- number of pixel in $P: $wh_P = $w_P * $h_P
- command list with m 5-tuples ($S_i, $r, $m, $x, $y). From the command list the sequence @C_S = ($S_i_j | j = 1, …, m) of prototiles is extracted as the list of shapes that will be step by step composed.
Countable:
- number of transparent pixel in $P in step t: $gap_t
- number of non-transparent pixel in $P in step t: $p_t
Compute:
- number of non-transparent pixel in $P in step t that are covered more than one time: $overlap_t
Compositing process:
- step 0: $P is still empty => $gap_0 = $wh_P and $overlap_0 = $p_0 = 0
- step 1: $S_i_1 is composed over $P according to the first 5-tuple => $gap_1 = $wh_P - $s_i_1 and $overlap_1 = 0 and $p_1 = $s_i_1
- step 2: $S_i_2 is composed over $P according to the second 5-tuple
- minimum overlap if $S_i_2 is composed in a way that there is no intersection to $S_i_1: $gap_2 = $wh_P - ($s_i_1 + $ and $overlap_2 = 0
- maximum overlap if second $S is composed over first $S: $gap_2 = $wh_P - $s and $overlap_2 = $s
- count the number of non-transparent pixel in $P: $p_2 => $gap_2 = $wh_P - $p_2 and $overlap_2 = 2 * $s - $p_2
...
- step k: count the number of non-transparent pixel in $P: $p_k => $gap_k = $wh_P - $p_k and $overlap_k = k * $s - $p_k
...
- step m: count the number of non-transparent pixel in $P: $p_m => $gap_m = $wh_P - $p_m and $overlap_m = m * $s - $p_m
The given command list consists of m 5-tuple which means that a selection of different elements of @S are composed over the pattern image and every image in @S is at least used one time. The composing list @C_S = ($S_i_j | j = 1, …, m) respresents one possible combination of such a composing pipeline.
The overlap after m composings is the sum of the non-transparent pixels of all elements in @C_S ($s_j, j = 1, …, m) minus the number of non-transparent pixel in $P after the m composings ($p_m): $overlap_m = Σj=1->m $s_j - $p_m.