草庐IT

三边形

全部标签

c# - 有没有一种简单快捷的方法来检查多边形是否自相交?

我有一个System.Windows.Shapes.Polygon对象,其布局完全由一系列点决定。我需要确定这个多边形是否自相交,即多边形的任何边是否在不是顶点的点处与其他任何边相交。有没有简单/快速的方法来计算这个? 最佳答案 简单、缓慢、低内存占用:将每个段与所有其他段进行比较并检查交叉点。复杂度O(n2)。稍快,中等内存占用(上述修改版本):将边存储在空间“桶”中,然后在每个桶的基础上执行上述算法。m个桶的复杂度O(n2/m)(假设均匀分布)。快速且高内存占用:使用空间哈希函数将边拆分到桶中。检查碰撞。复杂度O(n)。快速和低

c# - 找到两个多边形之间最短笛卡尔距离的最快方法是什么

我有1个红色多边形和50个随机放置的蓝色多边形-它们位于地理2D空间。找到红色多边形与其最近的蓝色多边形之间最短距离的最快/最快算法是什么?请记住,将构成多边形顶点的点作为值来测试距离并不是一个简单的例子,因为它们不一定是最近的点。所以最后-答案应该返回最接近单个红色多边形的蓝色多边形。这比听起来更难! 最佳答案 我怀疑是否有比计算红色和每个蓝色之间的距离并按长度排序更好的解决方案。关于排序,通常QuickSort在性能上很难被击败(一个优化的排序,如果大小低于7个项目,它会切断递归并切换到类似InsertionSort的东西,也许

c# - 找到两个多边形之间最短笛卡尔距离的最快方法是什么

我有1个红色多边形和50个随机放置的蓝色多边形-它们位于地理2D空间。找到红色多边形与其最近的蓝色多边形之间最短距离的最快/最快算法是什么?请记住,将构成多边形顶点的点作为值来测试距离并不是一个简单的例子,因为它们不一定是最近的点。所以最后-答案应该返回最接近单个红色多边形的蓝色多边形。这比听起来更难! 最佳答案 我怀疑是否有比计算红色和每个蓝色之间的距离并按长度排序更好的解决方案。关于排序,通常QuickSort在性能上很难被击败(一个优化的排序,如果大小低于7个项目,它会切断递归并切换到类似InsertionSort的东西,也许

等参元:平面四节点四边形等参元的刚度矩阵的计算

补充:其中:------------------------------------------------------------------------------------例题:(我计算的结果与例题不同,大家可以计算一下。)如图为一个平面3节点四边形等参元,采用4点高斯积分计算该单元刚度矩阵。-----------------------------------------------------------------------------------------------------------------------------------------------------

javascript - 传单 (geojson) 多边形上的简单标签

我正在尝试我认为是一个相当常见的用例,其中包含传单多面体对象。我使用geojson创建了MultiPolygon:varlayer=L.GeoJSON(g,style_opts);我想要的是在每个多边形的中心放置一个简单的文本标签。(例如,将州名放在每个州的中心)。我看过:https://groups.google.com/forum/?fromgroups=#!topic/leaflet-js/sA2HnU5W9Fw它实际上覆盖了文本,但是当我添加一堆多边形时,它似乎以奇怪的方式使标签偏离中心,我目前无法找到问题所在。我还看过:https://github.com/jacobtoye

javascript - 传单 (geojson) 多边形上的简单标签

我正在尝试我认为是一个相当常见的用例,其中包含传单多面体对象。我使用geojson创建了MultiPolygon:varlayer=L.GeoJSON(g,style_opts);我想要的是在每个多边形的中心放置一个简单的文本标签。(例如,将州名放在每个州的中心)。我看过:https://groups.google.com/forum/?fromgroups=#!topic/leaflet-js/sA2HnU5W9Fw它实际上覆盖了文本,但是当我添加一堆多边形时,它似乎以奇怪的方式使标签偏离中心,我目前无法找到问题所在。我还看过:https://github.com/jacobtoye

javascript - 在谷歌地图上使用鼠标绘制多边形

我需要使用鼠标绘制多边形并在Googlemap上标记特定区域。目的是在谷歌地图上标记一个区域,然后显示该区域的酒店和景点。用户在创建酒店时会在谷歌地图上标记酒店,这样数据库就会有他们的经纬度。如何绘制多边形并用颜色填充它作为背景以在Googlemap中标记该区域?我已经阅读了API手册“如何绘制多边形?”基本上你需要标记多个点,然后将它们组合成一个多边形。但我需要使用鼠标拖动来完成此操作,就像绘制形状一样。请帮助我了解如何实现这一目标。 最佳答案 这里有一些代码(针对GoogleMapsJavaScriptAPI版本3)可以实现您想

javascript - 在谷歌地图上使用鼠标绘制多边形

我需要使用鼠标绘制多边形并在Googlemap上标记特定区域。目的是在谷歌地图上标记一个区域,然后显示该区域的酒店和景点。用户在创建酒店时会在谷歌地图上标记酒店,这样数据库就会有他们的经纬度。如何绘制多边形并用颜色填充它作为背景以在Googlemap中标记该区域?我已经阅读了API手册“如何绘制多边形?”基本上你需要标记多个点,然后将它们组合成一个多边形。但我需要使用鼠标拖动来完成此操作,就像绘制形状一样。请帮助我了解如何实现这一目标。 最佳答案 这里有一些代码(针对GoogleMapsJavaScriptAPI版本3)可以实现您想

javascript - 检查点是否在多边形内

我想检查一个点是否位于特定的多边形内。多边形是:polygon=[[-73.89632720118,40.8515320489962],[-73.8964878416508,40.8512476593594],[-73.8968799791431,40.851375925454],[-73.8967188588015,40.851660158514],[-73.89632720118,40.8515320489962]]我要检查的点是:1=[40.8515320489962,-73.89632720118]2=[40.8512476593594,-73.8964878416508]3=

javascript - 检查点是否在多边形内

我想检查一个点是否位于特定的多边形内。多边形是:polygon=[[-73.89632720118,40.8515320489962],[-73.8964878416508,40.8512476593594],[-73.8968799791431,40.851375925454],[-73.8967188588015,40.851660158514],[-73.89632720118,40.8515320489962]]我要检查的点是:1=[40.8515320489962,-73.89632720118]2=[40.8512476593594,-73.8964878416508]3=