尋找最接近的三頂點

牛小姐問了個很好的問題:「如何在一群點Pn中,找到最接近獨立點A的三個點?」

第一種方法,Grasshopper 有個 Closest Point 元件,可以用來找最接近的一點,找到點後,將該點從點群Pn中移除,再重複上述步驟兩次,就可以找到最接近的三個點。但是這顯然是效率不高的土方法,要找N個點就要重複N次,十分累贅。而且,Grasshopper 在 List 操作上還欠缺 Delete Item 這種元件,移除單一 item 還得自己寫 script。因為這個方法太過繁瑣,就不舉例了(我懶惰)。

第二種方法比較簡潔,基本上只要能算出點距,將之排序,依序取出前三點,問題就解決了。作法如下:


只要修改 Interval 就可以任意取出想要的點,很好用。

留言