数学(几何):矩形投影?

Posted

技术标签:

【中文标题】数学(几何):矩形投影?【英文标题】:Math (geometry): Rectangle projection? 【发布时间】:2012-02-03 10:37:53 【问题描述】:

在我的应用程序中,用户可以使用 iPhone 的 GPS 定义足球场的三个角落,方法是一个接一个地走到角落,然后点击一个按钮。这很好用,我可以在屏幕上绘制生成的矩形,类似于它在谷歌地图中的显示方式。

所以我现在有了足球场三个随机角落的经纬度地图坐标。

不知道用户从哪个角落开始,也不知道他/她是顺时针还是逆时针进入场地周围的连续角落。

然后我想要的是让 iPhone 上的全屏来代表足球场,这样就可以在屏幕上跟踪 GPS 位置。

所以我需要计算正确的方向以在屏幕上很好地适应该字段,避免反转任何轴,并将传入的 GPS 坐标旋转和缩放到屏幕的坐标系。

你会怎么做呢?我不需要实际的代码,只需要你认为是实现这一目标的最简单的算法/策略。

我已经研究了一些关于投影、旋转等的文章,我想我可以通过大量的试验和错误来解决这个问题,但我想知道最简单的方法。也许ios甚至有一些我不知道的功能?

【问题讨论】:

你还在做这个吗?如果是这样,您是只在一个小区域(比如一个州的一部分,对于高中球队)还是大区域(比如整个美国,对于大学或 NFL 球队)处理足球场? 【参考方案1】:

你能简单描述一下问题吗?第一个问题是什么是输入(我没有抓住)。 三点之类的? 4 个数字。

如果你只能得到一个坐标然后计算,你为什么需要呢?

【讨论】:

输入是两个浮点值 GPSxGPSy(当前 GPS 位置)。还提供浮点值 c1x、c1y、c2x、c2y、c3x、c3y,表示实际足球场三个记录角的 GPS 位置。 您可以从 36*n 个点制作 360 图片地图,然后得到角度(围绕场的圆圈,它的中心在场的中心)。为此,您需要。 1.设置0度点。 2. 计算角度。 3.根据这个坐标选择图片。 对不起,我想你误解了我的问题。我只需要在屏幕上显示一个与用户实际在足球场上的位置相对应的标记。 xOy 和 GPS 点在里面吗?例如,您只是 [GPSx - 底部] 和 [GPSy - 左侧]。 否则你需要额外的输入。【参考方案2】:

只要按连续顺序访问角点(CW 或 CCW 无关),您可以按如下方式计算矩形:

如果依次访问角点 p、q 和 r,则角点 s = p + r - q

【讨论】:

【参考方案3】:

我知道这是一个迟到的答案,但由于尚未接受任何内容...

如果坐标以度-分-秒的形式出现,首先您必须转换为十进制度。然后选择其中一个输入。找到该点与其他每个点之间的距离 (D=sqrt((lat1-lat2)^2 + (long1-long2)^2))。每个距离将是三个值之一 - 宽度(例如,沿着球门线 - 最短)、长度(沿着边线)或对角线(端区的一个后角到对面的后角 -最长距离)。我不知道这些距离的十进制度数是多少 - 假设你正在处理地球的一小部分,它会是恒定的,所以最好的选择可能是去当地的田野并测量它们你自己。如果您正在处理地球的很大一部分,那么您需要从经纬度转换为英尺,这会使事情变得更加难看,但是可以做到(如果有人问我会在编辑中添加该部分) .一旦您知道您从哪个角开始以及您拥有的其他 2 个角是什么,您就可以确定您错过了哪个距离以及您错过了哪个角。您可以使用上述已知距离之一的 (lat1-lat2)/(long1-long2) 比率来确定场的方向。一旦你有了这个比率并且你知道你错过的距离,你就有 2 个方程和 2 个未知数 - 做一个同时求解,你就有了第 4 个角的坐标。

如果您需要更详细的步骤和信息,请添加 cmets。

【讨论】:

以上是关于数学(几何):矩形投影?的主要内容,如果未能解决你的问题,请参考以下文章

xml 路径线几何,矩形几何,路径几何

在 Objective-C 中在矩形周长上投影一个点

LQ0272 矩形运算计算几何

LQ0272 矩形运算计算几何

蓝桥杯练习 矩形面积交(计算几何)

这样画面积一定的矩形,简单易懂!