Splines#

Make a ball with some random splines.

 1import time
 2
 3import numpy as onp
 4import viser
 5
 6
 7def main() -> None:
 8    server = viser.ViserServer()
 9    for i in range(10):
10        positions = onp.random.normal(size=(30, 3)) * 3.0
11        server.scene.add_spline_catmull_rom(
12            f"/catmull_{i}",
13            positions,
14            tension=0.5,
15            line_width=3.0,
16            color=onp.random.uniform(size=3),
17            segments=100,
18        )
19
20        control_points = onp.random.normal(size=(30 * 2 - 2, 3)) * 3.0
21        server.scene.add_spline_cubic_bezier(
22            f"/cubic_bezier_{i}",
23            positions,
24            control_points,
25            line_width=3.0,
26            color=onp.random.uniform(size=3),
27            segments=100,
28        )
29
30    while True:
31        time.sleep(10.0)
32
33
34if __name__ == "__main__":
35    main()