草庐IT

多边形

全部标签

java - 找到两个 3D 多边形的交点

又名3D中的多边形裁剪算法又名找到2个碰撞多边形之间的碰撞流形大多数用于多边形裁剪的算法都针对2D进行了详细描述,并描述为可扩展到3D但没有详细信息。例如sutherland-hodgmanclippingalgorithm由于无法在互联网上找到任何3D实现或伪代码,我现在在这里提问(并试图回答我自己的问题)该算法将采用两种形状,如下所示:并且会输出两个形状的交集,如下所示:请注意,尽管Sutherland-Hodgman算法找到了两个多边形的交集,但它(以及大多数其他算法)在裁剪多边形和裁剪多边形之间进行了区分;裁剪多边形可以是凹的或凸的,但裁剪形状必须是凸的。但是,我扩展到3D的实

python - 通过减去与另一个多边形的交点来创建新的形状多边形

我有两个相交于不同部分的形状匀称的MultiPolygon实例(由经度、纬度点组成)。我正在尝试循环,确定两个多边形之间是否存在交集,然后创建一个排除该交集的新多边形。从附图来看,我基本上不希望红色圆圈与黄色轮廓重叠,我希望边缘恰好位于黄色轮廓开始的位置。我已尝试按照说明进行操作here但它根本不会改变我的输出,而且我不想将它们合并到一个级联联合中。我没有收到任何错误消息,但是当我将这些MultiPolygons添加到KML文件时(只是python中的原始文本操作,没有花哨的程序)它们仍然显示为圆圈而没有任何修改。#multipol1andmultipol2aremyshapelyMu

python - SVM 内核的速度?线性与 RBF 与多边形

我在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

python - 在 Geopandas/Shapely 中识别独特的多边形分组

假设我有两个不相交的多边形组/“岛屿”(想想两个不相邻县的人口普查区)。我的数据可能看起来像这样:>>>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

python - 使用 Python 在 Matplotlib Basemap 中将自然地球形状绘制为多边形

我即将获得我想要的map。Matplotlib的basemap很棒,但是当我放大时海岸线太粗糙了。我可以阅读NaturalEarthshapefile并绘制它们,这要好得多......但是当我尝试填充多边形时,我认为它正在处理所有的点属于单个多边形。如何遍历多边形并正确显示map?提前致谢!代码如下:importnumpyasnpfrommpl_toolkits.basemapimportBasemapimportmatplotlib.pyplotaspltfrommatplotlib.patchesimportPolygonfrommatplotlib.collectionsimpo

python - 多边形 Blob 的中心线(二值图像)

我有一个蠕虫的二进制图像(blob提取效果很好)。我有兴趣在blob(蠕虫)上拟合一条中心线。到目前为止我想到了这个:从多边形开始(在图像中提取blob的轮廓之后)我应用了voronoi计算并丢弃了多边形(蓝色)之外的所有顶点,这给了我黑色中心线我可以进一步使用它来拟合平滑的中心线。但是,此计算一点也不稳健(由于移除了不在多边形内部的voronoi顶点?)有人知道获取多边形中心线或blob对象(二值图像)中心线的算法工作流程吗?(骨架化?使用内边中点的多边形三角剖分)这是一个演示: 最佳答案 我找到了更好的解决方案:skeltoni

python - 当多边形变得太小时,带有 polycollection 的图消失

我正在使用PolyCollection绘制各种大小的数据。有时多边形非常小。如果它们太小,则根本不会绘制。我希望大纲至少能显示出来,这样您就会知道那里有一些数据。是否有控制此设置的设置?这里有一些重现问题的代码,以及输出图像:importmatplotlib.pyplotaspltfrommatplotlib.collectionsimportPolyCollectionfrommatplotlibimportcolorsfig=plt.figure()ax=fig.add_subplot(111)verts=[]edge_col=colors.colorConverter.to_rg

python - 在 Django 多边项目中构建数据验证的最佳实践

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我知道这是一个广泛的问题。但是让我们假设您有一个Django项目,其中包含移动应用程序客户端使用的API。有很多地方可以添加验证逻辑:模型字段本身模型,通过覆盖save()方法Django表单和模型表单。API序列化器(通用序列化器或模型序列化器)在构建项目时,哪些规则/元素可以帮助您选择验证应该放在这里还是放在那里?

python - 如何使用 rasterio/python 使用 shapefile 屏蔽栅格,将多边形内的栅格像素设置为零?

我正在尝试创建一个土地掩模以应用于卫星图像,它将与土地质量相交的栅格中的像素设置为0。在尝试了gdal、skimage、pyplot等之后,我发现rasteriocookbook中给出的方法既快速又简单。但是,它将多边形外部的像素设置为0,而我正在尝试执行相反的操作。如果可能,请继续使用栅格-您不必计算地理空间坐标的像素位置或处理超出栅格变为负范围的裁剪功能。它的速度也很快,这对于我正在处理的原始图像的文件大小来说很重要。来自这里:https://mapbox.s3.amazonaws.com/playground/perrygeo/rasterio-docs/cookbook.htm

python - 从自上而下的相机确定多边形表面旋转的方法

我有一个网络摄像头俯视一个绕单轴旋转的表面。我希望能够测量表面的旋转角度。相机位置和表面的旋转轴都是固定的。表面现在是一种明显的纯色,但如果有帮助,我确实可以选择在表面上绘制特征。这是一个表面在其整个范围内移动的动画,显示了不同的外观形状:到目前为止我的方法:记录一系列“校准”图像,其中表面在每幅图像中处于已知角度对每个图像设置阈值以隔离表面。使用cv2.approxPolyDP()找到四个角。我遍历各种epsilon值,直到找到一个恰好产生4分的值。一致地排列点(左上、右上、右下、左下)用atan2计算每个点之间的角度。使用角度拟合sklearnlinear_model.linear