Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >十六进制地图的生成问题

十六进制地图的生成问题
EN

Stack Overflow用户
提问于 2010-12-12 00:29:32
回答 3查看 604关注 0票数 1

我有一个构建十六进制映射的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int diamater = 32;    
int grid_x_size = 19;  
int grid_y_size = 5;  
for (int x=0; x<grid_x_size; x++) {  
    for (int y=0; y<grid_y_size; y++) {  
        int x_position = diamater*x+(y%2)*diamater/2;  
        int y_position = diamater*y;  
        add(new ImageSprite(image, x_position, y_position, diamater, diamater));  
     }  
}  

它看起来是这样的:Screnshot

为什么行之间会有距离?球不是密密麻麻的?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-12 00:31:15

您正在尝试生产hexagonal packing,而不是方形包装。

圆中心之间的垂直距离应该小于直径,因为第二行的顶部填充了第一行底部之间的孔,导致前两行的边界框略有重叠。请注意,在第一张图片中只有五行圆圈,但在第二张图片中有六行,尽管第二个填充不会占用更多的垂直空间。

行之间的实际高度差是边等于圆直径的height of an equilateral triangle,例如,可以使用Pythagorean Theorem计算。

试试y_position = sqrt(3)/2 * diameter * y

票数 2
EN

Stack Overflow用户

发布于 2010-12-12 00:35:58

三个相邻圆的中心形成一个等边三角形,边长度为直径(在您的示例中为32)。因此,底部圆的中心与连接顶部圆中心的直线之间的距离将是sqrt(3)/2乘以该值(在您的示例中为27.7)。所以,int y_position = 27.7 * y;

票数 0
EN

Stack Overflow用户

发布于 2010-12-12 00:40:06

y_pos计算是您的错误:

这应该可以解决这个问题: int y_position = sin(pi / 3) * diamater * y;

您可能希望缓存sin(pi/3)以提高性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4419791

复制
相关文章
js生成随机十六进制颜色
生成随机十六进制颜色 <script> function randomHexColor() { //随机生成十六进制颜色 var hex = Math.floor(Math.random() * 16777216).toString(16); //生成ffffff以内16进制数 while (hex.length < 6) { //while循环判断he
江一铭
2022/06/16
5.2K0
WOW小地图生成
参考wowmapview写了一个小地图查看的控件, 可以载入*.wdl文件解析出一张类似于"卫星图"的东西 WDL文件保存的是WOW地图的低精度高度数据, 冒似用来做远处的LOD的 每个地图最大是64*64个tile, 而一个tile它保存了17*17 + 16*16个16位的高度数据. 如果生成一张512*512大小的小地图的话, 每个tile就只有8*8个像素 因此, 我们只取17*17中的偶数点 下面这张是Kalimdor的生成效果 #pragma once  using namespace Sy
逍遥剑客
2018/05/23
1.1K0
随机生成十六进制颜色值代码实例
实现了动态生成十六进制颜色值的功能。 代码实例如下: function randomColor() { var arrHex = ["0", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d"], strHex = "#", index; for (var i = 0; i < 6; i++) { index = Math.round(Math.random() * 15); strHex +=
IT工作者
2021/12/28
6680
从GIS地图生成生成建筑模型
01截取要生成的地块 02PS处理要生成的地块 03inkscape生成SVG 04Blender导入SVG减面后再生成建筑体块 05最终效果
Ning@
2021/11/10
1.2K0
从GIS地图生成生成建筑模型
wordpress生成站点地图sitemap的方法
未经允许不得转载:肥猫博客 » wordpress生成站点地图sitemap的方法
超级小可爱
2023/02/20
6890
php生成站点地图sitemap
$data=[ ['loc'=>'https://www.cuiwei.net/', 'lastmod'=>'2009-01-01'],//首页 ]; $xml=createXML($dat
崔哥
2022/05/25
1.6K0
生成游戏地图文件
做很多游戏,都需要有地图,而地图一般是根据地图文件来生成的。 比如下面是一个推箱子游戏的第一关,里面的游戏角色都是通过文件自动摆上的。 地图关卡文件: 这种文件可以通过自己手动写上,也可以通过一些
叶子陪你玩
2021/04/29
9010
生成游戏地图文件
Hexo-生成sitemap站点地图
站点地图是一种文件,您可以通过该文件列出您网站上的网页,从而将您网站内容的组织架构告知Google和其他搜索引擎。搜索引擎网页抓取工具会读取此文件,以便更加智能地抓取您的网站。
用户6808043
2022/02/25
1.1K0
Hexo-生成sitemap站点地图
如何为LARAVEL生成站点地图
站点地图是提升应用程序SEO的最重要部分。在这里,我将尝试解释在Laravel应用中实现动态站点地图的最简单方法。
Lemon黄
2020/04/01
1.5K0
如何为LARAVEL生成站点地图
Unity 随机房间地图生成
无论是在迷宫还是类似于地牢的游戏地图中,利用程序来生成每次都不一样的地图是一件叫人兴奋不已的事。
汐夜koshio
2020/04/01
2.3K0
Unity 随机房间地图生成
Unity 随机地图房间通道生成
https://www.cnblogs.com/koshio0219/p/12604383.html
汐夜koshio
2020/04/24
1.4K0
Java生成十六进制的MD5加密字符串
import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * @author joymufeng */ public class Md5 { private static MessageDigest digester; static { try { digester = M
joymufeng
2018/05/17
2.4K0
高德地图marker的遮挡问题
大家好,又见面了,我是你们的朋友全栈君。 高德地图marker的遮挡问题 var marker = new AMap.Marker({ position: [ longitude,latitude, ], map: map, icon: startIcon, }); marker.on("mouseover",
全栈程序员站长
2022/08/31
9290
Echarts 地图生成 以及生成geojson文件(附带完整代码)
前言:需要实现的效果就是生成省级地图,点击省级地图中的市切换至市级地图。为了自己方便查阅,也方便大家使用。
全栈程序员站长
2022/11/16
2.6K0
Echarts 地图生成 以及生成geojson文件(附带完整代码)
Echarts中地图引用问题
2、引用并使用 在初始化echarts实例前,调用echarts.registerMap方法, 在option的geo属性设置对应值
码客说
2023/10/19
1.6K0
Springboot动态生成网站地图sitemap教程
发现自从换了一套博客程序后,之前搜索引擎抓取的链接都失效了,所以才有此想法采用java生成动态的网站地图。 # 步骤一 创建实体 > SiteMapVo
用户9131103
2023/07/17
7410
Python 十六进制hex-bytes-str之间的转换和Bcc码的生成
做测试模拟器用到了hex-bytes-str之间的转换bcc码的校验,这里总结了一些方法分享给大家。
wencheng
2020/10/22
1.1K0
Python 十六进制hex-bytes-str之间的转换和Bcc码的生成
制作地图及常见问题
腾讯云商业智能分析团队
2017/08/31
1.7K0
制作地图及常见问题
几个问题的思考:时差问题、地图算法和 Windows 更新
有时候忽然上下班路上,会去思考一些司空见惯的问题,有一些问题随着思考深入,发现还挺有意思的,就记录在这里。问题之间关联关系不大,有点散。
四火
2022/07/19
6850
几个问题的思考:时差问题、地图算法和 Windows 更新
点击加载更多

相似问题

站点地图生成问题

10

在shiny中涉及地图生成的问题

126

Gatsby js中站点地图生成的问题

11

使用Java掩码图像的十六进制制作地图冲突的问题

12

利用Perlin噪声生成地砖地图的基本问题

18
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文