※ 引述《FRAXIS (喔喔)》之铭言:
: 我被问过一个问题:在三维空间中有两个相同大小的圆盘位于不同位置
: (朝向也可能不同),求这两圆盘间的最短距离。除了暴力法我还真想
: 不出来怎么作..
最近也在面试,看到那道题目,试着想了一下解法:
给定两圆c1, c2
找出两圆各自所在的平面p1, p2
把两圆圆心连线得到L线段
将L投影到p1上,得到L1线段
L1的一端点是c1圆心,
1)另一端点如果在圆c1之内,那么此端点就设为a1;
2)另一端点如果在圆c1之外,那么则把a1定为L1和c1的交点
用同样方法,将L投影到p2上,得到L2线段,再找出a2
则a1, a2连线就是最短距离
灵感是从“平面上的两圆,要找最短距离,要找圆心连线和两圆的交点”而来的,
我也不太确定这是对的,大家觉得呢?
(虽然在这里讨论怪怪的,不过应该是可以的吧?)