凸包算法的三维表面Z = F(X,Y) [英] convex hull algorithm for 3d surface z = f(x, y)

查看:246
本文介绍了凸包算法的三维表面Z = F(X,Y)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我给一组三元的三维表面(x_i,y_i,z_i),其中x_i和y_i大致在一个网格,每个(x_i,y_i)有一个单一的关联z_i值。典型的网格是20×20

I have a 3D surface given as a set of triples (x_i, y_i, z_i), where x_i and y_i are roughly on a grid, and each (x_i, y_i) has a single associated z_i value. The typical grid is 20x20

我需要找到哪个点属于该表面的凸包,一个给定的容差范围内。我在寻找一个有效的算法进行计算(我的客户提供了一个O(n³)版本,这需要〜在400点数据集10秒......)

I need to find which points belong to the convex hull of the surface, within a given tolerance. I'm looking for an efficient algorithm to perform the computation (my customer has provided an O(n³) version, which takes ~10s on a 400 point dataset...)

推荐答案

有不少在那里,没有你搜索?

There's quite a lot out there, didn't you search?

下面是一对夫妇带O( N 的日志的 ^ h 的)运行时,其中的 N 的输入点数和 ^ h 的是结果的顶点数量:

Here are a couple with O(n log h) runtime, where n is number of input points and h is number of vertices of the result:

http://en.wikipedia.org/wiki/Chan%27s_algorithm

http://en.wikipedia.org/wiki/Kirkpatrick-Seidel_algorithm

下面是四种方法演示,链接到的算法:

Here is a demonstration of four methods, with links to the algorithms:

http://www.cse.unsw.edu .AU /〜兰伯特/爪哇/ 3D / hull.html

这篇关于凸包算法的三维表面Z = F(X,Y)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