一、代码
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