.. Comment: this file is automatically generated by `update_example_docs.py`. It should not be modified manually. Lines ========================================== Make a ball with some random line segments and splines. .. code-block:: python :linenos: import time import numpy as np import viser def main() -> None: server = viser.ViserServer() # Line segments. # # This will be much faster than creating separate scene objects for # individual line segments or splines. N = 2000 points = np.random.normal(size=(N, 2, 3)) * 3.0 colors = np.random.randint(0, 255, size=(N, 2, 3)) server.scene.add_line_segments( "/line_segments", points=points, colors=colors, line_width=3.0, ) # Spline helpers. # # If many lines are needed, it'll be more efficient to batch them in # `add_line_segments()`. for i in range(10): points = np.random.normal(size=(30, 3)) * 3.0 server.scene.add_spline_catmull_rom( f"/catmull/{i}", positions=points, tension=0.5, line_width=3.0, color=np.random.uniform(size=3), segments=100, ) control_points = np.random.normal(size=(30 * 2 - 2, 3)) * 3.0 server.scene.add_spline_cubic_bezier( f"/cubic_bezier/{i}", positions=points, control_points=control_points, line_width=3.0, color=np.random.uniform(size=3), segments=100, ) while True: time.sleep(10.0) if __name__ == "__main__": main()