larvaworld.lib.model.envs.arena
Classes
Simulation arena providing spatial environment for agents. |
Module Contents
- class larvaworld.lib.model.envs.arena.Arena(model: Any | None = None, **kwargs: Any)
Bases:
ViewableBoundedArea,agentpy.SpaceSimulation arena providing spatial environment for agents.
Combines bounded area geometry with agentpy.Space functionality to create a simulation environment where agents can be placed, moved, and interact with sources. Supports both stable and displaceable source management.
- Attributes:
boundary_margin: Margin from arena boundaries (default: 0.96) edges: List of boundary edge segments as Point pairs stable_sources: List of non-movable sources displacable_sources: List of movable sources accessible_sources: Cached accessible sources for agents
- Example:
>>> arena = Arena(model=sim_model, dims=(1.0, 1.0)) >>> arena.place_agent(agent, (0.5, 0.5)) >>> arena.add_sources([food1, food2], [(0.2, 0.3), (0.8, 0.7)])
- boundary_margin
- edges
- stable_source_positions = []
- displacable_source_positions = []
- displacable_sources = []
- stable_sources = []
- accessible_sources = None
- accessible_sources_sorted = None
- place_agent(agent: Any, pos: Any) None
- move_agent(agent: Any, pos: Any) None
- add_sources(sources: list[Any], positions: list[Any]) None
- source_positions_in_array() None
- accessible_sources_multi(agents: Any, positive_amount: bool = True, return_closest: bool = True) None
- draw(v: Any | None = None) matplotlib.figure.Figure