我有一個QPainterPath
可以容納任何序列的行和/或三次貝塞爾曲線。現在,我有一個QPoint
,我需要計算QPainterPath
和點之間的最短距離。由於路徑本身不會比存儲元素的順序更多,因此我將它們添加到路徑中,但它本身不提供此類功能。我唯一的想法是使用QPainterPath::toFillPolygon()
構造一個多邊形,但是這有時會返回一個等於路徑的多邊形,有時會返回一個空的多邊形。此外,QPolygonF
對象只是一個點的列表,其中一些連接線,其中一些沒有連接在原始路徑,但我無法找出它們中哪些連接,哪些不連接。QPainterPath和QPoint之間的最短距離
是否有任何(簡單)解決方案來計算QPainterPath
(最好不轉換爲多邊形)和QPoint
之間的最短距離?
重複問題在http://www.qtcentre.org/threads/31451-How-to-find-the-nearest-point-on-a-QPainterPath,但沒有一個解決方案(簡單或其他)。 – eclarkso
@eclarkso:引用答案並在此處作出答案。 –
@DieterLücking由於eclarkso寫道,在這些問題中沒有答案(至少他鏈接的一個,我發現使用搜索引擎) – msrd0