作者noodleT (面T)
看板Prob_Solve
标题[问题] 三维空间物体与圆柱碰撞测试
时间Sat Jun 6 23:36:53 2015
目前我的物体是 stl 的三角网格档,与空间中有限长度的圆柱要做碰撞测试。
目前的做法是将 stl 档的三角形再划分成 n 个小三角形,使得这些顶点的密度满足:
若圆柱跟物体碰撞,则圆柱必定也至少跟一个定点碰撞。
然後利用 kd tree 将顶点排序,
最後在圆柱中心线上取 m 个点,做 kd tree 的最邻演算。
在圆柱上取 m 个点是没什麽问题,但将 stl 再分割成小三角型就出现了分割效率不佳的
问题
我目前分割stl的方法是:
若三角形边长大於阀值
则将该边一分为二,并递回
总之还是嫌整体效率不佳,
又要分割三角形,多出一堆顶点。
想请问有没有其他更合适的演算法?
谢谢
--
Sent from my Android
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.10.150.99
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Prob_Solve/M.1433605016.A.890.html
1F:→ longlongint: 线段跟圆柱的距离? 06/09 02:36
不是圆柱中心线跟圆柱的距离,是圆柱中心线跟三角面的距离,
最终目的是想知道圆柱跟三角面是否发生碰撞
2F:→ longlongint: bounding box, BVH tree 06/09 02:39
包围体是每个三角面建立一个包围体吗?
还是说可以一组 N 个三角面建立一个包围体?
※ 编辑: noodleT (39.14.137.41), 06/15/2015 17:33:21
3F:→ longlongint: 看你要怎麽切罗 然後三角面撞圆柱在边角我还在想 06/19 13:52
4F:→ longlongint: 若撞到bounding box 则 往下检查小bounding box 06/19 13:52
5F:→ longlongint: 到分割结束之後再跑精细的检查 06/19 13:52
6F:→ longlongint: 如果把圆柱转成mesh用AABB包起来就简单了XD 06/19 13:58
7F:→ longlongint: 用圆柱公式啥的 变成要参数化 看解的space有没有交 06/19 14:05
8F:→ longlongint: 集(无限圆柱&圆柱上下界) 06/19 14:05
10F:→ longlongint: ml 06/19 15:37
11F:→ longlongint: 我没空帮你看 所以用猜的 给你资料自己看吧 06/19 15:38