问题标签 [clipperlib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
736 浏览

clipperlib - 多边形命中测试算法中的点

我需要测试一个点是否击中带有孔和岛的多边形。我想了解我应该如何做到这一点。这没有记录,我找不到任何解释或示例。

我所做的是计算+1每个外部多边形命中和-1每个内部多边形命中。结果总和为:

  • > 0:命中;
  • <= 0:未命中(在洞外或洞内)。

该类根据绕组数HitData分隔路径orientation,以避免不必要的重新计算. Clipper.PointInPolygon()应用于每条路径,总和很容易计算。

但有两个主要缺点:

  1. 我必须Clipper.PointInPolygon()申请每条 路径
  2. 我无法利用PolyTree.

有使用 Clipper ( @angus-johnson ?)亲身体验的人可以解决这个困惑吗?

同样,我的问题是:我应该如何实现这个?我是否在重新发明轮子,而 Clipper 库中有现成的实际解决方案?

旁注:PolyTree仍然需要测试每条 路径以确定PolyNode点所在的位置。没有Clipper.PointInPolyTree()方法,因此,AFAIKPolyTree没有帮助。

分隔外多边形和内多边形的结构:

这是测试点的算法:

0 投票
1 回答
284 浏览

c# - 我的代码有什么问题:“用 C# 中的剪裁器库用线段(主题)剪裁多边形(椭圆点)”

1.我在 PictureBox 上画一个椭圆和一条线。2.执行查看内容
后,我将 Paths 对象计数为零 3.对象包含此查看内容clipper.PolyTreeToPaths(polytree_solution);
PolyTree

我知道我的问题与这些链接相似,但我无法解决问题,可能是我无法在代码中找到错误。 链接 1 链接2 链接3

1.我想要ct.Intersection线条(主题)和圆圈(剪辑),但这没有发生图片点击这里
2.PictureBox上的实际绘图点击这里

0 投票
1 回答
643 浏览

c++ - Intersection between line and Polygon using clipper library

I tried all the possibilities. But I am not getting an intersection point between line and polygon.

0 投票
1 回答
522 浏览

c++ - Is that possible to give floating values to the clipper Paths

Clipper takes integer input but I want to pass floating values without losing the precision. Clipper struct for Integer and double value.

#xA;

why it is not taking the double value as an input.

#xA;
0 投票
1 回答
297 浏览

c++ - ClipperLib 中 ptSubject 和 ptClip 的区别

当 polygon1 和 polygon2 包含相同的坐标 (10,10) (20,10) (20,20) (10,20)

多边形 1 和多边形 2 是闭环 ptSubject 和 ptClip 将如何执行?

0 投票
0 回答
132 浏览

c++ - Clipper 中的线到线交叉点

剪裁器是否有线到线的交叉点?

这是我尝试过的代码,我没有得到任何相交的点

0 投票
2 回答
104 浏览

c++ - 内存地址输出而不是值

程序输出是:std::vector(0x55f164f79450)而不是Childs[one]:我在这里做错了什么?

任何帮助,将不胜感激 !

在线示例: http ://www.angusj.com/delphi/clipper/documentation/Docs/Units/ClipperLib/Classes/PolyTree/_Body.htm

我的测试代码:

我的终端输出:

在线示例的输出:

0 投票
1 回答
454 浏览

geometry - 多边形之间的交集作为线剪

我正在尝试使用 Clipper C++ 库来实现一个is_bordering函数,如下所示。

我认为当测试两个边界多边形时ctIntersection,结果将包含边界边缘,但对我来说这返回错误。我对上面的期望如下,绿色代表solutions路径。

如何使此功能正常工作(使用 Clipper 库)?

0 投票
0 回答
115 浏览

c# - 找不到 ClipperOffset 类 C#

下午好,我为 C# - Clipper下载了 NuGet 包 Clipper 。在示例中,我看到使用了 ClipperOffset 类,例如,在本主题中: Example1Example2。但是我没有找到这个类。我只看到 Clipper、ClipperBase 类。我很困惑。如何找到 ClipperOffset 类?

0 投票
1 回答
93 浏览

clipperlib - Clipperlib中开放路径“方向”的含义是什么?

关于偏移操作的ClipperLib文档在先决条件中说:

  1. 闭合路径的方向必须一致,使得外部多边形共享相同的方向,并且任何孔都具有相反的方向(即非零填充)。开放路径必须以封闭的外部多边形为方向

(强调我的)

开放路径的方向定义是什么?