Open3D生成规则点云(三)

一、代码

Python

import open3d as o3d
import numpy as np


def create_paraboloid(x1=0, y1=0, z1=0, height=100, coefficient=-0.2, resolution=200, split=100):
    vertices = []
    for i in range(split):
        if coefficient < 0:
            height *= -1
            coefficient *= -1
        z = z1 + height * np.sin(i * np.pi / 2 / (split - 1))
        r = np.sqrt(np.abs((z - z1) / coefficient))
        for j in range(resolution):
            x = x1 + r * np.cos(2 * j * np.pi / (resolution - 1))
            y = y1 + r * np.sin(2 * j * np.pi / (resolution - 1))
            vertices.append([x, y, z])
    # 创建Open3D点云对象
    pcd = o3d.geometry.PointCloud()
    pcd.points

猜你喜欢

转载自blog.csdn.net/qq_58060770/article/details/137688651