查看: 2616|回复: 8

用Delaunay三角网怎么怎么生成凹多边形

[复制链接]

该用户从未签到

发表于 2011-3-31 23:04:01 | 显示全部楼层 |阅读模式
本帖最后由 wyh123 于 2011-3-31 23:07 编辑

我写了一个算法找到了凹多边形内部的点,当时生成三角网的时候,还是生成了凸多边形的,怎么才能生成凹的呢?我想是分块做,但是如果凹多边形很不规则,也不容易分块啊,有没有什么好办法呢?
这是点:(点全在凹多边形内部)
图片1.jpg
这是生成的三角网(红箭头部分不想要)
图片2.jpg

该用户从未签到

发表于 2011-4-1 12:50:33 | 显示全部楼层
您没有说明自己是如何生成三角网的,我判断不了什么

该用户从未签到

 楼主| 发表于 2011-4-6 11:11:14 | 显示全部楼层
回复 2# array


    osg::ref_ptr<osg::Vec3Array>coords=new osg::Vec3Array();
    然后我把判断出来的凹多边形的坐标放在这个coords里面。
    然后:
    osg::ref_ptr<osgUtil:elaunayTriangulator>dt=new osgUtil::DelaunayTriangulator(coords.get());
    dt->triangulate();

该用户从未签到

发表于 2011-4-7 08:28:16 | 显示全部楼层
我想您使用Tessellator应该是更好的方法

该用户从未签到

发表于 2011-4-7 10:43:39 | 显示全部楼层
了解下

该用户从未签到

 楼主| 发表于 2011-4-7 18:21:53 | 显示全部楼层
回复 4# array


    关于Tessellator,我不了解,有什么资料或者书学习一下吗?

该用户从未签到

发表于 2011-4-8 08:22:39 | 显示全部楼层
直接使用就可以了,不需要什么资料

该用户从未签到

发表于 2011-4-8 10:18:03 | 显示全部楼层
osgExample中和flysky的书中,似乎都有使用这个类的例子!

该用户从未签到

发表于 2011-4-9 21:42:04 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表