莫顿码(Morton code)介绍
概念
莫顿码是将多维数据转化为一维数据的编码。
莫顿编码定义了一条 Z 形的空间填充曲线,因此莫顿编码通常也称Z阶曲线(Z-order curve)。 在 N 维空间中对于彼此接近的坐标具有彼此接近的莫顿码, 可以应用于为一个整数对产生一个唯一索引。例如,对于坐标系中的坐标点使用莫顿编码生成的莫顿码,可以唯一索引对应的点。这些索引为“Z”形排序 。如下图以Z形(左上->右上->左下->右下)分别代表1*1、2*2、4*4、8*8 平方单位:
编码规则
十进制编码规则:首先,行列号转为二进制(从第0行0列开始);然后行列号交叉排列(yxyx…);最后将二进制结果转为十进制。Morton编码是按左上,右上,左下,右下的顺序从0开始对每个格网进行自然编码的。如下图(二维空间):展示了8*8的图像每个像素的空间编码,从000000到111111,用一维二进制数,编码了x,y值在0-7的位置坐标。图中蓝色数字代表x轴,红色数字代表y轴,网格中的二进制数由x和y的二进制数交叉构成。
将上图中的二进制数转为10进制,是0…63的数列,如下图:
在三维空间同样是Z形排序,xyz轴二进制位交叉(zyxzyx…),如下图4*4*4和8*8*8 立方单位
莫顿码(Morton code)介绍相关推荐
- 莫顿码Morton code的c语言实现
十进制 Morton码可以使用栅格单元的行列号计算 ###原理部分 遵循C语言规范,矩阵的第一行为"0"行.第一列为"0"列,先将十进制的行列号转换成二进制数, ...
- 三维坐标莫顿码计算 c++算法程序
莫顿码可以将多维数据转化为一维数据编码,根据一维编码位数可确定多维数据保留精度,是一种比较常用的压缩编码方法,尤其是作为哈希表的映射算法等,加速了树结构数据的存储和访问速度. 莫顿编码也叫z-orde ...
- Morton Code
莫顿码 ,实现了一维与二维(或多维)的转换.它通过交叉存储两个数的位产生一个数,即莫顿码. 可以应用于为一个整数对产生一个唯一索引. 例如,对于坐标系中的坐标点使用莫顿编码生成的莫顿码,可以唯一索引对 ...
- 痞子衡嵌入式:走进二维码(QR Code)的世界(1)- 引言
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是走进二维码(QR Code)的世界专题的引言. 如今二维码可以说是深入走进大家的生活了,推送名片.扫码支付都离不开它,大家几乎每天都会和 ...
- Code 39码与Code 128码区别
Code 39码与Code 128码区别 128 码与 Code 39 码有很多的相近性,都广泛运用在企业内部管理.生产流程.物流控制系统方面.不同的在于 Code 128 比 Code 39 能 ...
- 诺贝尔奖得主罗伯特·莫顿—唯有信任,方得科技创新
介绍莫顿教授: 罗伯特·C·莫顿(Robert C. Merton)是麻省理工斯隆管理学院的金融系特聘教授.由于他对连续时间金融学(特别是对布莱克&斯科尔斯期权定价公式(Black–Schol ...
- 根据快码的类型获取快码Lookup Code设置
根据快码的类型获取快码Lookup Code设置 在EBS系统中,值列表的来源有时候是值集,有时候是使用快码.下面介绍如何根据快码的类型,获取快码可以有的值. SELECT B.APPLICATION ...
- minio存储之纠删码(Erasure Code)
纠删码的原理介绍可以参考: https://www.jianshu.com/p/4abf65ad03af 一般上我们如果要保证数据高可用,主流的有两种策略: 多副本 纠删码 副本(Replicatio ...
- gray code java_格雷码Gray Code详解
格雷码简介 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即"首尾相连",因此又 ...
最新文章
- 查看微码的两种方式hmcaix
- python编写测试系统_纯 python 编写的一套 dubbo 测试平台
- java jar log4j_使用Log4j
- spring整合问题集合1
- InterDev 调试错误信息: Unable to set server into correct debugging state automatically....的解决办法...
- 计算机应用基础是文管二级吗,计算机应用基础(文管二级)习题册.doc
- FPGA复位激励编写(方法二)
- 【IDEA】IDEA 单元测试 System.in 没办法输入
- 【海报设计灵感】潮翻天的波普艺术海报设计
- 洛谷1031 均分纸牌 解题报告
- C# 使用RabbitMQ(二)安装
- java top tree 数据结构_Java中如何实现Tree的数据结构算法
- uniapp h5在线预览word文档ppt等
- 基于DSP的温度采集系统设计
- C++多线程并发(五)---原子操作与无锁编程
- Dreamweaver CS6破解教程[序列号+破解补丁
- Linux安装git报错make[1]: *** [perl.mak] 错误 2
- pta 循环——首字母大写
- 用python构建多只股票日收益率直方图_Barra纯因子收益率的Python实现
- 金山 V8 终端安全系统 默认弱口令漏洞