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

获取顶点之间的边(外部多边形)

获取顶点之间的边(外部多边形)是指在计算机图形学中,通过给定一组顶点坐标,计算出这些顶点之间的边的集合,形成一个外部多边形。外部多边形可以用于各种图形处理和计算任务,例如几何形状的绘制、碰撞检测、区域填充等。

在计算机图形学中,获取顶点之间的边通常通过以下步骤实现:

  1. 输入顶点坐标:首先需要输入一组顶点的坐标信息,这些顶点可以表示一个多边形的各个顶点。
  2. 计算边的集合:根据输入的顶点坐标,通过计算可以得到这些顶点之间的边的集合。边的计算可以使用几何学中的算法,例如扫描线算法、凸包算法等。
  3. 外部多边形生成:通过计算得到的边的集合,可以生成一个外部多边形。外部多边形可以用于后续的图形处理和计算任务。

获取顶点之间的边在计算机图形学和计算机视觉领域有广泛的应用。例如,在计算机游戏中,可以使用获取顶点之间的边来进行碰撞检测,判断游戏中的物体是否相交或碰撞。在计算机辅助设计(CAD)中,可以使用获取顶点之间的边来表示和绘制几何形状。在计算机视觉中,可以使用获取顶点之间的边来进行图像分割和区域填充等任务。

腾讯云提供了一系列与计算机图形学和图像处理相关的产品和服务,例如:

  1. 腾讯云图像处理(Image Processing):提供了丰富的图像处理功能,包括图像识别、图像分割、图像合成等。详情请参考:腾讯云图像处理
  2. 腾讯云游戏多媒体引擎(GME):提供了游戏音频处理和语音通信的解决方案,包括语音识别、语音合成、实时语音通信等。详情请参考:腾讯云游戏多媒体引擎
  3. 腾讯云视频处理(Video Processing):提供了视频处理和分析的功能,包括视频转码、视频剪辑、视频内容识别等。详情请参考:腾讯云视频处理

