问题标签 [geometry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
2318 浏览

algorithm - 多边形中的孔

我需要创建一个立方体的 3D 模型,在一个面的中心打一个圆孔,完全穿过立方体到另一侧。我能够为面和孔生成顶点。

其中四个面(未受孔影响)可以建模为单个三角形条带。孔的内部也可以建模为单个三角形条带。

如何为有孔的面生成索引缓冲区?是否有标准算法来做到这一点?

我正在使用 Direct3D,但欢迎来自其他地方的想法。

0 投票
31 回答
495931 浏览

math - 计算2个GPS坐标之间的距离

如何计算两个 GPS 坐标之间的距离(使用纬度和经度)?

0 投票
5 回答
34260 浏览

sql-server - 几何列:STGeomFromText 和 SRID(什么是 SRID?)

我正在使用 SQL Server 2008 中的新地理列和 STGeomFromText 函数。这是我的代码(适用于 AdventureWorks2008)

我的问题是关于代码中的 4326 。它应该是一个空间参考 ID。当我去 MSDN 时,它并没有太多内容。如果我将值更改为 56,我会收到一条错误消息,告诉我该值必须在 sys.spatial_reference_systems 表中。

您可以通过执行以下命令查看该表:

该表中有一个 well_known_text 列,但它并没有告诉我太多。4326 的值为:

谁能给我解释一下这个谜?什么是 SRID?

0 投票
1 回答
1347 浏览

algorithm - 如何从线形成多边形

我有一堆二维线,它们的起点和终点是已知的。这些线可能偶尔会相互交叉,或者一条线可能会在另一条线的中间结束。我需要从这个线网中形成多边形。如有必要,我可以确保所有线条的左侧都在它们的多边形内。

0 投票
1 回答
13372 浏览

function - 纬度/经度 + 距离 + 航向 --> 纬度/经度

所以:我有以下函数,改编自网上找到的公式,它采用两个纬度/经度坐标并找到它们之间的距离(以英里为单位)(沿着球形地球):

据我所知,这很好用。

我需要的是第二个函数,它使用完全相同的地球几何模型,采用单个纬度/经度对 [A]、航向和距离,并输出一个新的纬度/经度对 [B] 使得如果您从 [A] 点开始,并以给定的航向行进给定的距离,您将在 [B] 点结束。

这就是我的几何技能完全离开我的事实发挥作用的地方:)

任何帮助将非常感激!

谢谢,-丹

0 投票
2 回答
9651 浏览

c - (rho/theta) 参数化中定义的两条线的交点

为检测图像中的线条创建了 Hough 变换的 c++ 实现。找到的行使用 rho、theta 表示,如 wikipedia 上所述:

“参数r代表直线到原点的距离,而θ是向量从原点到这个最近点的夹角”

如何在 x, y 空间中找到使用 r, θ 描述的两条线的交点?

以下是我当前用于转换进出霍夫空间的函数供参考:

如果这是显而易见的事情,请提前抱歉..

0 投票
4 回答
2895 浏览

c++ - 矩形多边形的布尔运算

Avast 那里的程序员同胞!

我有以下问题:

我有两个重叠的矩形,如下图所示。

替代文字

我想找出由点 ABCDEF 组成的多边形。

替代圣诞节描述:红色饼干切割器正在切掉一点黑色饼干。我想计算黑色饼干。

每个矩形是一个具有 4 个二维顶点的数据结构。

实现这一目标的最佳算法是什么?

0 投票
7 回答
3713 浏览

language-agnostic - 确定经纬度矩形和球体上的圆是否重叠

假设我有以下内容:

  • 由最小和最大纬度和经度定义的区域(通常是“经纬度矩形”,尽管它实际上不是矩形,除非在某些投影中)。
  • 由中心纬度/经度和半径定义的圆

我如何确定:

  1. 两个形状是否重叠?
  2. 圆是否完全包含在矩形内?

我正在寻找一个完整的公式/算法,而不是数学课,本身。

0 投票
7 回答
2267 浏览

algorithm - 网格内的连接点

给定网格内的一组随机点,如何有效地检查它们是否都位于其他点的固定范围内。即:选择任何一个随机点,然后您可以导航到网格中的任何其他点。

进一步澄清:如果您有一个 1000 x 1000 的网格并在其中随机放置 100 个点,您如何证明任何一个点都在邻居的 100 个单位内,并且所有点都可以通过从一个点走到另一个点来访问?

我一直在编写一些代码并提出了一个有趣的问题:非常偶尔(到目前为止只有一次)它会创建一个超出其余点最大范围的点岛。我需要解决这个问题,但蛮力似乎不是答案。

它是用 Java 编写的,但我擅长使用伪代码或 C++。

0 投票
26 回答
235583 浏览

geometry - 圆-矩形碰撞检测(相交)

如何判断圆形和矩形在二维欧几里得空间中是否相交?(即经典的二维几何)