标签: coordinate

Java:用于存储无限游戏世界的坐标图的良好数据结构是什么?

我习惯用PHP编码,但我并不熟悉Java,这已经有一段时间了.我希望它是一个相当简单的解决方案,但是我无法通过任何方式找到任何好的示例代码,所以这里是:

我正在编写一个游戏,它发生在基于图块的地图上的2d随机生成的无限世界中(挑剔:我知道它不会真正无限.我只是期望世界变得非常大).地图的常用方法[X] [Y]多维数组开始了作为一个基本的想法,但由于Java不用于非整数提供了一种方法(即负)阵列关键有心计,如PHP做,我不能正确有( - x,+ x,-y,+ y)带数组键的坐标系.

我需要能够在特定的x,y坐标处找到瓷砖上的对象,以及找到某个瓷砖的"相邻瓷砖".(如果我可以getObjectAt(x,y),我可以获得(x + 1,y)等等)

我读过四棵树和R树等.这个概念很令人兴奋,但我还没有在Java中看到任何好的,简单的示例实现.此外,我不确定这是否是我所需要的.

欢迎任何建议

谢谢

java map tile coordinate

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

更快的numpy笛卡尔到球坐标转换?

我有一个来自3轴accellerometer(XYZ)的300万个数据点的数组,我想在包含等效球坐标(r,theta,phi)的数组中添加3列.以下代码有效,但似乎太慢了.我怎么能做得更好?

import numpy as np
import math as m

def cart2sph(x,y,z):
    XsqPlusYsq = x**2 + y**2
    r = m.sqrt(XsqPlusYsq + z**2)               # r
    elev = m.atan2(z,m.sqrt(XsqPlusYsq))     # theta
    az = m.atan2(y,x)                           # phi
    return r, elev, az

def cart2sphA(pts):
    return np.array([cart2sph(x,y,z) for x,y,z in pts])

def appendSpherical(xyz):
    np.hstack((xyz, cart2sphA(xyz)))
Run Code Online (Sandbox Code Playgroud)

python numpy coordinate

29
推荐指数
4
解决办法
3万
查看次数

如何从鼠标单击坐标获取WebGL 3d空间中的对象

我正在WebGL中构建一个桌面游戏.电路板可以旋转/缩放.我需要一种方法将画布元素(x,y)上的点击转换为3D空间(x,y,z)中的相关点.最终结果是我想知道包含触及最靠近用户的对象的点的(x,y,z)坐标.例如,用户点击一块,你想象一条穿过3D空间的光线穿过这件作品和游戏板,但是我希望这件作品的(x,y,z)坐在它的位置.感动.

我觉得这一定是一个非常普遍的问题,但我似乎无法在谷歌中找到解决方案.必须有某种方法将3D空间的当前视图投影到2D中,这样您就可以将2D空间中的每个点映射到3D空间中的相关点.我希望用户能够将鼠标悬停在板上的空间上,并使点变色.

javascript 3d mouse webgl coordinate

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

如何获得底部y坐标

如何获得obj-c和Swift中视图的左下角坐标,即最大y坐标?

uiview coordinate ios

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

如何在画布中找出贝塞尔曲线中特定点的Y坐标?

我需要在画布中找出贝塞尔曲线特定点的Y坐标.你知道吗,如何找到它?谢谢

bezier curve canvas point coordinate

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

将表示旋转的四元数从一个坐标系转换为另一个坐标系

我从坐标系Y = up,X = right,Z = backwards的传感器数据得到四元数.Mine是X =正向,Y =正确,Z =向上.

所以OX = Y,OY = Z且OZ = -X.

我有一个函数可以将四元数转换为4by4矩阵,但不知道从哪里开始.任何帮助将不胜感激.

system quaternions coordinate

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

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

我正在编写一个用于可视化晶体的程序.作为程序的一部分,我必须在晶格结构中生成所有不同的基本点.对于那些不熟悉晶体学的人,你可以在这里找到这些结构最常见的例子: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
查看次数

ggplot2极坐标轴标签位置

这只是旧问题ggplot2极坐标图箭头的扩展 来自MatLab的指南针情节

你会发现x轴不在most_out圆圈之内.在ggplot2中,我使用"panel.grid.major = theme_line(color ="black",size = 0.2,linetype = 2)"得到虚线圆圈,如下所示: 使用GGplot2 所以我的问题是如何在圆圈外面制作轴标签(180,135,90,.....),因为文本与圆形线合并.

我尝试使用"hjust"或"vjust"来调整文本和轴之间的距离.但它不起作用.所以你对这个问题有一些想法吗?先谢谢!!!!

label r ggplot2 coordinate

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

行主要订单指数

我目前正在研究将2d地形图保存为一维数组的项目.地图中的每个块都由xy坐标索引.因此,为了将地图保存为一维数组,我使用行主要顺序方法(http://en.wikipedia.org/wiki/Row-major_order)将xy坐标转换为单个索引值(其中让我把块放到一个数组中).

现在,我的问题是如何将其转换回来?我有一个唯一的号码,我必须转换回xy坐标.任何帮助,将不胜感激.^^

indexing block map coordinate

9
推荐指数
1
解决办法
2782
查看次数

使用GeoTools:com.vividsolutions.jts.geom.Coordinate类中的纬度和经度是多少?

我将com.vividsolutions.jts.geom.Coordinate用作我的坐标类.但是找不到任何正确的坐标顺序的文档.它是标准的吗?

这是java doc链接 - > http://www.vividsolutions.com/jts/javadoc/com/vividsolutions/jts/geom/Coordinate.html

我的问题是:什么是x?(是纬度还是经度?)什么是y?(是纬度还是经度?)

任何指导表示赞赏.

更新1 让我补充一下.我正在使用GeoTools Java Library.然后,库正在使用该Coordinate类.GeoTools如何处理Coordinate.x和Coordinate.y?

java coordinate geotools

8
推荐指数
1
解决办法
5532
查看次数