标签: coordinate-systems

寻找'X'公里(或英里)内的城市

这可能会也可能不会很清楚,如果我不在基础上,或者您需要更多信息,请给我留言.也许有一个解决方案已经在我想要的PHP中.

我正在寻找一个函数,它将增加或减去经度OR纬度值的距离.

原因:我有一个包含所有纬度和经度的数据库,并希望形成一个查询来提取X公里(或英里)内的所有城市.我的查询看起来像这样......

Select * From Cities Where (Longitude > X1 and Longitude < X2) And (Latitude > Y1 and Latitude < Y2)

 Where X1 = Longitude - (distance)
 Where X2 = Longitude + (distance)

 Where Y1 = Latitude - (distance)
 Where Y2 = Latitude + (distance)
Run Code Online (Sandbox Code Playgroud)

我在PHP中工作,使用MySql数据库.

也欢迎任何建议!:)

mysql gis distance coordinates coordinate-systems

12
推荐指数
1
解决办法
1万
查看次数

如何计算图片内的特定距离?

对不起,我的英语不好.我有以下问题:

1

让我们说我的移动设备的相机正在显示这张照片.

在图片中,您可以看到4个不同的位置.我知道每个位置(经度,纬度).

现在我想知道,图中的具体位置在哪里.例如,我想在前面20米处和我左边5米处有一个矩形.我只知道这一点的纬度/经度,但我不知道,我必须把它放在图片的内部(x,y).例如,在我看来,POS3位于(0,400).POS4为(600,400),依此类推.

我必须在哪里放置新点,前面20米,左边5米?(所以我的输入是:(LatXY,LonXY),我的结果应该是(x,y)在屏幕上)

我还得到了摄像机的高度以及摄像机的x,y和z轴的角度.

我可以使用简单的数学运算来解决这个问题吗?

非常感谢你!

android coordinate-systems augmented-reality coordinate-transformation android-camera

12
推荐指数
2
解决办法
4527
查看次数

Three.js:在场景的角落显示世界坐标轴

这可能是一个非常基本的问题,但我还没有找到解决方案,而且一直困扰着我.我想在Maya中显示指示摄像机右下角的世界坐标方向(x,y,z)的箭头,以便在围绕对象旋转摄像机或在场景中移动时,你仍然可以识别世界坐标的方向.我试图用两种不同的方法来实现这一点,到目前为止都没有.

我有一个带有三个箭头的对象作为使用THREE.ArrowHelper该类的孩子,我们XYZ暂时会调用它.第一种方法是制作XYZ一个场景的孩子,并根据摄像机的当前位置计算出一个位置,加上摄像机指向的方向上的偏移量并进行调整,使其显示在我希望它而不是在中心的角落里的屏幕.我几乎得到了这个工作,因为箭头保持正确的旋转,但位置有点滑稽,我停止沿着这条路线,因为当移动相机时它真的是"紧张".我不确定这是性能问题还是其他问题.

第二种方法是使XYZ相机的孩子具有局部位置偏移,然后反转相机的旋转并应用反向旋转以XYZ使其匹配世界坐标.我似乎很接近使用这种方法,但我可以得到正确的位置,或正确的旋转,而不是两者.

我目前正在使用代码XYZ.matrix.extractRotation( camera.matrixWorldInverse );为我提供正确的方向XYZ,但它的定位是关闭的.如果我使用,XYZ.matrixWorld.extractRotation( camera.matrixWorldInverse );那么位置保持正常(连接到相机)但方向不会改变.

如果有人快速破解这项工作,我将不胜感激.如果你有一个比我正在追求的方法更好的方法,那么这也会有所帮助.

