#hexagon #sphere #graphics #linear-interpolation #gamedev

hexasphere

一个用于在球面上均匀铺砌六边形的库

29 个稳定版本 (14 个主要版本)

14.1.0 2024年8月1日
14.0.0 2024年6月20日
13.1.0 2024年6月14日
12.0.0 2024年3月24日
0.1.7 2020年8月25日

#30 in 数学

Download history 19713/week @ 2024-04-30 16410/week @ 2024-05-07 16979/week @ 2024-05-14 18526/week @ 2024-05-21 20069/week @ 2024-05-28 20701/week @ 2024-06-04 16811/week @ 2024-06-11 18483/week @ 2024-06-18 18260/week @ 2024-06-25 18223/week @ 2024-07-02 20514/week @ 2024-07-09 23006/week @ 2024-07-16 23412/week @ 2024-07-23 23798/week @ 2024-07-30 24631/week @ 2024-08-06 28443/week @ 2024-08-13

104,132 每月下载量
用于 832 个crates (4 直接使用)

MIT/Apache

110KB
2.5K SLoC

hexasphere

用于分割形状(如二十面体)的库。这提供了几乎所有可能的抽象,尽管有许多预定义的形状。

在二十面体球面的情况下

几何学

这从二十面体开始,然后继续对其进行细分。细分的点形成Goldberg多面体的对应面。本质上,球面上的每个点要么是六边形,要么是五边形。

插值

使用几何slerp函数进行插值以保持其精度。


功能

  • 基本形状
    • 二十面体
    • 四面体
    • 三角形
    • 正方形
    • 立方体
  • 插值函数
    • 球面插值
    • 线性插值
    • 归一化线性插值
  • 插值中的基本优化(例如,p == 0.5)。
  • 一个邻接(邻居)映射,可以从库创建的索引生成。

还将推出一些额外的优化和生成选项。

  • 通过将它们放入自己的Vec来移除嵌套的三角形层。
  • 允许插值函数访问状态。(这允许在生成过程中采样噪声等操作)。

许可证

Hexasphere 根据 MIT 许可证或 Apache 许可证(版本 2.0)的条款进行分发,用户可选择。

请参阅此项目的根目录中名为 LICENSE-MIT 和 LICENSE-APACHE2 的文件,以获取更多详细信息。

依赖关系

~3.5MB
~111K SLoC