草庐IT

多边形

全部标签

【Unity】判断物体(四边形)是否在相机的可视范围内

一、Unity的MonoBehaviour方法MonoBehaviour.OnBecameVisible()在渲染器变为对任意摄像机可见时调用。MonoBehaviour.OnBecameInvisible()在渲染器对任何摄像机都不可见时调用。publicclassExampleClass:MonoBehaviour{voidOnBecameInvisible(){enabled=false;}voidOnBecameVisible(){enabled=true;}}优点:可以很方便的得到物体对于相机可见和不可见的调用。缺点:这个调用是不可控的,无法主动触发结果,而且OnBecameVisi

python - 如何在 Shapely 中检查多边形是否为空?

我是Python的新手,所以这个问题的答案可能很简单,但我到处寻找并尝试了很多,但找不到答案。使用Shapely简化多边形可能会产生空多边形。如果多边形为空,我想用一个点替换多边形。可以工作的东西:ifmypolyisempty:mypoly=[(0,0)] 最佳答案 鉴于mypoly是一个有形状的多边形,您可以使用is_empty来检查它是否为空,Shapely内置它来检查是否为空。fromshapely.geometryimportPointifmypoly.is_empty:mypoly=Point(0,0)

python - 从 xyz 坐标查找多边形的面积

我正在尝试使用shapely.geometry.Polygon模块来查找多边形的面积,但它在xy平面上执行所有计算。这对我的一些多边形来说很好,但其他多边形也有z维度,所以它不是我想要的。是否有一个包可以根据xyz坐标给出平面多边形的面积,或者有一个包或算法可以将多边形旋转到xy平面这样我就可以使用shapely.geometry.Polygon().area了?多边形表示为[(x1,y1,z1),(x2,y2,z3),...(xn,yn,zn)]形式的元组列表. 最佳答案 Hereisthederivationofaformula

python - 在 PIL 中绘制半透​​明多边形

如何使用PythonImagingLibrary绘制半透明多边形? 最佳答案 您能否在单独的RGBA图像上绘制多边形,然后使用Image.paste(image,box,mask)方法?编辑:这有效。fromPILimportImagefromPILimportImageDrawback=Image.new('RGBA',(512,512),(255,0,0,0))poly=Image.new('RGBA',(512,512))pdraw=ImageDraw.Draw(poly)pdraw.polygon([(128,128),(3

python - 圆-多边形交点

计算几何问题:在多边形(例如BCDE)的边(例如EB)上随机选择点P0,以找到可能的点(即,P1,P2,P3,...)基于给定距离(即r)在其他边上。下面的演示展示了一个解决方案,它通过找到以点P0为中心的圆与多边形的边之间的交点。所以这个问题基本上可以通过Circle--Line-Segment求交分析来解决。我想知道在计算成本方面对于这个非常简单的问题是否有更有效的方法?该过程将被评估数次百万次,因此任何改进都是有意义的。最终的解决方案将受益于Python的力量;如果需要,核心计算将使用Fortran。更新:感谢您的意见。请考虑我对评论的评论,这有助于进一步澄清问题。不愿意在这里重

python - 从 Voronoi 镶嵌到形状多边形

我使用scipy从一组点构建了Voronoi曲面分割:fromscipy.spatialimportVoronoivor=Voronoi(points)现在我想构建一个PolygoninShapely来自Voronoi算法创建的区域。问题是Polygon类需要一个逆时针顶点列表。虽然我知道如何orderthesevertices,我无法解决问题,因为通常这是我的结果:(重叠多边形)。这是代码(一个随机示例):deforder_vertices(l):mlat=sum(x[0]forxinl)/len(l)mlng=sum(x[1]forxinl)/len(l)#https://stac

python - 从 Voronoi 单元获取有界多边形坐标

我有一些点(例如,信号塔位置的纬度、经度对),我需要获取它们形成的Voronoi单元的多边形。fromscipy.spatialimportVoronoitower=[[24.686,46.7081],[24.686,46.7081],[24.686,46.7081]]c=Voronoi(towers)现在,我需要获取每个单元格的经纬度坐标中的多边形边界(以及该多边形围绕的质心)。我也需要这个Voronoi有界。这意味着边界不会无限延伸,而是在边界框内。 最佳答案 给定一个矩形边界框,我的第一个想法是在这个边界框和scipy.spa

python - 排序可以连接形成多边形的打乱点(在 python 中)

我有一组点,这些点连接在一起形成二维笛卡尔空间中的多边形。它是元组的python列表形式[(x1,y1),(x2,y2),...,(xn,yn)]问题是将它们连接起来并在图形中形成一个多边形。(我正在使用matplotlib.path)我做了一个函数来做到这一点。它的工作原理如下:它转到第一个点,即(x1,y1)并连接一条线到下一个点,即(x2,y2)和一条从(x2,y2)到(x3,y3)的线,依此类推......直到结束这是(xn,yn)。它通过将(xn,yn)连接到(x1,y1)来闭合多边形。问题是包含这些点的列表不包含正确顺序的点,因此会导致像这样的错误绘图(每个封闭的多边形都会

javascript - 基于网格将多边形拆分为多个多边形(html5 canvas)

我在带有底层网格的Canvas上绘制多边形我现在想把这个多边形分割成多个多边形(基于网格)所以我得到的不是1个多边形,而是4个多边形的坐标。有没有我没有考虑过的简单解决方案?这是我的测试Canvas的代码(codepen)varbw=200;varbh=200;varp=0;varcw=bw+(p*2)+1;varch=bh+(p*2)+1;vargrid=50;varcanvas=document.getElementById("canvas");varcontext=canvas.getContext("2d");functiondrawBoard(){context.beginP

javascript - 基于网格将多边形拆分为多个多边形(html5 canvas)

我在带有底层网格的Canvas上绘制多边形我现在想把这个多边形分割成多个多边形(基于网格)所以我得到的不是1个多边形,而是4个多边形的坐标。有没有我没有考虑过的简单解决方案?这是我的测试Canvas的代码(codepen)varbw=200;varbh=200;varp=0;varcw=bw+(p*2)+1;varch=bh+(p*2)+1;vargrid=50;varcanvas=document.getElementById("canvas");varcontext=canvas.getContext("2d");functiondrawBoard(){context.beginP