Environment
Environment
, estende il trait EnvironmentParameters
e rappresenta l'ambiente di simulazione in cui le
entità interagiscono. Contiene:
entities: Set[Entity]
: l’insieme delle entità presenti;width: Int
eheight: Int
: dimensioni dello spazio simulato in cui le entità possono muoversi;lightField: LightField
: campo di illuminazione corrente dell’ambiente, ricalcolato a ogni tick dal motore di illuminazione.
Ai bordi dell’ambiente sono presenti Boundary
, entità statiche che impediscono alle entità dinamiche di uscire dallo
spazio di simulazione.
Vedere la sezione Boundary per maggiori dettagli.
ValidEnvironment
Tramite un metodo validate
è possibile ottenere un ValidEnvironment
, che rappresenta un ambiente di simulazione corretto.
Nota: è possibile creare un
ValidEnvironment
solo tramitevalidate
, così da garantire la correttezza dell’ambiente.
I controlli di validazione includono:
width
eheight
in intervalli validi;- posizionamento delle entità entro i limiti (
width
×height
); - assenza di sovrapposizioni tra entità;
- limite massimo al numero di entità;
- validità intrinseca di ciascuna entità.
I dettagli di implementazione dell'ambiente sono disponibili nella sezione Implementazione dell'ambiente di simulazione.
Per ulteriori informazioni sulla validazione consultare la sezione Validation.
Illuminazione
Illumination
modella il calcolo del campo di luce (LightField
) ed è ricalcolato a ogni tick dal motore di illuminazione, in
funzione delle entità statiche e dinamiche (ad es. robot e ostacoli).
Per maggiori dettagli consultare la gestione dell’illuminazione.