六边形网格快速定位

文章探讨了六边形网格相对于正方形网格在游戏场景管理中的优势,强调其间距一致性的特点,有助于均匀广播消息。六边形网格在无线通讯等领域也有广泛应用。提供了一个JavaScript实现的示例,允许鼠标查询。
               

转载自:http://www.thecodeway.com/blog/?p=1811&cpage=1#comment-4012

    在游戏中,一般使用正方形网格管理二维场景中的各种物体,这种网格简单快速,但缺点就是相邻网格的间距是不均匀的,因为对角相邻的网格的间距要比左右相邻的间距要大。
    一个解决方法是使用蜂窝状的六边形网格代替正方形网格,六边形相邻网格之间的距离是固定的,这个特性带来的好处显而易见,当我们需要通过网格广播消息时,六边形网格所覆盖的范围更加接近均匀。事实上,六边形网格的实际应用范围很广,比如无线通讯在塔台的覆盖范围计算上,就是使用的六边形网格,这也是手机也被被称为“蜂窝式移动电话”的原因。

六边形网格的间距是一致的


    与正方形相比,六边形网格的计算要复杂一些,首先要解决的就是定位算法,也就是给出一个点的坐标,需要定位该点所在网格。如果使用正方形网格,一个除法就可以解决,但在六边形网格中,则要麻烦一些,我从网上搜了一些相关的文章,比如 这里
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值