首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用CGAL轻松检索两条相交多边形的相交线

如何使用CGAL轻松检索两条相交多边形的相交线(从第一个交点到最后一个交点)。看到图像的澄清,绿线是我想要的。...使用CGAL获取多边形相交线 Two intersecting polygons with intersection line 目前我使用下面的算法,在那里我得到的交集多边形,然后发现这是两个多边形的边界点...有人可以告诉我这是否是正确的方法,或者指出如何更好地做到这一点。 来源 2017-08-02 D.J. Klomp A 回答 2 将两个多边形的线段插入到2D排列中。然后找到具有度4的顶点。...= arr.end_vertices(); ++it) { if (4 == it->degree()) ... } 可以避开“段”名单的建设,而是直接将多边形细分成使用迭代器适配器的安排...(这是纯粹的通用编程,与CGAL无关。)

39640

CGAL 计算两个凸多边形相交的面积

我正在使用 CGAL 计算两个凸多边形相交的面积。在对 this 的接受答案中发布了执行此操作的简短演示代码。问题。...但是,当我修改该代码以使用我感兴趣的多边形时,CGAL 从 CGAL::intersection() 例程的深处抛出运行时异常。...这是一个简短的示例代码,它是从上面链接的 SO 问题中复制粘贴的,除了它使用我自己的多边形并打印一些关于每个多边形的诊断信息以表明它们是凸面的并使用 CCW 绕组订单。...最佳答案 我可以重现此错误(在带有 clang++ 的 MacOS 上使用 CGAL 4.9)。据我了解,这种类型的未捕获异常不应该发生,换句话说,您发现了 CGAL 中的错误。...因此,请按照错误消息中的说明提交错误报告 –– 您没有发布的部分(或者可能因为版本不同而没有发布?)

