hilbert-curve相关内容

将 N 维值映射到希尔伯特曲线上的一个点

我有大量的 N 维点(数千万;N 接近 100). 我需要将这些点映射到一个维度,同时保留空间局部性.我想使用 Hilbert 空间填充曲线来做到这一点. 对于每个点,我想选择曲线上最近的点.该点的希尔伯特值(从曲线起点到选取点的曲线长度)是我寻求的单维值. 计算不一定是即时的,但我预计不会超过几个小时在体面的现代家用 PC 硬件上. 对实施有什么建议吗?有没有可以帮助我的 ..
发布时间:2021-12-06 20:01:23 其他开发

在 Python 中生成 3D Hilbert 空间填充曲线的算法

我想将 RGB 颜色立方体中的点映射到 Python 中的一维列表,以使颜色列表看起来美观且连续. 我相信使用 3D Hilbert 空间填充曲线将是一个很好的方法来做到这一点,但我已经搜索过,但没有找到对这个问题非常有用的资源.特别是维基百科只提供了生成二维曲线的示例代码. 解决方案 这篇论文好像讨论的挺多的:三维希尔伯特空间填充曲线清单. 引自摘要: 希尔伯特的二维空 ..
发布时间:2021-11-25 00:54:56 Python

使用海龟图形和递归的希尔伯特曲线

我正在尝试使用 python 海龟图形和递归来实现 L 系统生成的希尔伯特曲线.我的代码似乎适用于递归 n=1 和 n=2 的前两个级别,但除此之外,图形只是纠缠不清(尽管我能够观察其中的更多模块),我似乎无法理解这里可能有什么问题,我是否需要一些中间步骤来重新生成 Hilbert 模块以进行更深层次的递归?请看我下面的代码,它比较简单: 导入海龟def Hilbert_curve(A,rule ..
发布时间:2021-07-05 19:12:45 Python

在Python中生成3D希尔伯特空间填充曲线的算法

我想将RGB颜色立方体中的点映射到Python中的一维列表,以使颜色列表看起来美观且连续。 我相信使用3D希尔伯特空间填充曲线将是实现此目的的一种好方法,但是我进行了搜索,但没有找到非常有用的资源来解决此问题。尤其是Wikipedia仅提供了用于生成2D曲线的示例代码。 解决方案 本文似乎有很多讨论: 三维希尔伯特空间填充曲线的清单。 引用摘要: 希尔伯特的二维空间填充 ..
发布时间:2020-05-31 20:58:07 Python

将希尔伯特值映射到3D点

我有一组希尔伯特值(从希尔伯特曲线开始的长度给定点). 将这些值转换为3D点的最佳方法是什么?原始的希尔伯特曲线不在3D中,因此我想我必须自己选择所需的希尔伯特曲线等级.我确实有总的曲线长度(即集合中的最大值). 也许有一个现有的实现?一些可以让我使用希尔伯特曲线/值的库?语言无关紧要. 解决方案 不是有关3D转换的答案,但是这里有一个很好的算法和关于希尔伯特值的讨论带有空间填 ..
发布时间:2020-05-06 11:04:16 其他开发

实现互联网的希尔伯特地图

在 XKCD漫画195 设计为互联网地址空间的映射使用的给定一个IP地址,我将如何计算它的二维坐标(范围在零到一)在这样的地图? 解决方案 这是pretty的容易,因为希尔伯特曲线是分形,也就是说,它是递归的。它通过水平和垂直平分每个方块,将其划分成四大块。所以你把IP地址的两个位的时间,从左边开始,并使用它们来确定象限,然后继续,使用接下来的两比特,以该象限而不是整个正方形,并​​依此类推, ..
发布时间:2015-11-30 14:44:21 C/C++

映射N维值到希尔伯特曲线上的点

我有一组N维穴巨大(几千万; N是接近100)。 我需要将这些点映射到,而preserving空间局部性一个维度。我想用 Hilbert空间填充曲线做到这一点。 有关各点我要挑曲线上的最近点。点(从曲线到采摘点开始曲线长度)的希尔伯特值是单一维度的价值我所追求的。 计算并不一定是即时的,但我希望它不会超过几个小时以上 体面现代家庭PC硬件。 实施有什么建议?是否有任何库,将帮助我吗? (语 ..
发布时间:2015-11-30 13:28:58 C/C++