HilbertOrder是一个能够在CesiumJS中实现Hilbert曲线的类。
Hilbert曲线是一种拥有空间填充特性的经典曲线,能够通过递归地画出一系列的直角拐角连接而成。在CesiumJS中,HilbertOrder类能够以Hilbert曲线的形式遍历并索引一定范围的节点。
HilbertOrder(x0, y0, nx, ny)
x0
- {Number}:起始点x坐标y0
- {Number}:起始点y坐标nx
- {Number}:范围内x轴节点数ny
- {Number}:范围内y轴节点数i
- {Number}:当前节点的横坐标j
- {Number}:当前节点的纵坐标isDone()
next()
var ho = new HilbertOrder(0,0,4,4); //创建一个Hilbert曲线,该曲线应包含16个节点
while (!ho.isDone()) {
var node = ho.next();
console.log(node);
}
输出结果:
{i: 0, j: 0}
{i: 0, j: 1}
{i: 1, j: 1}
{i: 1, j: 0}
{i: 2, j: 0}
{i: 3, j: 0}
{i: 3, j: 1}
{i: 2, j: 1}
{i: 2, j: 2}
{i: 3, j: 2}
{i: 3, j: 3}
{i: 2, j: 3}
{i: 1, j: 3}
{i: 1, j: 2}
{i: 0, j: 2}
{i: 0, j: 3}