1D variant of the Vicsek model. Initialize agents on lines with random $x$ coordinate and
random direction $\vec{e^i} = (1,0)$ (right) or $\vec{e} = (-1,0)$ (left).
Agent color represents their intrinsic speed $v^i$, which
is fixed per agent at a value uniformly sampled between $v_\text{min}$ and $v_\text{min} + \Delta v$.
Every step:
Update directions:
New direction of agent $i$ is the average direction of
(same-line) neighbors $j$ within distance $R$.
Update positions:
Displacement is the direction $\vec{e^i}$ multiplied by the agents' speed $v^i$.
1D addition: When the new position would place the agent inside the exclusion zone of a
neighbor (and closer than the old position), it does not move during this step
and has to wait for the neighbor to make space.