def render_point_cloud(self, point_cloud, extrinsics=Pose(), color=GRAY):
        """Render point cloud in BEV perspective.

        Parameters
        ----------
        point_cloud: numpy array with shape (N, 3)
            3D cloud points in the sensor coordinate frame.

        extrinsics: Pose, default: Identity pose
            The pose of the pointcloud sensor wrt the body frame (Sensor frame -> (Vehicle) Body frame).

        color: Tuple[int]
            Color in RGB to render the points.
        """

        combined_transform = self._bev_rotation * extrinsics

        pointcloud_in_bev = combined_transform * point_cloud
        point_cloud2d = pointcloud_in_bev[:, :2]

        point_cloud2d[:, 0] = (self._center_pixel[0] + point_cloud2d[:, 0] * self._pixels_per_meter)
        point_cloud2d[:, 1] = (self._center_pixel[1] + point_cloud2d[:, 1] * self._pixels_per_meter)

        H, W = self.data.shape[:2]
        uv = point_cloud2d.astype(np.int32)
        in_view = np.logical_and.reduce([
            (point_cloud2d >= 0).all(axis=1),
            point_cloud2d[:, 0] < W,
            point_cloud2d[:, 1] < H,
        ])
        uv = uv[in_view]
        self.data[uv[:, 1], uv[:, 0], :] = color
Render point cloud in BEV perspective.

        Parameters
        ----------
        point_cloud: numpy array with shape (N, 3)
            3D cloud points in the sensor coordinate frame.

        extrinsics: Pose, default: Identity pose
            The pose of the pointcloud sensor wrt the body frame (Sensor frame -> (Vehicle) Body frame).

        color: Tuple[int]
            Color in RGB to render the points.
        
tridet/visualizers/bev.py