梦想天空

.NET/.NET CF/Mobile Phones HP1937,Siemens M55,Siemens CXV65,Nokia 6021 PDU,SMS,Data Cabel,IrDA,Bluetooth and so on.
数据加载中……
GTS连续布尔运算失败~
一直在关注和解决的问题是关于实体的布尔运算的问题,这是几何造型上面的一个大问题,也是切削加工仿真等等的核心。虽然有一些技巧性的方法能够模拟“布尔运算”,但是其效果都不好,最直接的还是进行真正的布尔运算,然而这并不是一件很容易的事情。

前段时间也不断的在网络上搜索开源的3D布尔运算库,当时觉得比较满意的是GTS(GNU Triangulated Surface Library),花了很长时间解决了VS2005下面的编译问题,然后又花了一些时间来理解“古怪”的C的“面向对象”。

昨天将GTS和OpenSceneGraph进行了结合,可以在两种格式中相互转换,GTS负责布尔运算,OpenSceneGraph进行显示。昨天初步实验结果还算满意,各种布尔运算都很正常。

且看下图,展示的是一个圆柱形的刀具和一个长方体进行布尔运算的结果。

下一步工作就是让这些布尔操作能够连续进行,以便可以仿真道具在模型上面进行切削的过程。然而,GTS库终于在这时候“崩溃”了。布尔运算会产生大量的细小的三角形,然而当刀具移动一个小距离的时候,GTS无法处理很多细小三角形之间的布尔运算问题,导致了GTS内的断言失败!后来在GTS的邮件列表里面查看,然而查询到的依然是N多人在问这种连续布尔运算的问题,没有一个好的解决方案。我想要解决的话,至少要对布尔运算以后的网格进行简化。当然,这是后话了,简化一个网页也不是那么容易,最近,GTS也无法再进行应用。

转而另外一些库,CGAL也支持3D布尔运算,但是其格式感觉比较古怪,还没有搞明白怎么回事,其代码的许可证也要要求开发人员公开代码。当然,作为学生这个可以暂时不考虑,自己用用问题不大。OpenCASCADE集大成者,什么功能都有,就是,太太太复杂了~~~还有最近找到的ACIS,我申请了大学推广计划的许可证,还不知道什么时候能够审批下来,我想这个估计可以满足。另外还有很好用的sgCore,免费版本不支持任意网格的布尔运算,比较讨厌,如果实在不行的话就只有用这个库了,还得测试能不能进行多次布尔运算~

加油,任重道远……

posted on 2007-10-08 17:03 Dream world 梦想天空 阅读(364) 评论(2)  编辑 收藏

评论

#1楼 [楼主] 2007-10-08 21:33 Dream world 梦想天空      

另:各位有知道还有什么3D实体布尔运算库么?请给小弟透露一下,谢谢!
    回复  引用  查看    

#2楼  2007-10-12 23:00 CoL [未注册用户]

加油,任重道远……

    回复  引用  查看    

#3楼  2007-10-25 18:04 半山旅客      

路过。。。学习
    回复  引用  查看    

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
向地震灾区捐赠爱心