41240
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    讲解python多边形裁剪

    讲解Python多边形裁剪在计算机图形学中,多边形裁剪是一个常用的技术,用于确定多边形与给定裁剪窗口之间的交集。...通过裁剪,我们可以剔除不在裁剪窗口范围内的部分,从而减少图形处理的计算量,并加速渲染过程。 Python提供了各种库和算法来实现多边形裁剪。...在本篇文章中,我们将使用shapely库来进行多边形的裁剪操作。shapely是一个Python库,提供了一些用于处理几何图形数据的功能。安装和导入shapely库首先,我们需要安装shapely库。...这个示例只是对多边形裁剪的基本应用进行了简单演示,实际应用中可能包含更复杂的过程和运算,并结合其他地理数据进行更高级的空间分析。...几何操作:shapely库支持一系列常用的几何运算,包括求交集、并集、差集、缓冲区、距离计算和相交判断等。这些几何操作可以用于解决空间分析、地理可视化和地图数据处理等问题。

    47510

    Python之turtle模块-正多边形

    我们今天来画正多边形。顾名思义就是边数大于等于三条,并且每条边的长度都一样。美国的五角大楼就是正五边形。 ? 八卦阵是一个正八边形 ?...初中老师又浮现在我的脑海里~,当初讲的那些定义又浮现在眼前。我用python画了个示意图,然后用画图板(大神都用ps,我比较接地气)写了个注释,大家就将就着看看吧! ?...中心角 任何一个正多边形,都可作一个外接圆。多边形的中心就是所作外接圆的圆心,所以每条边的中心角,实际上就是这条边所对的弧的圆心角,因此这个角就是360度÷边数。...外角 与正多边形的内角相对应的是外角,多边形的外角就是将其中一条边延长并与另一条边相夹的那个角。...import turtle # 定义画多边形的函数,有三个参数 # t是turtle对象,n是多边形的边数,length是边的长度 def polygon(t, n, length): #

    2K40

    给定一个边与边可能相交的多边形,求它的轮廓线

    最近遇到一个需求,给定一个多边形(边与边可能相交),求这个多边形的轮廓线。 需要注意的是,轮廓线多边形内不能有空洞,使用的不是常见的非零绕数规则(nonzero)以及奇偶规则(odd-even)。...整体思路 计算多边形各边的交点,求出一个有多边形点和交点信息的邻接表。 从最下方的点开始,找出与其相邻节点中夹角最小的点保存到路径中,不断重复这个行为,直到点又回到起点位置。...// [某条线]: [到线起点的距离, 在 points 中的索引值] // 如:{ '2-3', [[0, 2], [43, 5], [92, 3]] } const map = new Map中。 接着求交点 4 在 1-2 中距离起点(即点 1)的距离,基于它判断落在 1-2 中哪两个点之间。...代码实现: // [某条线]: [到线起点的距离, 在 points 中的索引值] // 如:{ '2-3', [[0, 2], [43, 5], [92, 3]] } const map = new

    16510

    php判断坐标是否在指定的多边形中

    如何判断一个坐标点是否在一个多边形中,具体的应用场景就是,外卖派送,用户提供的坐标是否是在外卖的派送范围之内。...用户的坐标可以通过手机设备获取到,派送范围就是通过在地图上,进行多边形的绘制,获取多个坐标点连接起来的配送范围。下面来看看代码上是如何简单判断的。...$a = new Coordinate(39.916527, 116.397128); $b = new Coordinate(39.901305, 116.397128); //判断是否在执行的多边形中...if ($geo->contains($a)) { echo "a点在多边形的范围内"; } else { echo "a点不在多边形的范围内"; } echo "";...if ($geo->contains($b)) { echo "b点在多边形的范围内"; } else { echo "b点不在多边形的范围内"; } 结果: ?

    1.5K20

    python与分形0011 - 【教程】带辐条的多边形

    上一篇的教程中说到了如何画一条旋转的带色的直线,其中已经把如何用turtle绘图所需的全部元素讲的比较细致了,也就是:配置,基本图形,色彩和动画 今天这篇,我们再延伸下直线,给一个教程,讲一下如何用turtle...画一个带辐条的多边形,它的基本形状是这样的: 五边形 六边形 360边形 看起来是不是还蛮酷。...注意多边形的顶点都同中心点相连接,也就是有辐条。 下面请开始表演,以画五边形为例。 首先,我们从数学和编程的角度把复杂的问题进行分解。 五边形是由五个同心的三角形组成的,中心角是72°。...对于B方法,编程的思路就比较简单: 从(0,0)出发,走length长度,结束点记为(x,y) 从(0,0)出发,在1基础上转动72°(五边形),走length长度 走到(x,y)点,结束 我们可以看到这个流程中...turtle.pendown() turtle.seth(72) turtle.fd(length) turtle.goto(x,y) turtle.penup() 实际上,如果到了这一步,画一个多边形所需要的的基础知识

    63310

    如何利用python的turtle模块绘制各种多边形

    本实例中要求编写一个python程序,掌握对turtle模块中绘制图形方法的使用 我们可以查阅到官方文档中的turtle中的文档,阅读相应的英文。...实例:绘制出一个多边形 import turtle import time i = 0 while(i<12): turtle.forward(100) turtle.right(200...) time.sleep(2) i+=1 代码运行的成果: 总结: 1.turtle.forward(100)沿着箭头朝着的方向,向前移动100像素的距离,整个过程中箭头的朝向都没有发生变化...3.forward方法和right()方法时turtle模块里面的一个很常用的两个方法,我们几乎可以利用它来绘制出所有的图形 就可以绘制出想要的各种多边形了,如果你还对机器学习,深度学习,数据结构和算法都很喜欢的话...,可以订阅我的专栏,最后点个关注再走呗

    69710

    CGAL:线段和多边形之间的交点?

    CGAL:线段和多边形之间的交点? [英] CGAL: Intersection between a segment and a polygon?...的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我有一组多边形,我想测试它与线段之间的交点。 我检查了手册,但找不到匹配的功能。...点,线,线段,三角形,平面之间的交点确实存在。 多边形之间的交点也在那里。 我的问题是: 有这样的功能吗? 如果没有,这是否意味着我需要将多边形分解为多个部分,并在这些部分之间进行相交?...(我不愿意这样做的原因是,我认为CGAL实际上可能会使用这种方式在多边形之间进行相交。为什么没有这样的函数将线与多边形相交?)或者还有其他更好的方法吗?...推荐答案 最简单的方法是创建一个Polygon_set_2对象,该对象可能包含几个多边形。要使用此集测试外部多边形的交集,您只需应用do_intersect方法。

    51930

    技巧 | OpenCV中如何绘制与填充多边形

    很多人都问过我这个问题,OpenCV中是怎么绘制与填充多边形的,特别是填充多边形的。因为根据OpenCV中的多边形绘制函数,他们发现这是一个无解的问题。...其实我在2017底做一个项目的时候当时会对得到的一个多边形边缘轮廓进行填充,我就发现OpenCV中的多边形绘制函数无法填充,但是其实换个函数就会顺利搞定,只是大家被OpenCV官方的教程误导思维定势,没有想到而已...下面我们就来详细说一下,OpenCV中的多边形绘制与填充问题。...填充多边形 OpenCV中可以完成多边形填充的函数有两个,第一个填充多边形的函数为: void cv::fillPoly( InputOutputArray img,...就这样一个函数就可以轻松搞定多边形的填充与绘制。

    3.6K20

    geotools中泰森多边形的生成

    泰森多边形 1、定义 泰森多边形又叫冯洛诺伊图(Voronoi diagram),得名于Georgy Voronoi,是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。...对离散点和形成的三角形编号,记录每个三角形是由哪三个离散点构成的。 2)找出与每个离散点相邻的所有三角形的编号,并记录下来。这只要在已构建的三角网中找出具有一个相同顶点的所有三角形即可。...对于三角网边缘的泰森多边形,可作垂直平分线与图廓相交,与图廓一起构成泰森多边形。...3、特征 1)每个泰森多边形内仅含有一个离散点数据; 2)泰森多边形内的点到相应离散点的距离最近; 3)位于泰森多边形边上的点到其两边的离散点的距离相等。...geotools中的生成 1、创建测试点 ?

    2.1K20

    3D图形渲染技术

    ---- 如何用2D平面展现3D图形 2D图形 在一个平面中有了两个点,知道了他们的XY坐标,就可以把它们链接起来画成一条线 通过控制A和B点的XY坐标可以控制一条线 在3D图像中,点的坐标多了一个...透视投射 透视投影可以产生近大远小的效果,就和人类观察世界的方式类似 在真实的3D世界中,平行线段会在远处收敛与一点 为什么复杂图形的绘制要使用三角形 在3D图形学中,我们叫三角形“多边形” 一堆多边形的集合叫做...图像需要填充 步骤: 先铺上一层像素网络 扫描线算法,先会去读取多边形的三个点,找出最大和最小的Y值,然后只在这两个点之间进行工作 然后算法从上往下,一次处理一行,计算每一行和多边形相交的两个点...扫描线算法会填满两个相交点之间的像素 因为是三角形,如果相交一条边,必然相交另外一条边 抗锯齿 这样的三角形比较丑,因为边缘满是锯齿 一种减轻锯齿的方法叫做抗锯齿 抗锯齿:与其每一个像素都涂成一样的像素...多边形在内存中移来移去,访问顺序会不断变化,所以哪一个花在上面,往往是不可预测的 3D游戏的一个优化:背面剔除 三角形有两面,正面和背面。

    1.8K20
    领券