Sorry, something went wrong.
There was a problem hiding this comment.
few questions
Sorry, something went wrong.
|
Interactions work well: vectors-2025-10-28_01.52.43.mp4figure = fpl.Figure(size=(700, 700))
start, stop, step = 0, 2 * np.pi, 0.4
# get uniform x, y positions
x, y = np.meshgrid(np.arange(start, stop, step), np.arange(start, stop, step))
# vectors, u and v are x and y components indication directions
u = np.cos(x)
v = np.sin(y)
# positions of each vector as [n_points, 2] array
positions = np.column_stack([x.ravel(), y.ravel()])
# directions of each vector as a [n_points, 2] array
directions = np.column_stack([u.ravel(), v.ravel()])
vector_field = figure[0, 0].add_vector_field(
positions=positions,
directions=directions,
)
def update(change):
val = change["new"]
start, stop, step = 0, 2 * np.pi, 0.4
start += val
stop += val
# get uniform x, y positions
x, y = np.meshgrid(np.arange(start, stop, step), np.arange(start, stop, step))
# vectors, u and v are x and y components indication directions
u = np.cos(x)
v = np.sin(y)
directions = np.column_stack([u.ravel(), v.ravel()])
vector_field.directions = directions
slider = FloatSlider(value=0, min=-5, max=5, step=0.01)
slider.observe(update, "value")
VBox([figure.show(), slider])
Need to wait for pygfx/pylinalg#107 before merging into fastplotlib main |
Sorry, something went wrong.
|
The recursion error with the ome-zarr file makes no sense, going to get rid of it from tests and only show the code in the docs until they fix whatever is up. |
Sorry, something went wrong.
|
📚 Docs preview built and uploaded! https://www.fastplotlib.org/ver/vector-field |
Sorry, something went wrong.
There was a problem hiding this comment.
Aside from that one example that won't run, everything LGTM
Sorry, something went wrong.
closes #560
Uses instanced meshes to create the 3D vector representations and place them in 3D space.
Can implement per-vector colors after pygfx/pygfx#1221 later in a future PR.
Can do some fun electromagnetism animations with this.
Very simple API: