electrosim.rendering.field_sampler#
Classes
|
Precompute electric field vectors on a pixel grid per frame. |
- class ElectricFieldSampler(world_size_m, pixels_per_meter, grid_step_px, softening_fraction, _centers_px=None, _vectors_px=None, _centers_m=None)[source]#
Bases:
objectPrecompute electric field vectors on a pixel grid per frame.
The sampler caches E vectors (shape [Hcells, Wcells, 2]) for the given grid step and exposes an iterator over grid centers and vectors for drawing.
- Parameters:
world_size_m (numpy.ndarray shape (2,)) – World size (m) as (Lx, Ly).
pixels_per_meter (float) – Pixels per meter.
grid_step_px (int) – Grid spacing in pixels between field sample points.
softening_fraction (float) – Softening fraction used for field evaluation.
_centers_px (ndarray | None)
_vectors_px (ndarray | None)
_centers_m (ndarray | None)
- world_size_m: ndarray#
- pixels_per_meter: float#
- grid_step_px: int#
- softening_fraction: float#
- recompute(particles)[source]#
Recompute field vectors over the grid for the given particle iterable.
Packs particle data for a Numba kernel when available; falls back to per-point Python evaluation otherwise. Results are stored for iteration.
- Parameters:
particles (Iterable[Particle])
- Return type:
None