※ 引述《Freak1033 (金が信念! XD)》之銘言:
: 推 FRAXIS: f 好像會有幾個不可微點? 04/28 09:55
: 推 FRAXIS: http://goo.gl/xWSkN6 解法應該是這個 04/28 10:38
原文恕刪
約略瞄了一下這篇論文(先承認我沒看細節,可能有所誤會)
我還是相信Freak1033的解法(以下簡稱原PO解法)是對的
論文中提到
For the case where the points are at the circumferences,
the problem has no analytical solutions.
並引用了一篇1990年的論文
“Finding the distance between two circles in three-dimensional space”
說明三維空間中兩個圓的最近距離沒有close form
於是提出了一個iterative的解法
首先,這個case是對應到原PO解法中的這個算式的else case
f(P) = if hypot(Px, Py) < 1, Pz
else, hypot(hypot(Px, Py)-1, Pz)
其中Px, Py, Pz都可化為這個形式
a*sin(x) + b*cos(x) + c
整個算式應該不會有不可微的點
由這個觀點,我找不出原PO解法在這個case中有錯誤的地方
另外,我懷疑論文中提到的iterative方法其實是不必要的
論文或許其實沒說錯:三維空間中給定兩個任意圓,沒有最短距離close form
但若假設其中一個圓的投影不在另一個圓上,就能直接求得解答
如果原PO解法被證實是正確的,直接分成「投影在圓上」及「投影不在圓上」就能輕鬆得到答案
而論文中iterative方法也會變成繞圈子去解決一個不必要的命題
其實這篇論文沒仔細看,1990年那篇也沒有免費下載來看
一點想法還請高手指教