我正在尝试确定一个点是否位于多边形内部。我使用来自thiswebsite的以下(针对Swift修改)算法:funccontains(polygon:[Point],test:Point)->Bool{letcount=polygon.countvari:Int,j:Intvarcontains=falsefor(i=0,j=count-1;i=test.y)!=(polygon[j].y>=test.y))&&(test.x但是,当具有具有以下坐标的简单多边形时:(x:0,y:40),(x:0,y:0),(x:20,y:0),(x:20,y:20),(x:40,y:20),(x:40,
我正在寻找有关最佳处理方式的建议。我正在尝试查找给定点A:(a,b)是否在正六边形内,正六边形定义为中心O:(x,y)和外接圆的直径。对于这样一个简单的案例,使用光线转换或绕组数来确定这一点似乎有些矫枉过正,我目前正在研究寻找OA线的角度(从水平方向)的选项,并且将其“归一化”(可能不是正确的词)到6个等边三角形之一,并查看这个新点是否位于这个三角形内。我觉得我遗漏了一些简单的东西,并且有一种简单的方法(或者,如果我真的幸运的话,JavaAPI)可以简单有效地做到这一点。感谢您的帮助。编辑:六边形的方向使得其中一侧与水平面平齐。 最佳答案
我正在尝试弄清楚如何最好地做到这一点,我有一张map,上面绘制了一个Polygon。因为GoogleMapsAPIV2似乎没有对多边形的触摸检测。我想知道是否可以检测触摸点是否在多边形内部?如果是这样那么如何,我的主要目标是在map上勾勒出一个状态,当用户点击该状态时,它将在自定义View中显示更多详细信息。截至目前,我能够捕获map的MapOnClick,但是当用户在Polygon内部点击时,我想要polygon.getID()在Toast上设置。我是新手,所以如果我不够清楚,我深表歉意。googleMap.setOnMapClickListener(newOnMapClickLis
又名3D中的多边形裁剪算法又名找到2个碰撞多边形之间的碰撞流形大多数用于多边形裁剪的算法都针对2D进行了详细描述,并描述为可扩展到3D但没有详细信息。例如sutherland-hodgmanclippingalgorithm由于无法在互联网上找到任何3D实现或伪代码,我现在在这里提问(并试图回答我自己的问题)该算法将采用两种形状,如下所示:并且会输出两个形状的交集,如下所示:请注意,尽管Sutherland-Hodgman算法找到了两个多边形的交集,但它(以及大多数其他算法)在裁剪多边形和裁剪多边形之间进行了区分;裁剪多边形可以是凹的或凸的,但裁剪形状必须是凸的。但是,我扩展到3D的实
我有两个相交于不同部分的形状匀称的MultiPolygon实例(由经度、纬度点组成)。我正在尝试循环,确定两个多边形之间是否存在交集,然后创建一个排除该交集的新多边形。从附图来看,我基本上不希望红色圆圈与黄色轮廓重叠,我希望边缘恰好位于黄色轮廓开始的位置。我已尝试按照说明进行操作here但它根本不会改变我的输出,而且我不想将它们合并到一个级联联合中。我没有收到任何错误消息,但是当我将这些MultiPolygons添加到KML文件时(只是python中的原始文本操作,没有花哨的程序)它们仍然显示为圆圈而没有任何修改。#multipol1andmultipol2aremyshapelyMu
我在Python中使用scikitlearn创建一些SVM模型,同时尝试不同的内核。代码非常简单,遵循以下形式:fromsklearnimportsvmclf=svm.SVC(kernel='rbf',C=1,gamma=0.1)clf=svm.SVC(kernel='linear',C=1,gamma=0.1)clf=svm.SVC(kernel='poly',C=1,gamma=0.1)t0=time()clf.fit(X_train,y_train)print"Trainingtime:",round(time()-t0,3),"s"pred=clf.predict(X_test
假设我有两个不相交的多边形组/“岛屿”(想想两个不相邻县的人口普查区)。我的数据可能看起来像这样:>>>p1=Polygon([(0,0),(10,0),(10,10),(0,10)])>>>p2=Polygon([(10,10),(20,10),(20,20),(10,20)])>>>p3=Polygon([(10,10),(10,20),(0,10)])>>>>>>p4=Polygon([(40,40),(50,40),(50,30),(40,30)])>>>p5=Polygon([(40,40),(50,40),(50,50),(40,50)])>>>p6=Polygon([(4
我即将获得我想要的map。Matplotlib的basemap很棒,但是当我放大时海岸线太粗糙了。我可以阅读NaturalEarthshapefile并绘制它们,这要好得多......但是当我尝试填充多边形时,我认为它正在处理所有的点属于单个多边形。如何遍历多边形并正确显示map?提前致谢!代码如下:importnumpyasnpfrommpl_toolkits.basemapimportBasemapimportmatplotlib.pyplotaspltfrommatplotlib.patchesimportPolygonfrommatplotlib.collectionsimpo
我有一个蠕虫的二进制图像(blob提取效果很好)。我有兴趣在blob(蠕虫)上拟合一条中心线。到目前为止我想到了这个:从多边形开始(在图像中提取blob的轮廓之后)我应用了voronoi计算并丢弃了多边形(蓝色)之外的所有顶点,这给了我黑色中心线我可以进一步使用它来拟合平滑的中心线。但是,此计算一点也不稳健(由于移除了不在多边形内部的voronoi顶点?)有人知道获取多边形中心线或blob对象(二值图像)中心线的算法工作流程吗?(骨架化?使用内边中点的多边形三角剖分)这是一个演示: 最佳答案 我找到了更好的解决方案:skeltoni
我正在使用PolyCollection绘制各种大小的数据。有时多边形非常小。如果它们太小,则根本不会绘制。我希望大纲至少能显示出来,这样您就会知道那里有一些数据。是否有控制此设置的设置?这里有一些重现问题的代码,以及输出图像:importmatplotlib.pyplotaspltfrommatplotlib.collectionsimportPolyCollectionfrommatplotlibimportcolorsfig=plt.figure()ax=fig.add_subplot(111)verts=[]edge_col=colors.colorConverter.to_rg