Py.Cafe

maartenbreddels/

ipyvolume-3d-vector-field-3

3D Vector Field Visualization with Ipyvolume

DocsPricing
  • app.py
  • requirements.txt
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import ipyvolume as ipv
# import solara
import ipywidgets as widgets
import numpy as np

N = 1000
x, y, z = np.random.normal(0, 1, (3, N))

# fig = ipv.figure()
# scatter = ipv.scatter(x, y, z, marker='sphere')
# ipv.show()

fig = ipv.figure()
quiver = ipv.quiver(x, y, z, x, y, z, size=4)
ipv.show()

def flip():
    quiver.vx = -quiver.vx
    quiver.vy = quiver.vy
    quiver.vz = -quiver.vz


button = widgets.Button(description="flip")
button.on_click(lambda *ignore: flip())
page = widgets.VBox([fig, button])