algorithm - 使用 Lat Long、major、minor 和 Rotation 的边界椭圆

标签 algorithm geometry

我有一个文件,其中包含一个具有经纬度、主要和次要距离以及旋转的椭圆。我可以仅使用此信息来计算椭圆上的所有点吗?主要目标是采用一组具有这些参数的椭圆,并得到包含所有其他参数的椭圆。如果它是一个最小界限就好了,但接近的东西就可以了。

我想我在这里看到了一个算法,它允许你获取一组点并绘制一个边界椭圆,所以我的计划是使用主要和次要纬度/经度信息来获取椭圆组的所有点并以某种方式绑定(bind)它。这是一个好策略吗?我认为这不是最小值,因为轮换可能不正确。

最佳答案

假设这些椭圆所在的表面是平坦的(或实际上是平坦的),您可以仅使用该信息生成一系列点。可能有更有效的方法,但我在 this page 上使用了等式 (13) 和 (14)获取轴对齐椭圆上的点,然后只需 rotated并将它们偏移实际角度和位置。

不过,我相信您必须迭代一个边界椭圆,this question 的答案提供了一种算法。我会根据每个椭圆的大小为每个椭圆生成一些点(因此,更大的椭圆会更多),然后找到一个 convex hull将您正在处理的点减少到重要的点。

关于algorithm - 使用 Lat Long、major、minor 和 Rotation 的边界椭圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14524103/

相关文章:

java - 点到线距离 (2D) 和交点坐标

mysql - 处理 View 的 MySQL 临时表算法

opengl - 我的 gluSphere 缺少补丁

algorithm - LINQ to SQL 多对多比较查询

algorithm - 找到大于给定最小值的第一个斐波那契数

c# - 旋转时固体物体的持续角

java - 怎么画一个长方形,中间挖出一个圆圈?

ios - Objective-C - 如何知道点是否在四分之一圆内?

algorithm - 动态规划计算子集和(背包)中子集解的个数

ruby - 最长公共(public)子序列——我的无限循环在哪里?