** - 编辑 - **应该提一下,你可以在这里找到工作版本 - (https://googledrive.com/host/0B45QP71QXoR0Mm9Mbkp3WGI1Qkk/)我将我的代码存储在谷歌驱动器中,但使用wamp和aliasing在本地工作意味着我在本地进行的任何更改都会在谷歌驱动器同步后立即在线反映出来.IE看起来可能会被打破.

matrix-inverse coordinate-systems rotational-matrices three.js

12
推荐指数
3
解决办法
2万
查看次数

用R或python绘制坐标系中的向量

我正在寻找关于在笛卡尔平面上绘制矢量的建议.任务是绘制点(坐标),然后用箭头将它们链接到某个源点(比如0,0).下面的图片应该给出一个想法.我不关心颜色和命名向量/点,它只是在坐标平面中绘制箭头.我确信R(或python)中存在一些用于绘制线性代数向量和运算的库.

任何指针将不胜感激!

飞机上的矢量http://mathinsight.org/media/image/image/vector_2d_add.png

python plot r vector coordinate-systems

11
推荐指数
2
解决办法
3万
查看次数

如何同步Three.js和HTML/SVG坐标系(尤其是y轴)?

我正在将3D内容与Three.js结合使用HTML和SVG内容.Three.js CSSLoader可以很好地同步3D世界中HTML和SVG内容的放置.

但是SVG/HTML坐标系是"左撇子",而Three.js坐标系是"右撇子".这基本上意味着它们的y轴是相反的.在SVG/HTML中,当你走到屏幕上时,y/ top会上升,而当你走下屏幕时,Three.js会使用更标准的数学惯例y.

我必须不断地从一个转换到另一个,这很容易出错.我知道我不是第一个碰到这个(例如,看这里).有人想出一个通用的解决方案吗?这是我试过的:

  1. 做的一切Object3D有.scale.y = -1.正如您可能怀疑的那样,事实证明这是一场灾难.它将所有内容都由内到外,甚至不会尝试将相机放在那里.

  2. 做的一切Object3D有.rotate.x = Math.PI.这更有希望,但z轴不再与z-index的HTML概念一致.不过,这就是我现在正在使用的.

  3. 在HTML中,不要使用top,使用bottom.在SVG,做内部的一切<g transform="scale(1, -1)">内<g transform="translate(0, imageHeight)">.但是,我觉得这对开发人员来说会更加混乱,而且imageHeight必须始终保持最新状态,这是另一个负担.

有没有人想出更好的东西?也许是图书馆来帮助这个?

html javascript svg coordinate-systems three.js

11
推荐指数
1
解决办法
528
查看次数

这个算法将坐标映射到称为的数字是什么?

我正在编写一个用于可视化晶体的程序.作为程序的一部分,我必须在晶格结构中生成所有不同的基本点.对于那些不熟悉晶体学的人,你可以在这里找到这些结构最常见的例子:https://en.wikipedia.org/wiki/Hermann%E2%80%93Mauguin_notation#Lattice_types

问题是我想跟踪所有这些要点.所以我给了他们一个号码.我正在尝试使用笔和纸,并找到了一个很好的算法,通过以二进制形式写出来将坐标(2D或3D)与数字(以及相反的方式)连接起来.

因此,如果您想要,例如,2D中的简单立方晶格,并且您想知道第14点的坐标,您可以将此二进制数写为001110.您将数字分为00 | 11 | 10,其中最多右边的部分代表(x,y)*1,中间部分代表(x,y)*2,左边的部分代表(x,y)*4(对于数字14来说没用,只是为了制作一切清除)等等.所以数字14映射到点(3,2).

一个简单的C++程序,用于生成前50个int的坐标:

int x, y;

for (int n = 0; n < 50; n++)
{
    x = 0;
    y = 0;

    bitset<16>  nset(n);

    for (int i = 0; i < 16/2; i++)
    {
        x+=(nset[2*i]*pow(2.,i));
        y+=(nset[2*i+1]*pow(2.,i));
    }

    cout  << n << "\t" << x << "\t" << y << endl;
}
Run Code Online (Sandbox Code Playgroud)

我通过为z值保留一个额外的列将此算法扩展为3D,并通过保留第一个或两个列的类型为x + 1/2,y + 1/2,z + 1 /来扩展其他格子类型2个属性,每种格子类型不同.

所以这是我的问题:这个算法是否已存在?它有名字吗?或者这只是二进制数学的一个明显应用?我读了一些关于hashmaps的东西,但这对我来说似乎更有效,至少如果你处理的是整数.

这是我在stackexchange的第一个问题,怀疑我必须在这里或在物理论坛上发布这个问题.或者也许在数学论坛上,因为这是一种R ^ 2-> R双射.如果这个问题不在正确的地方,请纠正我.

algorithm coordinates coordinate-systems coordinate

11
推荐指数
1
解决办法
920
查看次数

如何将球面坐标转换为equirectangular投影坐标?

简化的问题

如何将球面坐标(θ,φ)转换为等距矩形投影(也称为"地理投影")的位置(x,y )?

其中:

  • x是经度,水平位置,从-180到180度.
  • y是纬度,垂直位置,从-90到90度.
  • θ是θ,以度为单位的水平角度,从(0,0,0)到球体表面上的点的矢量.
  • φ是phi,垂直角度,从(0,0,0)到球面上的点的矢量.

下面你会找到原来的问题,当我不能很好地理解这个问题时,我认为它仍然有助于展示这个解决方案的实际应用.

上下文

编辑:原始问题标题是:如何以给定角度转换照片成为全景照片的一部分?

如果我想以任何给定角度拍摄照片,以便我可以将得到的(扭曲/变形的)图像放置在等距矩形投影,立方体贴图上的相应特定位置,任何人都可以帮助我采取哪些步骤或任何全景照片投影?

无论哪种投影最容易做到都足够好,因为有很多资源可用于如何在不同的投影之间进行转换.我只是不知道如何从实际照片到这样的投影.

可以安全地假设摄像机将停留在固定位置,并可以从那里向任何方向旋转.我认为需要这样做的数据可能是这样的:

  • 物理相机的水平角度[-180, +180](例如+ 140deg).
  • 物理相机的垂直角度[-90, +90](例如-30度).
  • 照片分辨率w x h(例如1280x720像素).
  • 照片的水平角度(例如70度).
  • 照片的垂直角度(例如40度).
  • 镜头校正a,b,c参数(见下文).

我有这些数据,我想第一步是进行镜头校正,以便所有应该笔直的线条实际上是直的.而这是可以做到用imagemagick的桶形畸变的 A,B和C:,在其中您只需要填写三个参数.应用于图像以纠正此问题的转换非常简单.

我坚持下一步.要么我不完全理解它,要么搜索引擎没有帮助我,因为大多数结果都是关于在已经给定的投影之间进行转换,或者使用高级应用程序将照片智能地拼接在一起.这些结果并没有帮助我回答我的问题.

编辑:我想,也许一个数字将有助于更好地解释:)

