2010-05-29 42 views
4

平行曲線有一個衆所周知的算法計算「平行圖」?平行圖的意思是和平行曲線相同,也就是所謂的「偏移曲線」,但用曲線代替曲線。在最好的情況下,它將允許每個段(連接)的可變距離。像算法圖

鑑於以下圖片,其中用紅色段連接的節點的座標是已知的,以及所希望的距離(厚度)

offset graph http://3.bp.blogspot.com/_MFJaWUFRFCk/TAEFKmfdGyI/AAAAAAAACXA/vTOBQLX4T0s/s320/screenshot2.png

我怎樣才能計算黑點所概述的多邊形?

+0

你在哪裏得到你的頭像?熊貓是真棒.. – 2010-05-29 12:13:43

+0

@Xavier:谷歌的「熊貓班克西」 – 2010-05-29 12:16:42

+0

@Tomer:得分!謝謝。 – 2010-05-29 12:18:15

回答

2

時退房Straight Seleton策略。有一個示例實現,here。算法的複雜性記錄在here

此外,還有一些其他的方法記錄在這裏,A Survey of Polygon Offsetting Strategies

有一個topic at GameDev爲好。

編輯:CGAL也有自V3.3,see the API在這個實現。作者有nice presented a test file。 (不是一個實現。)但是,您可以查看源代碼。

+0

作爲一個腳註,最直截了當的方法是解出兩個距離的直線方程;你將不得不從一組4個解決方案中挑選一個解決方案,通過檢查點在哪一側。 – 2010-05-29 12:24:38