线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
collision_line()的意外行为
# 1
我遇到了Collision_Line()的一些奇怪行为,所以我创建了一个测试工作站来进行故障排除。

当在附加的工作站中进行测试时,我希望在对象和从[0,0,0]到[0,0,100]的线之间发生碰撞。但是,运行下面的代码表明没有发生碰撞。

代码:
从robodk导入*

RDK = robolink.Robolink()

obj = RDK.Item('my_obj')

RDK.Render(真正的)
打印(“测试Collision_Line()”)。
print(“\趋势:真”)
print("\tObject in the way")
[相撞,物品,pt] = RDK。Collision_Line([0,0,0], [0,0,100])
print("\ result:相撞=" + str(相撞)+ "\n")


这是怎么回事?


附加文件
.rdk collision_line_test_001.rdk(大小:1.47 KB /下载:12022世界杯国家队名单8)
# 2
说得好,这是一个边缘情况因为你的直线正好在穿过两个三角形的边缘上。

例如,如果你只是沿着一个坐标(例如,沿着X)移动起点仅0.001 mm,它似乎工作得很好:
代码:
[相撞,物品,pt] = RDK。Collision_Line([1e-3, 0,0], [0,0,100])
我们现在没有一个快速的解决方案,但我们会尽量调整公差来防止这个问题。
# 3
谢谢,艾伯特。伟大的工作。




浏览此主题的用户:
1客人(年代)