问题是给定的照片红色不能在没有变换的情况下放入等角矩形投影中.下图说明了这个问题.

带有

所以,我有红色,我需要把它变成绿色.蓝色显示转换的差异,但这取决于水平/垂直角度.

camera projection image-processing coordinates coordinate-systems

11
推荐指数
1
解决办法
8301
查看次数

如何将正方形上的坐标转换为圆上的坐标?

我正在开发一款独立视频游戏,并且假设因为我的控制器上的拇指操纵杆具有圆形运动范围,它会返回"圆形"坐标; 也就是说,笛卡尔坐标约束为圆形区域(半径为1).实际上,坐标是"方形"; 例如,右上方的拇指操纵杆位置记录为x = 1,y = 1.当我将坐标从笛卡尔坐标转换为极坐标时,幅度可以超过1 - 这样的效果是玩家可以沿对角方向移动得比垂直或水平方向更快.

因此,为了澄清,我想记录模拟拇指操纵杆在方向和幅度方面的位置,其中幅度在0和1之间.拇指操纵杆返回方形平面上的坐标,因此只需将坐标从笛卡尔坐标转换为极坐标还不够.我想我需要转换坐标空间,但这就是我的猴脑的极限.

math coordinate-systems

10
推荐指数
2
解决办法
8411
查看次数

将Lat/Lon转换为MGRS

有谁知道在哪里可以找到将Lat/Lon位置转换为军事网格参考系统(MGRS)的代码库?如果可能的话,我正在寻找一个C#实现.

c# gis math coordinates coordinate-systems

10
推荐指数
1
解决办法
6607
查看次数

Python/Matplotlib:转换Axis <=>数据坐标系

我的问题很简单:在matplotlib中,如何轻松地将Axis系统中的坐标转换为数据系统(从理想情况来说,我正在寻找一个简单的函数output_coords = magic_func(input_coords))

实际上我的确切问题是:我想matplotlib.patches.Ellipse用他的中心在Axis系统中绘制一个但是他的数据系统中的大小(宽度和长度).但是这种transforms.blended_transform_factory方法在这种情况下不起作用.

谢谢 !

python matplotlib coordinate-systems coordinate-transformation

9
推荐指数
3
解决办法
5233
查看次数