Exemplo n.º 1
0
def mesh_generator():
    """Yields meshes
    Yields:
        open3d.geometry.TriangleMesh: yielded mesh 
    """
    yield meshes.armadillo()
    yield meshes.bunny()
Exemplo n.º 2
0
def pointcloud_generator():
    pts = np.random.uniform(-30, 30, size=(int(1e5), 3))
    pcl = o3d.geometry.PointCloud()
    pcl.points = o3d.utility.Vector3dVector(pts)
    yield 'uniform', pcl

    yield 'moebius', o3d.geometry.TriangleMesh.create_moebius(
    ).sample_points_uniformly(int(1e5))

    yield 'bunny', meshes.bunny().scale(10).sample_points_uniformly(int(1e5))

    yield 'fragment', o3d.io.read_point_cloud('../../TestData/fragment.ply')
Exemplo n.º 3
0
def mesh_generator():
    mesh = meshes.plane()
    yield mesh.subdivide_midpoint(2)

    mesh = o3d.geometry.TriangleMesh.create_box()
    yield mesh.subdivide_midpoint(2)

    mesh = o3d.geometry.TriangleMesh.create_sphere()
    yield mesh.subdivide_midpoint(2)

    mesh = o3d.geometry.TriangleMesh.create_cone()
    yield mesh.subdivide_midpoint(2)

    mesh = o3d.geometry.TriangleMesh.create_cylinder()
    yield mesh.subdivide_midpoint(2)

    yield meshes.bathtub()

    yield meshes.bunny()
Exemplo n.º 4
0
def mesh_generator():
    mesh = meshes.plane()
    yield o3d.geometry.subdivide_midpoint(mesh, 2)

    mesh = o3d.geometry.create_mesh_box()
    yield o3d.geometry.subdivide_midpoint(mesh, 2)

    mesh = o3d.geometry.create_mesh_sphere()
    yield o3d.geometry.subdivide_midpoint(mesh, 2)

    mesh = o3d.geometry.create_mesh_cone()
    yield o3d.geometry.subdivide_midpoint(mesh, 2)

    mesh = o3d.geometry.create_mesh_cylinder()
    yield o3d.geometry.subdivide_midpoint(mesh, 2)

    yield meshes.bathtub()

    yield meshes.bunny()
Exemplo n.º 5
0
def problem_generator():
    o3d.utility.set_verbosity_level(o3d.utility.Debug)

    points = []
    normals = []
    for _ in range(4):
        for _ in range(4):
            pt = (np.random.uniform(-2, 2), np.random.uniform(-2, 2), 0)
            points.append(pt)
            normals.append((0, 0, 1))
    points = np.array(points, dtype=np.float64)
    normals = np.array(normals, dtype=np.float64)
    pcd = o3d.geometry.PointCloud()
    pcd.points = o3d.utility.Vector3dVector(points)
    pcd.normals = o3d.utility.Vector3dVector(normals)
    radii = [1, 2]
    yield pcd, radii

    o3d.utility.set_verbosity_level(o3d.utility.Info)

    gt_mesh = o3d.geometry.TriangleMesh.create_sphere()
    gt_mesh.compute_vertex_normals()
    pcd = gt_mesh.sample_points_poisson_disk(100)
    radii = [0.5, 1, 2]
    yield pcd, radii

    gt_mesh = meshes.bunny()
    gt_mesh.compute_vertex_normals()
    pcd = gt_mesh.sample_points_poisson_disk(2000)
    radii = [0.005, 0.01, 0.02, 0.04]
    yield pcd, radii

    gt_mesh = meshes.armadillo()
    gt_mesh.compute_vertex_normals()
    pcd = gt_mesh.sample_points_poisson_disk(2000)
    radii = [5, 10]
    yield pcd, radii
Exemplo n.º 6
0
import numpy as np
import cupoch as cph
import os

import sys
dir_path = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(dir_path, '../misc'))
import meshes

if __name__ == "__main__":
    mesh = meshes.bunny()
    mesh.remove_unreferenced_vertices()
    triangles = np.asarray(mesh.triangles.cpu())
    vertices = np.asarray(mesh.vertices.cpu())
    vertex_normals = np.asarray(mesh.vertex_normals.cpu())
    n_vertices = vertices.shape[0]
    vertex_colors = np.random.uniform(0, 1, size=(n_vertices, 3))
    mesh.vertex_colors = cph.utility.Vector3fVector(vertex_colors)

    def test_float_array(array_a, array_b, eps=1e-6):
        diff = array_a - array_b
        dist = np.linalg.norm(diff, axis=1)
        return np.all(dist < eps)

    def test_int_array(array_a, array_b):
        diff = array_a - array_b
        return np.all(diff == 0)

    def compare_mesh(mesh):
        success = True
        if not test_float_array(vertices, np.asarray(mesh.vertices.cpu())):
Exemplo n.º 7
0
def mesh_generator():
    yield o3d.geometry.TriangleMesh.create_sphere()
    yield meshes.knot()
    yield meshes.bunny()
    yield meshes.armadillo()
Exemplo n.º 8
0
def mesh_generator():
    yield o3d.geometry.create_mesh_box()
    yield o3d.geometry.create_mesh_sphere()
    yield meshes.knot()
    yield meshes.bunny()
    yield meshes.armadillo()