Parametri

Se la chiamata di una regola ha dei parametri allora le alterazioni si ripercuotono a catena sulle chiamate successive

trefigure4

Il cerchio ha la dimensione, size, ridotta al 75% di quella del quadrato, il triangolo al 75% di quella del cerchio, quindi al 56,25%di quella del quadrato… Analogamente per brightness aumenta la brillantezza del 33% ad ogni passo.

startshape FIGUREBASE
rule FIGUREBASE
{
  SQUARE{}
  FIGURA2{s 0.75 b 0.33}
}
rule FIGURA2
{
  CIRCLE{}
  FIGURA3{s 0.75 b 0.33}
}
rule FIGURA3
{
  TRIANGLE{}
}

In pratica

FIGUREBASE{} => SQUARE{} | (s 0.75 b 0.33)FIGURA2{}
             => SQUARE{} | (s 0.75 b 0.33)(CIRCLE{} | (s 0.75 b 0.33)FIGURA3{})
             => SQUARE{} | (s 0.75 b 0.33)(CIRCLE{} | (s 0.75 b 0.33)(s 0.75 b 0.33)FIGURA3{}
             => SQUARE{} | (s 0.75 b 0.33)(CIRCLE{} | (s 0.75 b 0.33)(s 0.75 b 0.33)TRIANGLE{}

Il triangolo subisce gli effetti di due trasformazioni

(s 0.75 b 0.33)(s 0.75 b 0.33)

Si può ottenere lo stesso risultato con il codice seguente

startshape FIGUREBASE
rule FIGUREBASE
{
  SQUARE{}
  CIRCLE{s 0.75 b 0.33}
  TRIANGLE{s 0.5625 b 0.44} // da controllare...
}

dove le alterazioni sono state applicate direttamente.

Notice: This work is licensed under a BY-NC-SA. Permalink: Parametri

Comments are closed.