Chinaunix首页 | 论坛 | 博客
  • 博客访问: 474721
  • 博文数量: 82
  • 博客积分: 1797
  • 博客等级: 上尉
  • 技术积分: 1206
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-02 08:53
个人简介

拥有的产品 1、银行运维审计系统(堡垒机),c++的ssh、rdp协议,java管理后台任意修改。 2、3d板式家具设计生产系统,unity 3d开发,掌握核心算法,任意异形算法,生产省料排版算法 3、进销存ERP系统,php开发,代码可任意修改。 4、任务管理系统(支持面板功能),php开发 5、oa系统,java开发

文章分类

全部博文(82)

分类: C#/.net

2020-02-04 08:12:39

    想在木板上任意的挖洞,做到任意的异形。看到这个功能,刚开始感觉挺简单,分割成三角网格。后来做的时候才发现,对于切直角,扣圆洞这些都好做,但异形的形状任意变化,位置变化,三角网格是无法确定的,查找资料,发现这个对应的数学模型叫三角剖分,实现的算法也很多,于是看了很多论文,明白了原理。由原理到算法也挺麻烦,主要是项目进度不能拖,想三四天做出来。这么短的时间做出来,肯定不能自己写算法,找一些现成的算法,进行改造是最快的。
    刚开始找了个c++三角剖分,测试的过程中发现效果不理想,然后是js写的算法,测试过程中也不理想,最后找到了c#写的三角剖分算法,测试效果虽然也不理想,但是算法写的不错,一看就是bowyer-watson算法。
    上面找到的代码,缺点都是只是对没有洞的进行三角剖分,而我想要做的带洞的三角剖分。通过比较找到的代码,觉得在最后一个c#代码上修改,修改的思路是,自己写了一个闭合曲线判断算法,找到最外边的闭合曲线,逆时针顺序存储点集,内部闭合曲线顺时针顺序存储点集,然后在最后生成的三角网格,去掉内部闭合曲线的三角形。
     最终做到的效果:
        
阅读(82) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~