24小时热门版块排行榜    

查看: 1575  |  回复: 14

蜜雪兰瑭

铜虫 (初入文坛)

[求助] 凹形的平面散乱点作出delaunay网格,怎样把外部多余的delaunay边去掉?急!

这是T形得平面散乱点,作出delaunay三角形后发现原本凹的地方出现了多余的三角形,用什么方法可以去掉?请给出算法,给出相关文献也行!各位大侠帮帮忙!

回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

acmuser

银虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
小雨萌萌: 金币+1, 谢谢应助~ 2012-05-16 18:58:27
The control points of the boundary of the T-shape polygon also belong to the set of scattered points, right?
2楼2012-05-14 19:15:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

蜜雪兰瑭

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by acmuser at 2012-05-14 19:15:44:
The control points of the boundary of the T-shape polygon also belong to the set of scattered points, right?

是呀,散乱点在T形内部和边界上都有点
3楼2012-05-14 23:26:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acmuser

银虫 (小有名气)

★ ★
小雨萌萌: 金币+2, 3Q~ 2012-05-16 18:58:43
引用回帖:
3楼: Originally posted by 蜜雪兰瑭 at 2012-05-14 23:26:28:
是呀,散乱点在T形内部和边界上都有点

I assume you know how to judge whether or not certain point is inside the T-shape polygon.

I believe there are algorithm to make sure that all the boundary segments are edges of triangles, for example, Matlab DelaunayTri has such options.

Then, if these requirements are satisfied, you can just compute the midpoint of edges, if it is outside the T-shaped polygon, then remove the edge, also the corresponding triangle.
4楼2012-05-14 23:37:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

蜜雪兰瑭

铜虫 (初入文坛)

引用回帖:
4楼: Originally posted by acmuser at 2012-05-14 23:37:56:
I assume you know how to judge whether or not certain point is inside the T-shape polygon.

I believe there are algorithm to make sure that all the boundary segments are edges of triangles, for  ...

关键是找不到方法判断内外,来去掉外部的,有什么方法吗?
5楼2012-05-15 11:40:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acmuser

银虫 (小有名气)

引用回帖:
5楼: Originally posted by 蜜雪兰瑭 at 2012-05-15 11:40:28:
关键是找不到方法判断内外,来去掉外部的,有什么方法吗?

do you know the T-shape region explicitly? for example, it is the union of two rectangles? or you only know those scattered points?
6楼2012-05-15 15:27:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

蜜雪兰瑭

铜虫 (初入文坛)

引用回帖:
6楼: Originally posted by acmuser at 2012-05-15 15:27:53:
do you know the T-shape region explicitly? for example, it is the union of two rectangles? or you only know those scattered points?

现在只有一堆散乱点的二维坐标数据,我用delaunay划分出三角网格了,现在在凹的地方存在多余delaunay三角形,怎么样把它去掉。。。。。
7楼2012-05-15 22:12:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

蜜雪兰瑭

铜虫 (初入文坛)

引用回帖:
6楼: Originally posted by acmuser at 2012-05-15 15:27:53:
do you know the T-shape region explicitly? for example, it is the union of two rectangles? or you only know those scattered points?

你知道我说的散乱点是什么样子吧,就是在比较密集的,在这个T的区域上到处都是,当然这个T形区域是个粗体的T了,不是一横一竖的线
8楼2012-05-15 22:16:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acmuser

银虫 (小有名气)

★ ★
小雨萌萌: 金币+2, 3Q~ 2012-05-16 18:58:59
引用回帖:
8楼: Originally posted by 蜜雪兰瑭 at 2012-05-15 22:16:14:
你知道我说的散乱点是什么样子吧,就是在比较密集的,在这个T的区域上到处都是,当然这个T形区域是个粗体的T了,不是一横一竖的线

看来你不是explict的知道T形的边界,只是知道这些点的位置,那我觉得有一些多余的Delaunay三角形是难免的。有两种可能的方法,1, 如果你确定知道T形的形状,那你可以做一些预处理,来估计这些点对应的T形的边界, 2, 如果假设你的点足够密集,那么你可以估计一个三角形面积的上界,可以避免比较大的多余三角形。
9楼2012-05-15 22:39:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chujian77

铁虫 (初入文坛)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
小雨萌萌: 金币+2, 3Q~ 2012-05-16 18:59:10
我的看法是:
1.给出包含T型区域的三个虚拟点(坐标够大即可),加入到T型区域点集中,进行剖分。
2.找出T型边界与你的剖分网的交点,作为新点加入到原来的点集,重新再做一次Delaunay剖分,基本上可以保证T型区域的边界出现在剖分中。
3.剔除与三个虚拟点相连接的三角形,基本就可以了。
自信人生二百年,会当水击三千里
10楼2012-05-15 22:41:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 蜜雪兰瑭 的主题更新
信息提示
请填处理意见