我有一个由两点定义的胶囊射线由公式定义:A
。现在我需要得到所有(0-2)交点的B
。
一种可能的解决方案是计算与r
和X = O + D*t
处的球体以及与圆柱体的交点的交点。然后因为胶囊是凸的,所以我只取所有结果的最小值和最大值t
值。
但由于wikipedia状态,胶囊交叉试验应比圆柱体交叉试验更简单有人能告诉我一个有效的胶囊射线交叉算法吗?
最佳答案
要测试胶囊是否与射线相交,只需测试线段相交点A
和B
与射线之间的距离如果距离小于半径r
,则有两个相交点,如果相等,则有一个接触点。
要计算交集,请按照您所描述的进行。
关于algorithm - 射线胶囊相交,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7036663/