힐베르트 곡선 탐구
힐베르트 곡선: 하나의 선으로 어떻게 공간 전체를 채울 수 있을까?
펜을 쥐고 펜촉이 오직 하나의 연속된 선을 따라서만 움직인다고 상상해 보세요. 이때 펜을 종이에서 떼거나 두 번째 선을 그릴 수는 없습니다. 자, 이제 이 하나의 연속된 선을 이용해 정사각형의 전체 영역을 훑고 지나가 보는 것이 과제입니다.
불가능하게 들리지 않나요? 선은 1차원인 반면 정사각형은 2차원이니까요. 두께가 없는 1차원의 선이 어떻게 2차원의 면을 모두 덮을 수 있을까요?
하지만 수학자 힐베르트는 선을 반복적으로 구부리고 다듬으면 정말 놀라운 일이 벌어진다는 것을 보여주었습니다. 이것이 바로 힐베르트 곡선입니다.
아주 단순한 패턴에서 시작하기
힐베르트 곡선의 첫 번째 단계는 사실 꽤 단순합니다. U자 모양으로 떠올려 볼 수 있죠.
복잡한 수학이나 정교한 세부 사항은 없습니다. 그저 하나의 구부러진 선일 뿐입니다.
이것이 바로 초기 형태의 힐베르트 곡선입니다.
다음 단계에서는 어떤 일이 일어날까요?
이제 이런 의문이 생깁니다. 이 곡선을 더 복잡하게 만들려면 어떻게 해야 할까요?
자연스럽게 떠오르는 생각은 방금 만든 모양을 여러 개 복사한 뒤 서로 연결하는 것입니다.
그래서 U자형 곡선의 크기를 줄여 4개의 작은 U자형 곡선을 만들고, 이를 정사각형의 4개 구역(사분면)에 배치합니다.
하지만 과정이 그리 간단하지만은 않습니다. 4개의 U자형 곡선이 모두 원래의 방향을 유지한다면, 그 끝점들이 자연스럽게 연결되지 않기 때문입니다. 따라서 일부 U자형 곡선은 회전시키거나, 경우에 따라 뒤집어야 합니다. 그래야 4개의 작은 곡선이 서로 연결될 수 있는 올바른 방향으로 배치될 수 있습니다. 전체 과정은 크기 축소 → 배치 → 회전/뒤집기 → 연결 순서로 진행됩니다.
그 결과, 원래의 곡선보다 훨씬 더 복잡한 형태의 연속적인 곡선이 만들어집니다.
여기서 흔히 이런 질문이 나올 수 있습니다. 왜 단순히 4개의 U자형 곡선을 나란히 놓기만 하면 안 될까요?
우리가 만들고자 하는 것은 서로 끊어진 4개의 곡선이 아니라 하나로 이어진 연속적인 곡선이기 때문입니다. 따라서 각 작은 곡선의 시작점과 끝점이 올바른 위치에 놓여야 합니다. 회전이나 뒤집기를 통해 작은 곡선들의 방향을 바꾸면 서로 연결될 수 있게 됩니다.
그러므로 회전은 단순히 패턴을 '더 보기 좋게' 만드는 작업이 아닙니다. 이는 각 부분이 올바른 방향으로 연결되도록 보장하는, 구성 과정의 핵심 단계입니다. 동시에 4개의 작은 곡선을 각각 다른 구역에 배치함으로써, 곡선들이 한곳에 뭉치지 않고 정사각형 안의 특정 영역을 차지하도록 할 수 있습니다.
하지만 정말 중요한 부분은 그 다음에 이어집니다
이제 우리는 처음에 시작했던 것보다 훨씬 복잡한 곡선을 얻었습니다. 그렇다면 다음 단계에서는 어떤 일이 일어날까요?
이것이 바로 힐베르트 곡선의 핵심입니다. 방금 얻은 전체 도형이 다음 단계의 도형을 구성하는 토대가 되는 것입니다. 다시 말해, 매번 처음의 'U'자 모양에서 다시 시작하는 것이 아니라, 이전 단계의 곡선 전체가 다음 단계를 만드는 데 사용되는 기본 형태가 됩니다.
다음 단계에서는 이전 단계의 도형(더 이상 단순한 'U'자가 아닌)을 다시 축소하고, 이를 네 개로 복사하여 정사각형의 각 구역에 배치한 뒤, 필요에 따라 회전하거나 뒤집어서 서로 연결합니다. 그 결과 훨씬 더 복잡한 곡선이 만들어집니다.
이 단계가 완료되면 과정을 계속 이어갈 수 있습니다.
방금 만든 곡선을 다음 단계의 기초로 삼아 '축소 → 배치 → 회전/반전 → 연결'의 과정을 거치면, 한 차원 더 높은 단계의 곡선이 탄생합니다.
그리고 이 과정을 계속해서 반복해 나가는 것이죠.
결국 힐베르트 곡선의 본질은 그 자체로 엄청나게 복잡한 특정 형태에 있는 것이 아닙니다. 오히려 아주 단순한 규칙들의 집합이라고 할 수 있습니다. 즉, 이전 단계의 곡선을 여러 부분으로 축소하고, 재배치하고, 방향을 조절하여 연결한 뒤 이 과정을 반복하는 것입니다. 단순한 규칙이 끊임없이 반복되면서, 궁극적으로는 믿을 수 없을 만큼 복잡한 구조를 만들어내는 것입니다.
하지만 정말 중요한 부분은 그다음 단계에 있습니다
이제 우리는 처음에 시작했던 것보다 훨씬 복잡한 곡선을 얻었습니다. 그렇다면 다음 단계에서는 어떤 일이 일어날까요?
이것이 바로 힐베르트 곡선의 핵심입니다. 방금 얻은 전체 도형이 다음 단계의 도형을 구성하는 토대가 되는 것입니다. 다시 말해, 매번 처음의 'U'자 모양에서 다시 시작하는 것이 아니라, 이전 단계의 곡선 전체가 다음 단계를 만드는 데 사용되는 기본 형태가 됩니다.
다음 단계에서는 이전 단계의 도형(더 이상 단순한 'U'자가 아닌)을 다시 축소하고, 이를 네 개로 복사하여 정사각형의 각 구역에 배치한 뒤, 필요에 따라 회전하거나 뒤집어서 서로 연결합니다. 그 결과 훨씬 더 복잡한 곡선이 만들어집니다.
이 단계가 완료되면 과정을 계속 이어갈 수 있습니다.
방금 얻은 곡선 전체를 다음 차수의 도형을 구성하는 기초로 삼습니다. 그런 다음 축소 → 배치 → 회전/뒤집기 → 연결의 과정을 거쳐 더 높은 차수의 곡선을 만들어냅니다.
그리고 계속해서, 또 계속해서 이 과정을 반복합니다...
결국 힐베르트 곡선의 본질은 특정한 복잡한 형태 그 자체가 아니라, 매우 단순한 규칙들의 집합에 있습니다. 즉, 이전 차수의 곡선을 여러 부분으로 축소하고, 재배치하며, 방향을 조정하고, 연결한 뒤 이 과정을 반복하는 것입니다. 단순한 규칙이 끊임없이 반복되면서 마침내 믿을 수 없을 만큼 복잡한 구조를 만들어내는 것입니다.
‘차수(Order)’란 무엇인가?
힐베르트 곡선이 생성되는 각 단계를 차수(order)라고 부를 수 있습니다.
1차수(Order 1)는 가장 단순한 U자 형태만으로 이루어져 있습니다.
2차수(Order 2)는 크기를 줄이고 방향을 조정한 1차수 곡선 4개로 구성되며, 곡선이 점차 복잡해지기 시작합니다.
3차수(Order 3)에서는 2차수 곡선이 더 작은 부분들로 세분화되며, 뚜렷한 격자(grid) 형태의 구조가 나타나기 시작합니다.
4차수(Order 4)는 꺾이는 부분이 훨씬 잦아지고 선들이 더 조밀하게 배치된 모습을 보입니다.
5차수(Order 5)에 이르면 정사각형 전체가 매우 조밀한 곡선으로 채워집니다.
즉, 차수가 높을수록 재귀적(recursive) 생성 과정이 더 많이 반복됨을 의미합니다. 간단히 말해, 여기서 ‘재귀’란 이전에 얻은 결과를 사용하여 다음 결과를 만들어내는 것을 뜻합니다.
차수가 높아질수록 곡선은 더욱 조밀해집니다. 더 이상 평범한 ‘선’처럼 보이지 않고, 점차 빈틈없이 빽빽하게 채워진 2차원 지도와 같은 모습이 됩니다.
과정을 계속 진행하면 선 사이의 간격이 좁아집니다. 차수를 더 높이면 간격은 더욱 좁아지고, 다시 차수를 높이면 곡선은 한층 더 조밀해집니다.
이 과정을 무한히 반복하면 매우 직관에 반하는 결과에 도달하게 됩니다. 바로 이 연속적인 곡선이 정사각형 전체를 채울 수 있다는 것인데, 이것이 힐베르트 곡선의 가장 유명한 특징입니다.
선이 정말로 면이 될 수 있을까요?
여기서 잠시 설명을 덧붙이겠습니다. '힐베르트 곡선이 정사각형 전체를 채운다'고 할 때, 이는 단순히 굵은 선을 그려 정사각형 내부를 색칠한다는 뜻이 아닙니다.
실제 의미는 다음과 같습니다. 곡선의 차수(order)가 무한대로 커짐에 따라, 힐베르트 곡선이 정사각형 내부의 모든 점을 지나게 된다는 것입니다.
다시 말해, 정사각형 내부의 어느 위치를 선택하더라도 그에 대응하는 곡선 위의 점이 존재합니다.
따라서 힐베르트 곡선은 공간 채움 곡선(space-filling curve)으로 분류됩니다.
'공간 채우기(space-filling)'는 무슨 뜻인가요?
아주 성실한 로봇이라고 생각하면 됩니다.
이 로봇은 정해진 경로를 따라 움직입니다. 날거나 점프하거나 순간 이동을 할 수는 없으며, 오직 연속된 경로를 따라서만 이동할 수 있습니다.
경로가 비교적 단순할 때는 정사각형의 특정 구역만 지나갑니다. 하지만 곡선이 점점 더 정교해짐에 따라 경로는 더 조밀해집니다. 더 작은 구역으로 들어가고, 회전하여 돌아오고, 다음 구역으로 들어가고, 다시 돌아오는 과정을 반복합니다...
경로는 더욱 세밀해지며 점점 더 넓은 공간을 채워 나갑니다. 마침내 극한의 단계에 이르면, 정사각형 내부의 모든 지점을 이 경로가 지나가게 됩니다.
이것이 바로 '공간 채우기(space-filling)'라고 불리는 현상입니다.
이제 더 근본적인 질문으로 돌아가 봅시다. 왜 힐베르트 곡선은 도달할 수 없는 빈 곳을 남기지 않고 결국 정사각형 전체를 채우게 될까요? 그 핵심은 곡선을 생성하는 과정에서 공간을 지속적으로 세분화한다는 점에 있습니다.
낮은 차수(order)에서는 정사각형이 비교적 큰 구역으로 나뉘고 곡선이 그 안으로 들어갑니다. 차수가 높아지면 이 구역들은 더 작은 구역으로 쪼개지고 곡선은 계속해서 그 안으로 들어갑니다. 다음 차수에서는 이 구역들이 다시 세분화됩니다. 즉, 공간은 점점 더 잘게 나뉘고 곡선은 점점 더 조밀해지는 것입니다. 결과적으로 차수가 높아질수록 곡선 구간 사이의 간격은 줄어듭니다. 무한히 세분화되는 극한의 상황에서는 이 간격이 0에 가까워집니다. 따라서 어떤 작은 구역이라도 영원히 곡선이 도달하지 못하는 상태로 남아 있을 수는 없습니다.
이를 점점 더 세밀해지는 훑기(sweeping) 과정으로 시각화해 볼 수 있는데, 이는 힐베르트 곡선을 이해하는 가장 직관적인 방법 중 하나입니다.
펜으로 정사각형 전체를 따라 그리는 모습을 상상해 보세요.
1차수(Order 1): 비교적 단순한 경로를 그리면, 큰 빈 공간들이 남게 됩니다.
2차수(Order 2): 경로가 더 조밀해지고 빈 공간은 줄어듭니다.
3차수(Order 3): 경로가 훨씬 더 조밀해져 빈 공간이 거의 남지 않습니다.
4차수(Order 4): 경로는 이미 극도로 조밀한 상태가 됩니다.
……
계속해서 공백 영역은 점점 작아집니다. 결국 무한 질서라는 궁극적인 의미에서 공백은 0이 되는 경향이 있습니다. 이것이 공간 채우기입니다.
하지만 일반적인 '스미어'와는 다르고, 여기에는 매우 흥미로운 차이점이 있습니다.
브러시를 가져다가 사각형 전체를 검은색으로 칠하면 물론 앞뒤로 왔다갔다하면서 채우기도 편해요.
그러나 힐베르트 곡선의 요구 사항은 훨씬 더 엄격합니다. 연속적인 선 하나만 그릴 수 있으며, 펜을 들 수도 없고, 점프할 수도 없으며, 두 번째 독립 선을 그릴 수도 없습니다.
그래도 궁극적인 의미에서는 여전히 전체 영역을 덮을 수 있습니다. 따라서 실제 마법은 '사각형을 채우는 것'이 아니라 "하나의 연속적인 곡선만으로 전체 2차원 공간을 이동할 수 있습니다".
힐베르트 곡선이 특별한 이유는 무엇일까요?
지금까지 우리는 힐베르트 곡선의 가장 놀라운 특징을 살펴보았습니다.
이 곡선은 단순한 곡선에서 시작하여, 축소 → 배치 → 회전/뒤집기 → 연결이라는 과정을 반복하며 단계적으로 복잡해집니다.
결국 단순한 복잡한 패턴을 넘어, 하나의 연속된 곡선으로 2차원 정사각형 영역 전체를 빈틈없이 채우는 결과를 만들어냅니다. 이는 수많은 일반적인 프랙탈과는 차별화되는 힐베르트 곡선만의 독특한 특징입니다.
핵심적인 특징: 자기 유사성
힐베르트 곡선이 단계별로 어떻게 생성되는지 이해했으니, 이제 흥미로운 현상을 다시 한번 살펴보겠습니다.
앞서 이전 단계의 곡선 전체가 다음 단계의 기초가 된다고 했던 점을 기억하시나요? 이는 곧 더 높은 차수의 힐베르트 곡선 안에 낮은 차수의 힐베르트 곡선과 놀라울 정도로 유사한 형태의 작은 영역들이 존재한다는 것을 의미합니다. 예를 들어, 3차 곡선은 축소, 회전 또는 뒤집기 과정을 거친 2차 곡선들의 집합으로 볼 수 있으며, 마찬가지로 2차 곡선 또한 여러 개의 1차 곡선으로 구성됩니다.
이처럼 전체 구조 안에 전체와 닮은 부분 구조가 포함되어 있는 현상을 자기 유사성(self-similarity)이라고 하며, 이는 프랙탈 구조를 정의하는 핵심적인 특징입니다.
어떻게 '1차원' 객체가 '2차원' 객체를 채울 수 있을까요?
이는 힐베르트 곡선(Hilbert curve)이 가진 가장 흥미롭고 시사하는 바가 큰 특징 중 하나입니다.
우리는 보통 선은 1차원이고 정사각형은 2차원이라고 생각합니다. 따라서 직관적으로는 선이 정사각형을 채운다는 것이 불가능해 보입니다.
일반적인 선의 경우, 이러한 판단은 분명히 옳습니다.
하지만 힐베르트 곡선은 독특한 수학적 구조물입니다. 이것은 평범하고 매끄러운 선이 아닙니다. 차수(order)가 높아짐에 따라 곡선은 계속해서 휘어지고 접히며 더 작은 영역으로 들어가고, 다시 접혀 더 작은 영역으로 들어가는 과정을 반복합니다. 이 과정이 무한히 계속되면 1차원 매개변수에서 2차원 공간으로의 연속적인 사상(mapping)이 형성됩니다. 그 결과, 겉보기에는 '1차원'인 객체가 2차원 정사각형 전체를 채울 수 있게 됩니다.
그렇다고 해서 '차원이 사라졌다'는 뜻은 아닙니다.
여기서 흔히 혼동하기 쉬운 점이 있습니다. 힐베르트 곡선이 '1차원과 2차원 사이에 아무런 차이가 없다'는 것을 의미하는 것은 결코 아닙니다. 실제로 이 곡선이 보여주는 것은 구간 위의 점들이 연속적인 사상을 통해 2차원 정사각형을 채울 수 있다는 사실입니다. 다만 이 사상은 일대일 대응이 아닙니다. 즉, 서로 다른 곡선 매개변수가 때로는 동일한 공간적 위치에 대응될 수 있습니다. 따라서 이는 현실 세계의 평범한 끈 조각이 갑자기 정사각형으로 변한다는 뜻이 아니라, 수학적으로 매우 특수한 형태의 연속적 사상이 존재한다는 것을 의미합니다.
수학자들은 왜 이런 것을 연구할까요?
힐베르트 곡선은 단순히 아름다운 수학적 예술 작품을 만들기 위해 고안된 것이 아닙니다. 이는 연속적인 곡선과 공간 사이의 관계를 탐구하던 수학자들의 연구 과정에서 탄생했습니다.
19세기 후반, 독일의 수학자 다비트 힐베르트(David Hilbert)는 이 '공간 채움 곡선(space-filling curve)'을 제안했습니다. 이는 선과 면의 관계에 대한 사람들의 직관에 의문을 제기하는 것이었습니다.
일반적인 사람들에게 선은 선이고 면은 면일 뿐이며, 이 둘은 완전히 별개의 대상으로 여겨집니다.
하지만 힐베르트 곡선은 수학적 세계에서의 '차원'이 때로는 직관에 크게 반하는 관계를 보일 수 있음을 보여줍니다.
힐베르트 곡선은 단순히 직관에 도전하기 위해 만들어진 수학적 개념에 그치지 않습니다. 이 곡선은 2차원 공간의 데이터를 1차원 수열로 매핑(mapping)하는 것과 같은 실용적인 응용 분야에서도 활용됩니다.
예를 들어, 2차원 지도가 있는데 컴퓨터가 그 데이터를 선형 주소 공간(linear address space)에 저장해야 하는 상황을 가정해 봅시다. 이때 다음과 같은 의문이 생깁니다. 2차원 공간에서 서로 가까이 위치한 데이터 지점들을 1차원 수열에서도 서로 가깝게 배치하려면 어떻게 해야 할까요?
힐베르트 곡선은 강력한 공간적 지역성(spatial locality)을 지니고 있어 훌륭한 순서화 방법을 제공합니다. 쉽게 말해, 2차원 공간에서 서로 가까운 영역은 힐베르트 곡선을 따라 순서를 매길 때도 대체로 가까운 위치에 놓이게 됩니다. 이는 원래의 2차원 공간적 관계가 1차원 배열 내에서도 상당 부분 유지됨을 의미합니다.
이 개념은 공간 데이터베이스, 데이터 인덱싱, 이미지 처리, 컴퓨터 그래픽스, 과학적 컴퓨팅, 다차원 데이터 처리 등 컴퓨터 과학의 다양한 분야에 적용될 수 있습니다.
따라서 언뜻 보기에는 그저 흥미로운 수학적 호기심의 대상으로 보일 수 있는 이 곡선이, 실제로는 컴퓨터 과학과 깊은 연관성을 맺고 있는 것입니다.
선의 한계
이제 처음의 질문으로 돌아가 봅시다. 어떻게 하나의 선이 정사각형을 가득 채울 수 있을까요?
힐베르트 곡선이 제시하는 답은 '평범한 선이 말 그대로 면으로 변한다'는 것이 아닙니다. 대신, 단순한 곡선에서 시작하여 이전 단계의 곡선을 다음 단계의 기초로 삼고, 크기 조절, 재배치, 회전/대칭 이동, 그리고 선분 연결을 통해 공간을 끊임없이 세분화해 나갑니다.
이 과정이 무한히 반복되면, 연속적인 곡선이 정사각형 전체를 덮을 수 있게 됩니다. 이는 매우 직관에 반하는 이야기처럼 들리지만, 바로 이러한 특성 덕분에 이 곡선은 수학에서 가장 유명한 공간 채움 곡선(space-filling curve) 중 하나가 되었습니다.
힐베르트 곡선의 이야기를 요약하면 사실 꽤 간단합니다. 단순한 곡선 → 여러 부분으로 축소 → 재배치 → 회전/대칭 이동 → 연결 → 다음 단계 생성 → 이전 단계를 기초로 활용 → 지속적 반복 → 곡선이 점점 조밀해짐 → 빈틈이 줄어듦 → 무한한 세분화 → 공간 전체가 채워짐.
믿기 어려울 만큼 단순한 규칙이 결국 놀라운 결과를 만들어냅니다. 바로 2차원 공간을 가로질러 채울 수 있는 연속적인 곡선, 이것이 바로 힐베르트 곡선입니다.
힐베르트 곡선과 드래곤 곡선은 어떤 차이가 있나요?
이미 드래곤 곡선을 살펴보셨다면, '둘 다 연속적인 재귀 과정을 통해 만들어진 곡선처럼 보이는데?'라고 생각하실 수도 있습니다.
맞는 말이지만, 이들이 보여주려는 핵심적인 내용은 서로 다릅니다.
드래곤 곡선의 핵심은 연속적인 접기(folding)입니다. 단순한 선이 반복적인 접기 과정을 거쳐 복잡한 프랙탈 구조로 변형됩니다. 이는 단순한 규칙에서 복잡한 패턴으로 나아가는 과정을 보여줍니다.
힐베르트 곡선의 핵심은 연속적인 세분화와 공간 채우기(space-filling)입니다. 하나의 연속된 선이 반복적으로 다듬어지고 재배치되며 연결되어 마침내 2차원 영역 전체를 채우게 됩니다. 이는 단일 곡선에서 2차원 공간 전체로 확장되는 과정을 보여줍니다.
따라서 다음과 같이 간단히 생각해 볼 수 있습니다.
드래곤 곡선은 접기를 통해 드래곤 모양을 만들어가는 것에 관한 것입니다.
힐베르트 곡선은 하나의 선을 이용해 방 전체를 훑고 지나가는 것에 관한 것입니다.
힐베르트 곡선과 망델브로 집합의 차이점은 무엇인가요?
힐베르트 곡선과 망델브로 집합은 모두 단순한 규칙에서 놀라울 정도로 복잡한 구조를 만들어낼 수 있지만, 그 복잡성을 생성하는 방식은 완전히 다릅니다.
망델브로 집합은 복소수 → 반복 → 평가라는 연속적인 과정을 통해 생성되는 복잡한 집합으로, 가장 매력적인 특징은 무한히 확대할 때마다 정교한 세부 형태가 계속해서 나타난다는 점입니다.
힐베르트 곡선은 축소 → 배치 → 회전/대칭 이동 → 연결 → 반복 과정을 되풀이하여 생성되며, 궁극적으로는 곡선이 공간을 채우는 밀도를 높이는 결과를 낳습니다.
요약하자면:
망델브로 집합: 무한한 세부 형태를 탐구합니다.
힐베르트 곡선: 무한한 밀도를 탐구합니다.
두 가지 모두 복잡한 시각적 구조를 만들어내지만, 이를 탐구하며 얻는 경험은 완전히 다릅니다.
수학의 세계를 계속 탐험해 보세요
힐베르트 곡선(Hilbert curve)은 프랙탈 및 재귀 기하학 분야에서 독특한 구조를 가진 도형입니다.
단순한 규칙이 반복되어 복잡한 구조를 만들어내는 수학적 도형에 흥미가 있다면, 드래곤 곡선(Dragon Curve)을 통해 단순한 선이 반복적인 접기 과정을 거쳐 어떻게 정교한 프랙탈 패턴으로 변하는지 살펴보세요. 또한 아폴로니안 개스킷(Apollonian Gasket)을 통해 원들이 서로의 빈틈을 채우며 끝없이 이어지는 원의 세계를 만들어내는 모습을 확인해 볼 수도 있습니다. 아니면 만델브로트 집합(Mandelbrot Set)을 다시 살펴보고, 단순한 복소수의 반복 연산이 어떻게 무한히 복잡한 경계선을 만들어내는지 알아보는 것도 좋습니다.
비록 수학적 원리는 서로 다르지만, 이들은 모두 흥미로운 사실을 보여줍니다. 바로 단순한 규칙의 반복이 때로는 직관을 완전히 뛰어넘는 세계로 우리를 이끌 수 있다는 점입니다.
힐베르트 곡선은 특히 놀라운 해답을 제시합니다. 선은 때로 믿을 수 없을 만큼 복잡해질 뿐만 아니라, 자신만의 독특한 방식으로 공간 전체를 가로지를 수도 있다는 것입니다.
계속해서 더 많은 놀라운 수학적 도형을 탐험하거나 위키백과에서 힐베르트 곡선에 대해 더 자세히 읽어보세요.