按比例缩放多边形,使边缘对齐。

9 浏览
0 Comments

按比例缩放多边形,使边缘对齐。

我正在使用JavaScript画布开展一个项目,需要将光标捕捉到离多边形一定距离的位置。我已经可以捕捉到多边形本身,但我需要让光标离多边形更远。

据我所知,解决这个问题的最佳方法是对多边形进行缩放并捕捉。但是,当我缩放多边形时,旧多边形的边缘与新多边形的边缘之间的距离并不总是相等。

这是问题的一个示例:

enter image description here

enter image description here

编辑:灰色表示原始多边形,红色表示我通过正常缩放得到的结果,绿色表示我想要实现的效果。

我已经尝试过将多边形平移到原点,并乘以一个缩放因子,但似乎无法将每条边缩放一个特定距离。

0
0 Comments

问题的原因:用户想要找到一个可以在Javascript中进行多边形偏移的算法或库。他们提到了一些现有的Java库,但没有找到适用于Javascript的库。

解决方法:用户被建议使用Clipper库进行多边形偏移。他们还被告知可以将Clipper库转换为Javascript,但这需要一些工作量。用户还询问了如何在Delphi中使用Clipper库进行偏移操作,以及如何找到测试多边形数据。

在这个的问题中,用户提到了一些现有的库和转换工具,以及他们遇到的问题和需求。尽管没有提供具体的代码示例,但讨论的内容涵盖了用户对多边形偏移的需求以及他们在寻找解决方案时遇到的问题。

0
0 Comments

问题的出现原因:用户想要对多边形进行缩放,使得边缘对齐。

解决方法:使用Clipper库的JavaScript版本进行操作。可以使用该库来实现多边形的缩放。

解决方法的具体步骤:

1. 首先,需要使用Clipper库的JavaScript版本。可以从https://sourceforge.net/projects/jsclipper/下载clipper.js文件。

2. 然后,可以使用Clipper库提供的方法对多边形进行缩放。可以参考LIVE DEMO中的实例来了解如何使用Clipper库进行缩放操作。

3. 如果需要,也可以使用Clipper库来实现多边形的反向缩放(即缩小多边形)。

下面是一个使用Clipper库进行多边形缩放的示例图像:

enter image description here

另外,Clipper库还提供了对多边形进行偏移的功能。可以参考Full code example来了解如何使用Clipper库在HTML5画布上绘制偏移后的多边形。

下面是一个使用Clipper库进行多边形偏移的示例图像:

Offsetting polygons

0
0 Comments

从这段内容中可以得出以下信息:

问题的出现原因:

- 作者制作了一个jsFiddle(在线代码编辑器)来针对给定的多边形计算一个外部多边形,以满足需求。

- 作者在一个pdf文件中提供了相关的数学原理。

解决方法:

- 作者提供了一个名为"straight_skeleton"的函数,用于计算给定多边形的外部多边形。

- 作者提供了一个名为"draw"的函数,用于在画布上绘制多边形。

- 作者使用了一个数组来存储给定多边形的点对象。

- 作者使用了一个"spacing"变量来表示多边形之间的距离。

此外,文章中还提到作者根据Angus Johnson的评论制作了一些其他的jsFiddle,以展示他提出的问题。作者也提到他对问题进行了更深入的思考,并期望davey555能够对这些条件是否适用于他的应用程序进行评论。

0