Un altro approccio semplice consiste nell'utilizzare il proprio rumore a bassa frequenza per disegnare (o definire) una figura in coordinate polari.
Supponiamo di voler un blob centrato sull'origine, di raggio medio 1; questo può essere facilmente ridimensionato e tradotto in altre posizioni e dimensioni. Immagina con la semplice equazione r = 1 - questo definirebbe un cerchio di raggio uno all'origine. Per aggiungere una piccola variazione ad esso, puoi cambiare il raggio sinusoidalmente - aggiungi un termine della forma w 1 * sin (θ + θ 1 ), dove w 1 e θ 1 sono costanti a cui tornerò tra poco. Un termine il peccato non farà un sacco di differenza, ma avendo diversi diversi seni di diverse frequenze inizierà aggiungere esattamente il tipo di variazione 'soft' Ho il sospetto che stai cercando. La forma complessiva sarebbe lungo le linee di r = 1 + w 1 * sin (θ + θ 1 ) + w2 * sin (2θ + θ 2 ) + w 3 * sin (3θ + θ 3 ) + w 4 * sin (4θ + θ 4 ) + w 5 * sin (5θ + θ 5 ) - o più termini se vuoi, ovviamente.
Quindi, come possiamo scegliere i valori di w i e θ io ? Bene, gli θ dovrebbero essere scelti casualmente da (0,2π) - in altre parole, ogni "onda" sulla forma della superficie dovrebbe iniziare in un punto diverso attorno alla forma. Per quanto riguarda le w, ci sono diverse scelte. Scegliere w i in modo casuale da (0, w) (per alcuni w fissi che rappresentano la 'variazione complessiva' per dare la forma; potrei iniziare con w = 0,25 ma sperimentare con w = 0,1) per ogni i porterò a chiamato rumore bianco , in cui tutte le frequenze hanno lo stesso peso - questo sarà di gran lunga il più "blobbiest", con ampie variazioni a tutte le frequenze. Scegliendo i casualmente da (0, w * (1 / i)) - in altre parole,rumore, dove il peso si allontana, ma lentamente. Questo è anche noto come rumore 1 / f ed è il rumore "frattale" più famoso. Infine, scegliendo i pesi in modo casuale da (0, w * (1 / i ^ 2)) (in altre parole, dividendo ogni peso casuale per i ^ 2) si ottiene un rumore browniano - questo è il 'più morbido' dei tre, con il minima variazione da un cerchio - sarà generalmente una forma ovale.
Ecco alcuni esempi dei tre, usando un "peso totale" di w = 0,25 e usando lo stesso insieme di valori casuali per i e i che ho estratto da random.org :
Chiazza "rumore bianco":
Chiazza "Pink Noise":
BLOB "Rumore browniano":
Nota che questi BLOB non saranno perfetti; in particolare, è impossibile per loro arricciarsi su se stessi (poiché per ogni θ - in altre parole, per ogni angolo rispetto all'origine - c'è un singolo valore r), e se non scegli i tuoi pesi nel modo giusto potrebbero auto- intersecare (se r può diventare negativo). Ma fanno un lavoro decente di essere convincentemente insipido e per la maggior parte delle applicazioni di gioco gli utenti non noteranno alcun problema.