百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
L

libmorton

> 编程语言
开源

C++ 仅包含头文件的库,包含用于高效编码/解码 Morten 码的方法,可在 2D/3D 坐标中进行编码/解码

660 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

C++ 仅包含头文件的库,包含用于高效编码/解码 Morten 码的方法,可在 2D/3D 坐标中进行编码/解码

Libmorton v0.2.12

  • Libmorton 是一个 仅包含头文件的 C++ 库,提供用于高效编码/解码 64、32 和 16 位 Morton 码和坐标的方法,适用于 2D 和 3D。 Morton 顺序 也称为 Z 顺序 或 Z 顺序曲线。
  • Libmorton 是一个轻量级且可移植的库 - 其唯一的依赖项是标准 C++ 头文件。可提供针对特定架构的优化。
  • 更多信息和一些基准测试请参阅以下博客文章: Morton 编码、 Libmorton 和 BMI2 指令集

使用方法 只需包含头文件 include/libmorton/morton.h。此文件中始终包含指向编码/解码 Morton 码的最有效方法的代码段函数。如果您想测试替代的(可能速度较慢)方法,可以在 include/libmorton/morton2D.h 和 include/libmorton/morton3D.h 中找到它们。所有 libmorton 功能都位于 libmorton 命名空间中,以避免冲突。

// 编码 2D/3D Morton 码, 长度为 32 位和 64 位 inline uint_fast32_t morton2D_32_encode(uint_fast16_t x, uint_fast16_t y); inline uint_fast64_t morton2D_64_encode(uint_fast32_t x, uint_fast32_t y); inline uint_fast32_t morton3D_32_encode(uint_fast16_t x, uint_fast16_t y, uint_fast16_t z); inline uint_fast64_t morton3D_64_encode(uint_fast32_t x, uint_fast32_t y, uint_fast32_t z); // 解码长度为 32 位和 64 位的 2D/3D Morton 码 inline void morton2D_32_decode(const uint_fast32_t morton, uint_fast16_t& x, uint_fast16_t& y); inline void morton2D_64_decode(const uint_fast64_t morton, uint_fast32_t& x, uint_fast32_t& y); inline void morton3D_32_decode(const uint_fast32_t morton, uint_fast16_t& x, uint_fast16_t& y, uint_fast16_t& z); inline void morton3D_64_decode(const uint_fast64_t morton, uint_fast32_t& x, uint_fa

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++c-plus-plusdecodingencodingmorton

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言