问题标签 [hilbert-curve]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
259 浏览

java - Java中基于希尔伯特曲线的索引顺序

经过两天的搜索和尝试,我无法在 java 中实现希尔伯特曲线。

我需要将(例如)64 像素填充到基于希尔伯特曲线的正方形 8x8 图像中。我根据 Zig-Zog 曲线做了同样的事情,但是(我想做一些特征提取)结果并不令人满意。

结果:

结果

有人可以帮帮我吗?

编辑:

例如,如果我要编写一个函数来返回基于 Zig-Zog 曲线的方阵索引,它会是这样的:

0 投票
2 回答
438 浏览

c - 计算希尔伯特曲线的 XY 到 D(转换 C 代码)

我正在尝试将这篇维基百科文章中的这段代码从 C 转换为 Delphi。

我找不到与那里使用的 rot 函数等效的函数

0 投票
0 回答
881 浏览

python - 信号的包络 + 如何生成漂亮的平滑二维线动画

我正在尝试使用函数设置信号的包络obspy.signal.filter.envelope。到目前为止,我的程序正在生成 2 行:红色的是原始信号。蓝色的是用带通滤波器(filter_sinc函数)过滤的信号。

现在,我想要红色信号的包络。但是,当我运行代码时,假设是红色信号包络的绿线不是,我不明白为什么。

此外,我想制作这些线条的平滑动画,以显示它们随着时间的推移而生成,我知道这不是一个很好的结果。我怎样才能让它运行得更好?喜欢显示平滑生成的线条吗?

这是我的 test.dat 文件: 文件

和代码:

0 投票
2 回答
844 浏览

python - python打印语法错误

我正在 Xcode IDE 中试验用 Python 编写的希尔伯特曲线。代码清单是:

我从 Xcode 收到以下错误:文件“/Users/248239j/Desktop/hilbert/hilbertexe.py”,第 12 行打印 '%s %s' % (X, Y) ^ SyntaxError: invalid syntax

任何人都可以替代该代码行。提前致谢。我今天开始使用python。

0 投票
0 回答
198 浏览

c - 如何调用希尔伯特曲线编码 C 例程

我试图运行用 C 编写的希尔伯特曲线代码,我在这里找到了 http://www.tddft.org/svn/octopus/trunk/src/grid/hilbert.c

代码运行,但我从输出中得到的结果不正确。我制作了一个简单的驱动程序例程,它从命令行获取 3 个值作为参数,并将它们传递给希尔伯特曲线编码、解码例程。更准确地说,我无法解码回原始坐标 (x,y,z)。

我的问题之一是了解变量nbits在做什么。我假设它是编码希尔伯特值的大小。为了检查这一点,我尝试修改其中一个函数的原始定义

我分配给*size位计数变量 ifbit 的位置。无论如何,这一切都没有奏效。因此,我想寻求您的帮助。

修改后的代码在这里:

0 投票
1 回答
944 浏览

performance - 如何提高希尔伯特图像扫描的性能?

这种基于希尔伯特曲线的图像扫描方法。曲线看起来像(从 1 到 6 阶): 在此处输入图像描述

它可用于图像扫描。因此,例如,我的三阶曲线代码是:

而且它工作得很快。我为 8 阶和 9 阶曲线制作了相同的函数,但它的工作速度非常非常慢。9阶,也许,永远不会结束。至少,我没有耐心等待结束 - 2小时后我刚刚关闭了程序。但 7 阶曲线运行 15 秒。怎么了?我可以做同样的事情,但更快吗?是的,程序需要读取 512 * 512 个数组元素,但让它更快也不是不可能。

所以,我到底需要什么 - 我有数组元素的坐标,它们按应该读取的顺序排列。我需要可接受的时间来读取它们并写入新数组。怎么做?

ps 英语对我来说仍然很难,如果有不清楚的地方 - 请问我。

0 投票
1 回答
787 浏览

image - 如何通过余弦相似度的向量来表示图像或音频?

我知道余弦相似度可以用来衡量两个图像或音频的相似程度。

但我不明白如何将图像表示为 N 维向量。对于文本文档d,每个i-th维度代表词t_i,它的标量分量代表它在文档中的频率。问题是我无法为图像(或音频)文件找出相同的“映射”。

我想到的唯一解决方案是我们有 M 维向量,其中 M 是图像中的像素数(数百万维?这太疯狂了!),值是“像素有多暗”代表白色的最大值,但我强烈认为该解决方案不是使用的解决方案。我不知道如何为音频文件做到这一点。

0 投票
4 回答
307 浏览

algorithm - 在 Matlab 中将双变量绘制转换为单变量绘制

我想到了在 Matlab 中运行的以下实验,我正在寻求帮助来实现步骤 (3)。任何建议将不胜感激。

(1) 考虑随机变量XY均均匀分布在[0,1]

(2)N从联合分布中提取实现,X假设YXY独立的(意味着XY均匀地联合分布在 上[0,1]x[0,1])。每次抽奖将在[0,1]x[0,1].

(3)使用 Hilbert 空间填充曲线对 draw in[0,1]x[0,1]中的每个 draw in 进行变换[0,1]:在 Hilbert 曲线映射下,draw in[0,1]x[0,1]应该是 中的一个(或多个由于超射性)点的图像[0,1]。我想选择这些点之一。Matlab 中是否有任何预先构建的软件包可以做到这一点?

我找到了这个答案,我认为这不是我想要的,因为它解释了如何获得平局的希尔伯特值(从曲线起点到选取点的曲线长度)

在维基百科上,我在 C 语言中找到了这段代码(从(x,y)to d),这同样不能满足我的问题。

0 投票
3 回答
1749 浏览

algorithm - Hilbert-Peano 曲线扫描任意大小的图像

我已经用 Python(来自 Matlab 的)编写了 Hilbert-Peano 空间填充曲线的实现来展平我的 2D 图像:

但是,经典的 Hilbert-Peano 曲线仅适用于形状为 2 的幂的多维阵列(例如:在二维阵列(图像)的情况下为 256*256 或 512*512)。

有人知道如何将其扩展到任意大小的数组吗?

0 投票
1 回答
577 浏览

hilbert-curve - 如何在 Hilbert Curve QuadTree 和 S2 Geometry CellId 之间进行转换

问题

假设我知道 Hilbert Curve Face 和 Quadtree,例如4/032212303102122(face 4, level 15)。

或者我知道 S2 Geometry CellId,例如9749618424903892992.

如何从一种转换为另一种?

应用

(这是你需要为Pokemon GOIngress地图做的事情)

勘探

我正在尝试在 JavaScript 中执行此操作,并且存在一个用于操作 64 位整数 ( long.js) 以及 S2CellIds ( s2-geometry.js) 的库。

另外,我对通过简单地通过添加或减去基数四数来行走希尔伯特曲线感觉非常好(除了交叉脸时,但这种情况很少发生,我会没事的......一段时间......),只是不确定如何使用 64 位 id 来回切换。