electrosim.rendering.particles#
Functions
|
Draw force arrows per particle using precomputed forces if available. |
|
Draw glows for all non-neutral particles. |
|
Draw particles as filled circles with optional borders for fixed/selected. |
|
Draw velocity arrows scaled by a constant factor. |
- draw_particles(screen, particles, pixels_per_meter, selected_index)[source]#
Draw particles as filled circles with optional borders for fixed/selected.
- Parameters:
screen (pygame.Surface) – Target surface.
particles (Iterable[Particle]) – Particles to draw.
pixels_per_meter (float) – Scaling from meters to pixels.
selected_index (int | None) – Index of selected particle in list order, if any.
- Return type:
None
- draw_velocity_vectors(screen, particles, pixels_per_meter)[source]#
Draw velocity arrows scaled by a constant factor.
- Parameters:
screen (pygame.Surface) – Target surface.
particles (Iterable[Particle]) – Particles to draw velocity for.
pixels_per_meter (float) – Scaling from meters to pixels.
- Return type:
None
- draw_force_vectors(screen, particles, forces_array, pixels_per_meter)[source]#
Draw force arrows per particle using precomputed forces if available.
- Parameters:
screen (pygame.Surface) – Target surface.
particles (Iterable[Particle]) – Particles to draw forces for.
forces_array (numpy.ndarray | None) – Per-particle forces (N) shaped (N,2). If None, nothing is drawn.
pixels_per_meter (float) – Scaling from meters to pixels.
- Return type:
None