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

职位:技术总监 1、精通c++(linux平台、vc++Mfc、qt)、java、php、unity3d,略懂python 2、用c++开发过嵌入式产品,用c++开发过大型银行运维产品 3、用java开发大型银行运维产品,学校教务系统 4、用php开发进销存系统(在销售中),用php开发淘宝小程序 5、用unity3d开发衣柜设计软件,在运营中

文章分类

全部博文(85)

分类: C#/.net

2020-02-04 08:12:39

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