以上是腾讯云在计算机图形学和图像处理领域的一些产品和服务,可以根据具体需求选择适合的产品进行使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

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

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

    最近遇到一个需求,给定一个多边形可能相交),求这个多边形轮廓线。 需要注意是,轮廓线多边形内不能有空洞,使用不是常见非零绕数规则(nonzero)以及奇偶规则(odd-even)。...整体思路 计算多边形交点,求出一个有多边形点和交点信息邻接表。 从最下方点开始,找出与其相邻节点中夹角最小点保存到路径中,不断重复这个行为,直到点又回到起点位置。...更新邻接表 // ... } } } 为记录新交点在哪四个点之间,我们要维护一个表。...接着求交点 4 在 1-2 中距离起点(即点 1)距离,基于它判断落在 1-2 中哪两个点之间。结果是在点 1 和 点 2 之间,更新这两个点邻接点数组,将其中 1 和 2 替换为 5。...(1)取左下角点作为起点 找顶点(不包括交点)中最靠下点,如果有多个,取最靠左。这个点一定是轮廓多边形一个点。

    15510

    一种快速判断点在多边形算法

    由于业务需要, 我总结了一种快速判断点在多边形算法。 先说思路: 如图: 如果点在多边形内部,射线第一次穿越边界一定是穿出多边形。 如果点在多边形外部,射线第一次穿越边界一定是进入多边形。...我们可以归纳出: 当射线穿越多边形边界次数为偶数时,所有第偶数次(包括最后一次)穿越都是穿出,因此所有第奇数次(包括第一次)穿越为穿入,由此可推断点在多边形外部。...思路: 先求和点交点, 即起点y乘以斜率,得到交点x, 若x == X, X是参考点横坐标,则点在线上。 2....点和多边形顶点重合 思路:参考点与顶点重合,则直接是 x == X && y == Y ,其中x,y是顶点, X,Y是参考点, 则直接返回。 3....射线刚好经过一条 思路: 这个最简单, 直接判断 y == Y,可以理解成穿过了这条2个顶点, Y是参考点纵坐标, y是纵坐标。 问题都解决了,其实并不复杂。

    1.2K10

    GJK算法计算凸多边形之间距离

    但其实 GJK 算法发明出来初衷是计算凸多边形之间距离. 所以我们来学习一下这种算法....如果 shape1 或者 shape2 中有一个是曲,则最后 dc 和 da 之间距离差可能就不是 0 了....一般情况下,我们都会先做碰撞检测,然后再求他们之间距离 还有一个有趣问题是,我们已经能求出两个凸多边形距离了,那么你能更进一步求出产生这个距离那对点吗?...题目概述 给定两个不相交多边形,求其之间最近距离 时限 1000ms 64MB 输入 第一行正整数N,M,代表两个凸多边形顶点数,其后N行,每行两个浮点数x,y,描述多边形1一个点坐标,其后...GJK 算法不要求多边形输入顶点顺序——也就是哪怕你乱序输入都行.

    4.7K30

    基于Turf.js教你快速实现地理围栏合并拆分

    w=400&h=339&f=gif&s=4560436] 多边形合并是指将多个多边形合并为一个多边形,其前提条件是多边形之间有交叉区域或者共。...无法将其拼接在一起 切割线在多边形部分会形成外部多边形,如下图所示 [17212074aa9c98ce?...w=2612&h=1673&f=png&s=503178] 部分共多边形合并 已定位合并失败原因,但是没办法直接修改union源码,因为Turf在union实现上其实也使用了外部库martinez-polygon-clipping...这个转换过程我将其称为点注入,将多边形B顶点注入到多边形A中,即遍历B顶点进行判断,若其在A某个线段上且不是线段端头,就将其插入到A路径中。...A与B互相注入顶点之后,所有部分共边线都变成完全共了。 [172120c1f7606b33?

    3K30

    切呀切披萨——最优三角剖分

    例如图4-54是一个凸多边形,图4-55不是凸多边形,因为v1v3连线落在了多边形外部。 ? 凸多边形不相邻两个顶点连线称为凸多边形弦。 2.什么是凸多边形三角剖分?...如果我们给定凸多边形及定义在、弦上权值,即任意两点之间定义一个数值作为权值。如图4-57所示。 ? 三角形上权值之和是指三角形三条边上权值之和: ? ? 3.什么是凸多边形最优三角剖分?...算法设计 凸多边形最优三角剖分满足动态规划最优子结构性质,可以从自底向上逐渐推出整体最优。 首先确定合适数据结构。采用二维数组g[][]来记录各个顶点之间连接权值。...输入顶点数n,然后依次输入各个顶点之间连接权值存储在二维数组g[][]中,令n=n-1(顶点标号从v0开始),m[i][i]=0,s[i][i]=0,其中i= 1,2,3,...,n。...如果子问题1为空,即没有一个顶点,说明v0 vs[1][n]是一条,不是弦,不需输出,否则,输出该弦v0vs[1][n]; 如果子问题2为空,即没有一个顶点,说明vs[1][n] vn是一条,不是弦

    1.6K31

    计算几何算法概览

    在图(a)中,L和多边形顶点相交,这时候交点只能计算一个;在图(b)中,L和多边形顶点交点不应被计算;在图(c)和(d) 中,L和多边形一条重合,这条应该被忽略不计。...线段和多边形交于线段两端点并不会影响线段是否在多边形内;但是如果多边形某个顶点和线段相交,还必须判断两相邻交点之间线段是否包含于多边形内部(反例见图b)。   ...证明:     假设P1,P2之间含有不在多边形点,不妨设该点为Q,在P1, P'之间,因为多边形是闭合曲线,所以其内外部之间有界,而P1属于多边行内部,Q属于多边性外部,P'属于多边性内部,P1-...在实际编程中,没有必要计算所有的交点,首先应判断线段和多边形是否内交,倘若线段和多边形某条内交则线段一定在多边形外;如果线段和多边形每一条都不内交,则线段和多边形交点一定是线段端点或者多边形顶点...判断多边形是否在多边形内:   只要判断多边形每条是否都在多边形内即可。判断一个有m个顶点多边形是否在一个有n个顶点多边形内复杂度为O(m*n)。

    1.6K40

    光怪陆离世界之Delaunay三角剖分和Voronoi图

    为什么要是三角形,而不是四形、五形呢? 因为站在审美的角度,这种低多边形成像效果在现代设计中越来越被喜欢. 其中多边形大都是由三角形组成....: 一些图论概念 完全图是一个无向图,其中每对不同顶点之间都恰连有一条相连 可平面图是指 能将图在平面画出且不相交,缘起于电路板布线设计....只需要获取一个顶点,例如A,以A 为其中一个顶点所有相邻三角网格(按照顺时针或者逆时针获取),例如上图就是 ACF、AFG、AGH、AHB、ABC ,然后计算这些个三角形外心坐标,例如上图就是 a、...所以我们只需要遍历 V 中所有点集,对每个点执行一次上面的程序,得到一个Voronoi图 多边形即可. 这里顺便说一下如何从A顺时针或者逆时针获取相邻三角形....产生炒鸡三角形思路非常简单,一图胜千言 如上图所示,我们获取点集 x 坐标的范围 [xmin, xmax] 和 y 坐标的范围 [ymin, ymax], 则我们可以画出一个矩形,该矩形四个顶点分别是

    4K51

    丘比特箭(点是否在面内)- HDU 1756

    射线法:从点A出发作一条射线,计算这条射线与多边形P交点数量N,如果N为奇数,则点A在多边形P内,否则在P外部。...(红心点为A,右边有3个点,说明在多边形内部) 射线法原理:直线不可能从内部再次进入多边形,或从外部再次穿出多边形,即连续两次穿越边界情况必然成对(大概就是这个意思,不是严格证明)。...乘积几何意义: a·b>0 方向基本相同,夹角在0°到90°之间 a·b=0 正交,相互垂直 a·b<0 方向基本相反,夹角在90°到180°之间 子问题2:判断点A在线段P1P2...在每组测试第一行,包含一个正整数N(2<N<100),表示靶子顶点数。 接着N行按顺时针方向给出这N个顶点x和y坐标(0<x,y<1000)。 然后有一个正整数M,表示Lele射数目。...bool flag = false; for (int i = 1, j = point_count; i <= point_count; j = i++) { //多边形一条两个顶点

    94820

    CGAL功能大纲

    2D Movable Separability of Sets 集合可动可分性是处理物体移动集合问题,如平面上多边形,在考虑不同类型运动和不同分离定义时,如何避免物体之间碰撞是一个难题。...在这种CSG树上算法首先评估基本对象上属性,然后使用树结构推算结果。 B-rep描述实体边界所有低维特征入射结构和几何性质。表面的朝向决定了固体内部和外部。...这些点集可以由孤立顶点、孤立、没有孔凸面和开闭固体组成。因此,可以计算平移机器人配置空间(即使是在狭窄通道场景中)以及一些图形操作,例如滑翔操作,它计算沿多边形线移动多面体扫过点集。...迭代单元四舍五入是单元四舍五入一种修改,其中每个顶点与任何非关联之间距离至少为0.5像素。这个包支持这两种方法。...该框架特殊性在于它捕获了输入拓扑结构。对于每个骨架顶点,可以从输入网格中获取其位置和对应顶点。该代码是通用,适用于FaceListGraph概念任何模型。

    1.2K10

    MCFS:任意形状环境中多机器人路径规划

    我们建议感兴趣读者参考(Tomaszewski 2020)获取更详细分类信息。...原始CFS采用两阶段过程,将一组等距等高线转化为覆盖输入多边形工作空间闭合路径。它利用图结构,其中顶点代表单个等高线,连接具有相邻段等高线顶点。...3.1 构建等高线和等高线图我们描述了我们用于生成带有分层等高线给定多边形工作空间和构建等高线图方法。多边形由其边界包围,包括一组代表障碍物内部边界折线和一个外部边界折线。...生成带有分层等高线:该过程从在多边形内均匀采样2D网格点开始。为这些点构建了一个距离场,代表它们到多边形边界最短距离(包括内部障碍边界折线和外部边界折线)。...这确保了处于第 层等高线上每个点与多边形边界距离为 。最后一步是重新采样沿着每条等高线等距点,保持相邻点之间 一致距离。

    41710

    学习PCL库:PCL库中geometry模块介绍

    通过这两个操作,可以方便地获取以一个顶点为起点所有半边。...而面的外环是所有边上法向量指向该面法向量集合,通过遍历外环上所有半边,可以获取该面的所有边界上半边信息。...class pcl::geometry::PolygonMesh 用于表示多边形网格类,它包含了多个多边形(即面)以及它们顶点。...在 PolygonMesh 中,每个面由它顶点和它们之间构成,同时每个顶点也有对应和面。这种数据结构常用于表示三维模型,可以用于各种三维计算,例如表面重建、点云拼接等。...PolygonMesh 实现是基于模板类 pcl::geometry::MeshBase,它提供了许多操作多边形网格所需方法,例如添加/删除顶点和面、访问和半边数据结构等。

    79330

    光栅图形学算法

    1.多边形扫描转换和区域填充 1.边缘填充算法 其基本思想是按任意顺序处理多边形每条。...在处理每条时,首先求出该与扫描线交点,然后将每一条扫描线上交点右方所有像素取补。多边形所有边处理完毕之后,填充即完成。 ?...2.栅栏填充算法 栅栏指的是一条过多边形顶点且与扫描线垂直直线。它把多边形分为两半。...在处理每条与扫描线交点时,将交点与栅栏之间像素取补 2.多边形扫描转换与区域填充算法小结 (1)基本思想不同 多边形扫描转换是指将多边形顶点表示转化为点阵表示...扫描转换多边形是从多边形边界(顶点)信息出发,利用多种形式连贯性进行填充 扫描转换区域填充核心是知道多边形边界,要得到多边形内部像素集,有多种方法。

    1.1K60

    hover 背后数学和图形学

    射线法可以适用于任意多边形,包括有洞(hole)多边形,具体推导过程就不贴了,感兴趣的话可以自己查一下相关资料。 射线法涉及以下三个问题: 如何获取多边形各条端坐标?...如果多边形某条是曲线怎么办? 如何判断两条线段有交点? 如何获取多边形各条端坐标? 这其实并不是一个图形绘制领域问题,而是数据制备领域问题。...以一个简单图形举例: 上图中形是由四个三角形组成,前端从服务端拿到数据一般只包括六6个顶点坐标,即v1 - v6,而且这6个坐标点是按照顺时针排列(如果有hole,则hole顶点是逆时针排列...也就是说,在数据制备阶段就已经将多边形每个顶点坐标确定了,然后依序两两相接就是多边形各条。...回顾上文提到多边形顶点数据制备,多边形是由相邻两个顶点相连而成,顶点是有序,也就是说多边形每条都是有向线段,所以判断两条线段是否相交这个问题准确说发应该是:判断两个有模向量是否相交。

    1.4K10

    WPF 基础 2D 图形学知识 判断点是否在任意几何内部方法

    对于任意几何图形,如四形,已知几何顶点,求给定一个点是否在几何之内方法有多个,有 WPF 专用部分以及通用算法部分,有通用算法部分在 UWP 和 Xamarin 等上可用方法 如果在 WPF...按照任意方向将几何相邻点连接作为向量,此时可以发现如果点在几何内,那么点就在这些向量相同 对于二维向量,点和向量只有三个关系,要么在向量方向上,要么就在向量。...其实相当于判断两个向量夹角,如下图,同时取几何相邻点以及与需要判断点分别做两个向量,可以求出两个向量之间夹角 ? 而咱为了性能考虑,不会真的求向量夹角值来判断。...那么求 a 和 b 叉积意义就是获取垂直于 a 和 b c 向量,其方向由右手定则决定,模长等于以两个向量为平行四面积。也就是说叉积其实算出来是一个新向量。...bool 求点是否在任意凸多边形内部算法(Point 点, Point[] 多边形顶点集) { // 如果是 true 表示大于零方向,否则是小于零方向

    1.4K20

    模拟试题B

    多边形裁剪法中,对于某条多边形(方向为从端点S到端点P)与某条裁剪线(窗口某一比较结果共有以下四种情况,如图B.9所示,分别需输出一些顶点.请问哪种情况下输出顶点是错误?...图B.9 多边形裁剪方法 二、多项选择题(2′*13 = 26′) 1.光栅扫描图形显示器特征有( ) A)画线设备 B)画点设备 C)支持动态图形显示 D)与图形复杂度相关 E)锯齿现象...其形状与坐标系无关; B)B样条曲线具有造型灵活性,可构造直线段和圆等特殊对象; C)当移动B样条曲线一个顶点时,必定会对整条B样条曲线产生影响; D)一条直线与n个顶点控制B样条曲线可有...C)用射线法判断点是否在多边形内时,若该射线与多边形交点数目为偶数即可认为在多边形内部,若为奇数则在多边形外部,而且不需考虑任何特殊情况; D)连贯性表明,多边形某条与当前扫描线相交时...(7分) 5.请用伪代码程序描述实现使用DDA算法扫描转换一条斜率介于45°和-45°(即|m|>1)之间直线所需步骤。(6分) ?

    4.3K10

    使用 C# Graphics 绘图来绘制一个足球

    足球绘制 使用 DrawPolygon 方法绘制多边形,我们可以简单绘制一个足球图案。绘制足球就要绘制五形,或者六形。...可以使用 Math.Cos 和 Math.Sin 函数来计算五顶点坐标,比如已知五中心坐标点 Point(centerX,centerY) 和边长 sideLength 后,我们可以通过下面的公式计算获取五个顶点坐标...,我找到了一种比较简单绘制足球方法:首先绘制一个六形,然后选择一个外部圆心对这个六形坐标进行旋转 72 度,这样旋转几次,我们就画好了五个六形,填充白色。...然后在画五代码前面加画一个填充黑色大圆,足球就这样画好了: // 获取绘图对象 Graphics g = this.CreateGraphics(); int width = 100; //...六宽度 int height = 100; // 六高度 int x = 100; // 六横坐标 int y = 200; // 六纵坐标 Point

    62720

    图像不规则填充

    ',result1) cv2.imshow('result2',result2) cv2.waitKey(0) cv2.destroyAllWindows() 算法:图像不规则填充是除了可以绘制多边形和多个多边形...,还可以使用多个来近似的画一条曲线等不规则图像。...如果图像多边形填充部分或全部位于图像外部,则将对其进行裁剪,还可以处理以亚像素精度指定像素坐标,意味着可以将坐标作为编码为整数定点数传递。...dst=cv2.fillPoly(img, polys, color, lineType, shift) img表示输入图像 polys表示多边形顶点 color表示多边形颜色 lineType表示多边形边界类型...shift表示顶点坐标中小数位数 书籍:《准规则斑图艺术》《色彩之境:色彩美研究》 网址:http://www.opencv.org.cn/opencvdoc/2.3.2/html/modules/

    63920
    领券