Il modo di creare formule ormai è pressochè completo. Ci sarebbe da esaminare ogni singolo parametro, e il significato di ogni singola funzione, ma reputo che questi argomenti sono trattati abbastanza bene nell'help in linea di Ultrafractal: si tratta di semplici valori predefiniti, come larghezza e lunghezza dello schermo, il valore di pigreco etc. Se volete fare formule, vi conviene conoscere questi parametri.
Invece quello che faremo adesso riguarda la visibilità dei parametri; prendete in esempio la funzione fd: notate che, se scegliete di non iterare il parametro d (#pixel), allora è completamente inutile. Faremo in modo, allora, che questa funzione risulti visibile solamente quando decidiamo di iterare la d.
VISIBILITA' La visibilità non è assolutamente difficile da implementare: si tratta di aggiungere una semplice riga nel blocco Func (o Param, se si tratta di un parametro) che ci interessa: nel nostro caso specifico avremo:
Possiamo notare che la riga aggiunta è quella riguardante Visible: in particolar modo la mettiamo uguale ad una espressione booleana: in questo modo potrà assumere i valori che assume l'espressione, cioè True o False. In questo modo, se il risultato dell'espressione booleana sarà True, allora la funzione sarà visibile nel Layer Properties, altrimenti sarà invisibile. In questo modo siamo in grado di organizzare meglio le formule con molti parametri, assieme all'heading: possiamo organizzare in nostri parametri in gruppi e nascondere interi gruppi che non ci servono, ottenendo così una lista più ordinata di parametri e funzioni. Nel nostro specifico caso, dato che vogliamo che fd appaia soltanto quando iteriamo il parametro d, ho l'espressione booleana @itd == True, perchè così risulta visibile soltanto se decidiamo di iterare la d, e quindi il valore @itd diventa True. Chiaro? Un'altra alternativa all'uso di Visible è Enabled: se andiamo a sostituire vediamo che la fd non scompare quando non iteriamo la d, ma semplicemente diventa grigia e non modificabile. Usare l'uno o l'altro metodo è, sempre, questioni di gusto e di organizzazione. Un altro modo per organizzare i parametri, riguarda l'heading. Possiamo raggruppare, cioè, i vari parametri e funzioni sotto dei gruppi. Vediamo come fare: decidiamo di raggruppare sotto un unico gruppo i parametri, sotto un altro gruppo e caselle che i permettono di attivare i parametri, e sotto un altro gruppo ancora le funzioni. Per far questo, ho bisogno di riordinare i parametri da come li ho scritti: mettete prima i parametri para etc, poi i parametri itx, dopo ancora il bailout e alla fine le funzioni; dopo il riordino, dovreste avere questa formula (uguale a quella precedente dal punto di vista del funzionamento):
Adesso dobbiamo "titolare" i vari gruppi: per fare questo, nella sezione default, andate prima del 1° blocco di parametri, ed inserite il seguente blocco:
Come potete notare, se ricaricate la formula notate che appare un titolo prima dei parametri: questo può servire per catalogare i parametri a seconda delle funzioni che svolgono. Nel nostro caso non è molto importante, ma potete, per esempio, esaminare l'algoritmo di colorazione Orbit-Trap-3 (nel file dmj3.ucl), per vedere come funziona: notate che anche nell'heading è possibile introdurre delle condizioni di visibilità mediante il comando Visible. Adesso che sapete come funziona, mettete altri heading prima del gruppo delle iterazioni, e prima delle funzioni: qua sotto avete la formula completa:
A destra potete notare il Layer Properties al completo. La formula è pressochè completa: non andremo a modificare più la formula, dato che mi considero abbastanza soddisfatto: mentre, voi potete continuare ad aggiungere parametri, funzioni, cicli e quello che vi passa per la testa, stando attenti però a testare sempre le vostre funzioni, per evitare situazioni prive di interesse (come una funzione che dà sempre una immagine completamente nera). Dopo, ricaricate il Tutorial 6b, perchè adesso andremo ad aggiungere lo switch: considereremo cioè la nostra formula come un insieme madre (di Mandelbrot per la nostra formula), e creeremo il corrispondente insieme di Julia, mediante il comando switch.
|
||||||||||||||||||||||||||||||||
Formula Tab prima del riordino
|
Formula Tab dopo il riordino
|
|||||||||||||||||||||||||||||||
Formula Tab con le intestazioni degli heading
|
||||||||||||||||||||||||||||||||