Example #1
0
 def _create_axis_vectors() -> PointsCloud:
     points = np.array([
         [0, 0, 0, 1],
         [1, 0, 0, 1],
         [0, 1, 0, 1],
         [0, 0, 1, 1],
     ], np.float32)
     colors = np.array([
         [1, 1, 1, 1],
         [1, 0, 0, 1],
         [0, 1, 0, 1],
         [0, 0, 1, 1],
     ], np.float32)
     edges = np.array([[0, 1], [0, 2], [0, 3]], np.int32)
     return PointsCloud(verts=points, colors=colors, edges=edges)
    def bunny_test(self):
        bunny = ply.read_ply(test_support.resources_dir_path / 'scenes' /
                             'bunny' / 'bunny.ply')

        def transform_bunny(ps):
            world_pos = [0.5, -0.2, 0.0]
            ps[:, 0] += world_pos[0]
            ps[:, [0, 1, 2]] = ps[:, [0, 2, 1]]
            ps = world_pos + (ps - world_pos) * 4
            return ps

        scene = Scene()
        scene.add_renderable(
            PointsCloud(transform_bunny(bunny['xyz']).copy(),
                        faces=bunny['face']))
        camera = Camera(course=-120)
        projector = StripesProjector()
        viewport = (5616, 3744)
        projector_lods = 10
        self.reconstruction_case('bunny', scene, camera, projector, viewport,
                                 projector_lods)
Example #3
0
    logging.basicConfig(
        level=logging.DEBUG,
        format=
        '%(relativeCreated)d [%(threadName)s]\t%(name)s [%(levelname)s]:\t %(message)s'
    )

    frame = Frame3D()
    datas = []
    for points_path in sys.argv[1:]:
        points = points_cloud.load_ply(points_path)
        frame.add_points_cloud(points)
    if len(sys.argv[1:]) == 0:
        dog_mesh = PointsCloud(np.array(
            [[1, -0.5, 0], [0, -0.5, 0], [0, -0.5, 1.5], [1, -0.5, 1.5]],
            np.float32),
                               uv=np.float32(
                                   aabb.rect_to_quad([[0, 0], [1, 1]])),
                               faces=np.int32([[0, 1, 2], [0, 2, 3]]),
                               name='USSR Cute Dog Poster')
        box1 = Box(xs=[0.2, 0.4],
                   ys=[0.0, -0.4],
                   zs=[0.6, 0.8],
                   course=-20,
                   roll=45)
        box2 = Box(xs=[0.2, 0.5],
                   ys=[0.0, -0.3],
                   zs=[0.1, 0.4],
                   course=15,
                   pitch=10)
        texture = asyncio.get_event_loop().run_until_complete(
            frame._gl_executor.map(gl.create_image_texture,
Example #4
0
        '%(relativeCreated)d [%(threadName)s]\t%(name)s [%(levelname)s]:\t %(message)s'
    )

    frame = Frame3D()
    datas = []
    for points_path in sys.argv[1:]:
        points = points_cloud.load_ply(points_path)
        frame.add_points_cloud(points)
    if len(sys.argv[1:]) == 0:
        asyncio.get_event_loop().run_until_complete(
            frame._gl_executor.init_gl_context())

        dog_mesh = PointsCloud(np.array(
            [[1, -0.5, 0], [0, -0.5, 0], [0, -0.5, 1.5], [1, -0.5, 1.5]],
            np.float32),
                               uv=np.float32(
                                   aabb.rect_to_quad([[0, 0], [1, 1]])),
                               faces=np.int32([[0, 1, 2], [0, 2, 3]]),
                               name='USSR Cute Dog Poster')
        box1 = Box(xs=[0.2, 0.4],
                   ys=[0.0, -0.4],
                   zs=[0.6, 0.8],
                   course=-20,
                   roll=45)
        box2 = Box(xs=[0.2, 0.5],
                   ys=[0.0, -0.3],
                   zs=[0.1, 0.4],
                   course=15,
                   pitch=10)
        texture = asyncio.get_event_loop().run_until_complete(
            frame._gl_executor.map(gl.create_image_texture, 'data/dog.jpg'))
Example #5
0
 def _update_frustum_mesh(self):
     # TODO: update on every camera movement
     # (currently this is not a problem, because only StripesProjector is rendered)
     self._frustum_mesh = PointsCloud(self.create_frustum_points(),
                                      faces=[[1, 2, 3], [1, 3, 4]],
                                      edges=[[0, i] for i in range(1, 5)])