2011-10-10 36 views

回答

2

GetFlattenedPathGeometry爲您提供了一個多邊形,所以基本上您必須考慮循環所有點並計算到您的點的最小距離。 如果您可以對幾何形狀或點進行任何假設,則可以加速搜索。

例如,如果路徑非常長,可以通過將形狀與以您的點爲中心的圓/平方相交來加速。這限制了要測試的形狀的點數,但要小心交叉點方法非常昂貴。你必須用秒錶來衡量表演,以瞭解你的情況更好。

+0

這就是我現在正在做的,它只是不是很有效,但我想如果.NET公開了一種方法來做到這一點,他們只會使用類似的方法。最好的辦法是讓我的查詢儘可能高效。 –