希尔伯特曲线一种能填充满一个平面正方形的分形曲线(空间填充曲线),由大卫·希尔伯特在1891年提出。由于它能填满平面,它的豪斯多夫维是2。取它填充的正方形的边长为1,第n步的希尔伯特曲线的长度是2^n - 2^-n。
clear all;
close all;
clc;
A = zeros(0,1);
B = zeros(0,1);
C = zeros(0,1);
D = zeros(0,1);
north = [ 0 1];
east = [ 1 0];
south = [ 0 -1];
west = [-1 0];
order = 5;
for n = 1:order
AA = [B ; north ; A ; east ; A ; south ; C];
BB = [A ; east ; B ; north ; B ; west ; D];
CC = [D ; west ; C ; south ; C ; east ; A];
DD = [C ; south ; D ; west ; D ; north ; B];
A = AA;
B = BB;
C = CC;
D = DD;
end
A = [0 0; cumsum(A)];
plot(A(:,1), A(:,2), 'clipping', 'off')
axis equal, axis off
输出结果: