Diskussion:Exploring a Design Space for Patterns and Tilings Competition 2015: Unterschied zwischen den Versionen

Aus de_evolutionary_art_org
Wechseln zu: Navigation, Suche
Zeile 55: Zeile 55:
 
...
 
...
  
* step m: count the number of non-transparent pixel in $P: $p_m => <span style="color:red;">$gap_m = $wh_P - $p_m and $overlap_m = m * $s - $p_m</span>   
+
* step m: count the number of non-transparent pixel in $P: $p_m => <span style="color:red;">$overlap_m = m * $s - $p_m</span>   
  
  
Zeile 93: Zeile 93:
 
* step 0: $P is still empty => $gap_0 = $wh_P and $overlap_0 = $p_0 = 0
 
* 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 1: $S_i_1 is composed over $P according to the first 5-tuple: $p_1 = $s_i_1 and $overlap_1 = 0
  
* step 2: $S_i_2 is composed over $P according to the second 5-tuple
+
* step 2: $S_i_2 is composed over $P according to the second 5-tuple: $overlap_2 = ($s_i_1 + $s_i_2) - $p_2  
 
 
: 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 k: $S_i_k is composed over $P according to the k'th 5-tuple: $overlap_k = ($s_i_1 + ... + $s_i_k) - $p_k
  
 
...
 
...
  
* step m: count the number of non-transparent pixel in $P: $p_m => <span style="color:red;">$gap_m = $wh_P - $p_m and $overlap_m = m * $s - $p_m</span>
+
* step m: $S_i_m is composed over $P according to the m'th 5-tuple: <span style="color:red;"> <math> $overlap_m = \sum_{j=1}^{m}$s_i_j - $p_m </math> </span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.
 

Version vom 14. Februar 2015, 16:30 Uhr

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 => $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: $p_1 = $s_i_1 and $overlap_1 = 0
  • step 2: $S_i_2 is composed over $P according to the second 5-tuple: $overlap_2 = ($s_i_1 + $s_i_2) - $p_2

...

  • step k: $S_i_k is composed over $P according to the k'th 5-tuple: $overlap_k = ($s_i_1 + ... + $s_i_k) - $p_k

...

  • step m: $S_i_m is composed over $P according to the m'th 5-tuple: <math> $overlap_m = \sum_{j=1}^{m}$s_i_j - $p_m </math>