exoskeleton/code/utils/drwa.py

29 lines
910 B
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ===== Open3D helpers =====
import numpy as np
import open3d as o3d
def o3d_sphere(center, radius=0.015, color=(1.0, 0.0, 0.0)):
sp = o3d.geometry.TriangleMesh.create_sphere(radius=radius)
sp.compute_vertex_normals()
sp.paint_uniform_color(color)
T = np.eye(4)
T[:3, 3] = center
sp.transform(T)
return sp
def o3d_lineset(points, color=(1.0, 0.0, 0.0)):
# points: shape (N,3) — well connect 0-1, 1-2, 2-3
pts = o3d.utility.Vector3dVector(points)
lines = o3d.utility.Vector2iVector([[0,1],[1,2],[2,3]])
ls = o3d.geometry.LineSet(points=pts, lines=lines)
cols = [color, color, color]
ls.colors = o3d.utility.Vector3dVector(cols)
return ls
def o3d_frame(R=np.eye(3), t=np.zeros(3), size=0.08):
fr = o3d.geometry.TriangleMesh.create_coordinate_frame(size=size)
T = np.eye(4)
T[:3,:3] = R
T[:3, 3] = t
fr.transform(T)
return fr