Gray空间填充曲线

百度Gray编码,发现其规则如下:

1)1位格雷码有两个码字

2)(n+1)位格雷码中的前2^n个码字等于n位格雷码的码字,按顺序书写,加前缀0

3)(n+1)位格雷码中的后2^n个码字等于n位格雷码的码字,按逆序书写,加前缀1

4)n+1位格雷码的集合 = n位格雷码集合(顺序)加前缀0 + n位格雷码集合(逆序)加前缀1

其规律如下所示:


而Gary填充曲线是在Gray编码的基础发展的。构造Gray曲线的过程:1)先将X,Y轴转换成二进制值,并获得其对应的Gray编码;2)将X与Y的Gray编码两两交叉,形成新的二进制串;3)将该二进制字符串转换成其对应的Gray编码。就形成对应的Gray曲线。形成的的填充曲线如图所示:



其中步骤1,可以使用映射函数:graycode=number#(number/2),有以下规律:

假设有4位二进制码abcd和格雷码efgh

因为二进制码abcd和Gray码之间有如下结论:

e = a

f = a ^ b

g = b ^ c

h = c ^ d



其中二进制字符串转换成Gray的伪代码如下:从格雷码到序号的映射算法[4] :

Begin
number=0;
while (graycode>0) do
number=number#graycode;
graycode=graycode /2;
End.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章