Files
2026-07-13 13:05:14 +08:00

80 lines
3.4 KiB
Python

"""Playground to test the visible history feature."""
from __future__ import annotations
import argparse
import datetime
import math
import numpy as np
import rerun as rr
parser = argparse.ArgumentParser(description=__doc__)
rr.script_add_args(parser)
args = parser.parse_args()
rr.script_setup(args, "rerun_example_visible_history_playground")
rr.log("bbox", rr.Boxes2D(centers=[50, 3.5], half_sizes=[50, 4.5], colors=[255, 0, 0]), static=True)
rr.log("transform", rr.Transform3D(translation=[0, 0, 0]))
rr.log("some/nested/pinhole", rr.Pinhole(focal_length=3, width=3, height=3), static=True)
rr.log("3dworld/depthimage/pinhole", rr.Pinhole(focal_length=20, width=100, height=10), static=True)
rr.log("3dworld/image", rr.Transform3D(translation=[0, 1, 0]), static=True)
rr.log("3dworld/image/pinhole", rr.Pinhole(focal_length=20, width=100, height=10), static=True)
date_offset = int(datetime.datetime(year=2023, month=1, day=1).timestamp())
for i in range(100):
rr.set_time("temporal_100day_span", duration=i * 24 * 3600)
rr.set_time("temporal_100s_span", duration=i)
rr.set_time("temporal_100ms_span", duration=i / 1000)
rr.set_time("temporal_100us_span", duration=i / 1000000)
rr.set_time("temporal_100day_span_date_offset", duration=date_offset + i * 24 * 3600)
rr.set_time("temporal_100s_span_date_offset", duration=date_offset + i)
rr.set_time("temporal_100ms_span_date_offset", duration=date_offset + i / 1000)
rr.set_time("temporal_100us_span_date_offset", duration=date_offset + i / 1000000)
rr.set_time("temporal_100day_span_zero_centered", duration=(i - 50) * 24 * 3600)
rr.set_time("temporal_100s_zero_centered", duration=i - 50)
rr.set_time("temporal_100ms_zero_centered", duration=(i - 50) / 1000)
rr.set_time("temporal_100us_zero_centered", duration=(i - 50) / 1000000)
rr.set_time("sequence", sequence=i)
rr.set_time("sequence_zero_centered", sequence=(i - 50))
rr.set_time("sequence_10k_offset", sequence=10000 + i)
rr.set_time("sequence_10k_neg_offset", sequence=-10000 + i)
rr.log("world/data/nested/point", rr.Points2D([[i, 0], [i, 1]], radii=0.4))
rr.log("world/data/nested/point2", rr.Points2D([i, 2], radii=0.4))
rr.log("world/data/nested/box", rr.Boxes2D(centers=[i, 1], half_sizes=[0.5, 0.5]))
rr.log("world/data/nested/arrow", rr.Arrows3D(origins=[i, 4, 0], vectors=[0, 1.7, 0]))
rr.log(
"world/data/nested/linestrip",
rr.LineStrips2D([[[i - 0.4, 6], [i + 0.4, 6], [i - 0.4, 7], [i + 0.4, 7]], [[i - 0.2, 6.5], [i + 0.2, 6.5]]]),
)
rr.log("world/data/nested/transformed", rr.Transform3D(translation=[i, 0, 0]))
rr.log("world/data/nested/transformed/point", rr.Boxes2D(centers=[0, 3], half_sizes=[0.5, 0.5]))
rr.log("text_log", rr.TextLog(f"hello {i}"))
rr.log("scalar", rr.Scalars(math.sin(i / 100 * 2 * math.pi)))
depth_image = 100 * np.ones((10, 100), dtype=np.float32)
depth_image[:, i] = 50
rr.log("3dworld/depthimage/pinhole/data", rr.DepthImage(depth_image, meter=100))
image = 100 * np.ones((10, 100, 3), dtype=np.uint8)
image[:, i, :] = [255, 0, 0]
rr.log("3dworld/image/pinhole/data", rr.Image(image))
x_coord = (i - 50) / 5
rr.log(
"3dworld/mesh",
rr.Mesh3D(
vertex_positions=[[x_coord, 2, 0], [x_coord, 2, 1], [x_coord, 3, 0]],
vertex_colors=[[0, 0, 255], [0, 255, 0], [255, 0, 0]],
),
)