Tag: 坐标

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

我习惯于使用PHP进行编码,但是我对Java并不熟练,现在这已经成为一个问题了。 我期望它是一个相当简单的解决scheme,但是我找不到任何好的示例代码,所以我在这里search: 我正在编程一个游戏,发生在基于瓦片的地图上的二维随机生成的无限世界中(我知道它不会是真正无限的,我只是期望世界变得相当大)。 map [x] [y]multidimensional array的常用方法是作为一个基本思想开始的,但是由于Java没有为像PHP这样的非整数(即负数)的数组关键字提供一种方法,我不能正确地使用( – x,+ x,-y,+ y)带有数组键的坐标系统。 我需要能够在一个特定的x,y坐标上查找一个图块上的对象,以及查找某个图块的“相邻图块”。 (微不足道,如果我可以getObjectAt(x,y),我可以得到(x + 1,y)等) 我读过四叉树和R树等。 这个概念是令人兴奋的,但是我还没有看到Java中的任何好的,简单的示例实现。 除此之外,我不确定这是否正是我所需要的。 任何build议是受欢迎的 谢谢

绘制python matplotlib中的(x,y)坐标列表

我有一对列表(a, b) ,我想用matplotlib在python中作为实际的xy坐标进行绘图。 目前,它正在绘制两张图,其中列表的索引给出了x坐标,第一个图的y值是对中a s,第二个图的y值是对中的b s。 为了澄清,我的数据如下所示: li = [(a,b), (c,d), … , (t, u)]我想做一个简单的调用plt.plot()不正确。 如果我不需要一个单线,我可以平凡地做: xs = [x[0] for x in li] ys = [x[1] for x in li] plt.plot(xs, ys) 我怎样才能让matplotlib把这些对绘制成xy坐标? 感谢所有的帮助!

覆盖地球与六angular形地图瓷砖

许多战略游戏使用六angular形瓷砖。 其中一个主要的优点是任何瓦片的中心与其所有相邻的瓦片之间的距离是相同的。 我想知道是否有人想把传统的地理系统(经度/纬度)与六边形瓷砖系统结合起来。 我认为用六angular形瓷砖覆盖地球仪并能够将地理坐标映射到瓷砖会很有趣。 有没有人看过任何远在此之前? UPDATE 我正在寻找一种细分球体表面的方法,以便每个球体具有相同的表面积。 理想的情况是,相邻分区的中心是等距的。

计算两个坐标之间距离的函数显示错误

我目前正在使用下面的function,它显示了一个小错误。 根据谷歌地图, 这些坐标之间的距离(从59.3293371,13.4877472到59.3225525,13.4619422)是2,2公里,而function显示为1.6公里。 我怎样才能使查克的function显示正确的距离? function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) { var R = 6371; // Radius of the earth in km var dLat = deg2rad(lat2-lat1); // deg2rad below var dLon = deg2rad(lon2-lon1); var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(dLon/2) * Math.sin(dLon/2) ; var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R […]

在给定图片上将long / lat转换为像素x / y

我有一张莫斯科的城市地图。 我们用一些艺术元素修改了Google Maps图像,但是GPS坐标和像素之间的关系保持不变。 问题:如何将GPS坐标从我们拥有的各种数据点转换成图像中的像素坐标? 理想情况下,我可以在Javascript中做到这一点,但PHP会好的。 我知道,在小尺度上(例如在城市尺度上),它足够简单了(需要了解哪个地理坐标有一个图片边angular,然后学习坐标轴上的一个图片上的一个像素的“价格” OX和OY)。 但在大规模(国家规模)中,一个像素的“价格”将不是一个常数,而且会有很大的变化,上述方法不能适用。 如何解决国家尺度上的问题? 更新: 我不使用API​​谷歌地图,我只有:对象的地理坐标(他们是从谷歌地图),我仍然在我的网站有一个简单的图片*。 gif,其中我必须绘制一个相应的地理坐标点。

如何在特定坐标中定位DIV?

我想定位一个DIV在一个特定的坐标? 我怎样才能使用JavaScript?

获取视图的相对于根布局的坐标

我可以得到一个视图的X和Y位置相对于我的活动在Android的根布局?

多边形触摸检测Google Map API V2

我试图找出如何最好地做到这一点,我有一个地图上绘制一个Polygon 。 因为Google Maps API V2似乎没有在Polygon上进行触摸检测。 我想知道是否可以检测触点是否在Polygon内? 如果是这样,那么我的主要目标是在地图上勾画一个状态,当用户点击该状态时,它将在自定义视图中显示更多细节。 到目前为止,我能够捕获地图的MapOnClick ,但是当用户在Polygon内部点击时,我想要在Toast上设置polygon.getID() 。 我是一个新手,所以如果我不够清楚,我很抱歉。 googleMap.setOnMapClickListener(new OnMapClickListener() { public void onMapClick(LatLng point) { boolean checkPoly = true; Toast.makeText(MainActivity.this,"The Location is outside of the Area", Toast.LENGTH_LONG).show(); } }); } } catch (Exception e) { Log.e("APP","Failed", e); } 好的,这是我迄今为止的半工作 private boolean rayCastIntersect(LatLng tap, LatLng vertA, LatLng vertB) { double aY […]

内联Matplotlib中的标签

在Matplotlib中,创build一个图例( example_legend() ,下面)并不难,但是我认为把标签放在被绘制的曲线上是更好的方式(如下面的example_inline() )。 这可能非常复杂,因为我必须手动指定坐标,如果重新格式化graphics,我可能不得不重新定位标签。 有没有办法在Matplotlib曲线上自动生成标签? 加分点可以将文本定位在与曲线angular度对应的angular度。 import numpy as np import matplotlib.pyplot as plt def example_legend(): plt.clf() x = np.linspace(0, 1, 101) y1 = np.sin(x * np.pi / 2) y2 = np.cos(x * np.pi / 2) plt.plot(x, y1, label='sin') plt.plot(x, y2, label='cos') plt.legend() def example_inline(): plt.clf() x = np.linspace(0, 1, 101) y1 = np.sin(x […]

计算两个CLLocationCoordinate2D之间的方位

非常“简单”的问题:给定两个CLLocationCoordinate2D,我怎么能从第一个到第二个获得方位(弧度)? 我已经做了大量的研究和研究,包括一般问题和Objective-C / Cocoa Touch / iOS。 这是我的实现: – (float) getHeadingForDirectionFromCoordinate:(CLLocationCoordinate2D)fromLoc toCoordinate:(CLLocationCoordinate2D)toLoc { float fLat = fromLoc.latitude; float fLng = fromLoc.longitude; float tLat = toLoc.latitude; float tLng = toLoc.longitude; return atan2(sin(fLng-tLng)*cos(tLat), cos(fLat)*sin(tLat)-sin(fLat)*cos(tLat)*cos(fLng-tLng)); } 但是,这个方法对我来说不是一致的结果。 如果方位接近正北或南方,似乎没有问题,但是,任何其他方向似乎都会返回不一致的数据,例如: 从50.405018,8.437500 至51.339802,12.403340 我的方法返回:5.918441弧度 应该是1.18660576弧度 (见http://www.movable-type.co.uk/scripts/latlong.html和http://www.movable-type.co.uk/scripts/latlong-map.html?lat1=50.405018&long1=8.437500 &lat2 = 51.339802&long2 = 12.403340 ) 我已经双重和三重检查公式是正确的。 我也发现了一堆像上面这个例子那样的值,有些是正确的,有些是错误的。 我玩过各种模块或者返回值的边界,也没有运气。 有任何想法吗? 我的代码有问题吗? 也许我误解了math函数的工作原理?