缓冲折线以创建多边形的有效算法?

我需要编写一些代码来缓冲一行来创建一个多边形,如下所示。

http://www.sli.unimelb.edu.au/gisweb/BuffersModule/Buff_line.htm

从遵循概述的步骤开始,我可以围绕简单的线条创建多边形形状,这些线条不会交叉自己或者曲线太紧,但是因为我试图缓冲的线条是波浪形的飓风轨道,所以它真的不够好。

我知道SQL Server 2008中有一个function可以做到这一点,但我担心目前还不行。

任何人都可以指向我可以遵循的更完整算法的方向,或任何可以帮助我解决这个问题的背景信息?

虽然这在GIS中被称为缓冲 ,但显然在算法上工作的数学家称之为Minkowski和 。 谷歌搜索由算法专家史蒂文斯基纳发现此页面链接到几个算法实现和一些书籍。 希望这可以帮助!

它现在(3月9日)链接到的算法实现之一是CGAL ,一个开源C库。