iCAx开思工具箱

标题: 一种快速收敛的自适应算法求解最小包围盒(OBB)外挂 [打印本页]

作者: 三寒食    时间: 2012-7-26 23:04
标题: 一种快速收敛的自适应算法求解最小包围盒(OBB)外挂
最小包围盒沿坐标轴向包围盒AABB(Axis-Aligned Bounding Boxes)算法简单,适用场合有限。沿任意方向的包围盒OBB(Oriented Bounding Boxes)适用面广,但一般算法效率不高,一方面是模型本身复杂导致,另一方面是精度越高、循环叠代次数沿指数增加而导致。
话说论坛似乎不如从前热闹,楼主经过几天研究,提出了一种求解OBB问题的自适应算法,并用UG NX二次开发Grip语言实现了此算法,经过测试,运算效率和精度都十分理想。特开贴立说,以活跃论坛气氛,欢迎下载,欢迎提建议(此程序仅供学习参考之用,三寒食 2012.7.26)。


作者: 三寒食    时间: 2012-7-26 23:05
Control + G 操作步骤
作者: zjs    时间: 2012-7-28 08:30
还认为你是要算法研究。发个grx怎样研究?找这个盒子大小UG的功能已有了。
但还是要顶你,也算是真正搞开发的同道中人。
作者: 三寒食    时间: 2012-7-28 16:53
zjs 发表于 2012-7-28 08:30
还认为你是要算法研究。发个grx怎样研究?找这个盒子大小UG的功能已有了。
但还是要顶你,也算是真正搞开发 ...

任意方向最小包围盒OBB,UG貌似没这个功能或函数吧,如果有,请问是哪个?
作者: zjs    时间: 2012-7-28 22:07
提供一个思路,以不同的旋转矩阵求最小体积,然后比较结果。
作者: 三寒食    时间: 2012-7-30 19:56
zjs 发表于 2012-7-28 22:07
提供一个思路,以不同的旋转矩阵求最小体积,然后比较结果。

三维空间有三个角度自由度,分别绕XYZ轴,假如以1度为步长(精度),总循环次数是180 X 180 X 180 = 5832000。假如以0.1度为步长(精度),循环次数是1800 X 1800 X 1800=5832000000。

这个问题看似容易,实际不简单,随便在CNKI或Docin或万方数据库里搜索一下关键字"OBB"或"包围盒"就知道了。穷举法虽暴力,但效率低下,算法才是王道。
作者: zjs    时间: 2012-8-1 20:32
思想是一样的。 也就是你说的算法。

认为你的算法采用固定步长的方式收敛效率很低。 可以采取动态步长加快收敛速度。
作者: cam-yp    时间: 2012-8-24 11:01
试了一下大小为54.000x55.000x12.000的长方体

得到的结果:12.333 x 54.039 x 55.039=36681.970

这种误差用于实际工作生产是不可取的,研究玩玩还可以
作者: yanjin    时间: 2012-8-31 18:04
对于倾斜零件可以不
作者: liujian1989    时间: 2012-9-4 10:16
运行后内存报错。。。坑。。。
作者: icaxhjy88    时间: 2013-6-9 15:53
任意方向的最小包容盒,  好

我留个标志,研究一下。
作者: aoci72681    时间: 2013-6-9 22:01
雖然不太懂的意思,不過諸位前輩真的很強




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3