보로노이 다이어그램

직접 매개변수를 조정해 보세요: : : :

보로노이 다이어그램: 근접성을 기준으로 세상을 분할하기

여러 소방서가 있는 도시를 상상해 보세요. 모든 주민은 '화재가 발생하면 어느 소방서에 도움을 요청해야 할까?'라는 질문을 마주하게 됩니다. 가장 간단한 답은 '가장 가까운 소방서로 가라'는 것입니다.

결과적으로 우리는 도시 전체를 몇 개의 구역으로 나눌 수 있습니다. 어떤 구역에 사는 사람들은 소방서 A와 가장 가깝고, 다른 구역의 사람들은 소방서 B와, 또 다른 구역의 사람들은 소방서 C와 가장 가깝습니다. 결국 모든 지점은 자신과 가장 가까운 소방서가 속한 구역으로 분류됩니다.

이러한 구역들을 지도에 그려보면, 보로노이 다이어그램(Voronoi diagram)이라 불리는 독특하고 인상적인 기하학적 패턴이 나타납니다.

몇 개의 점으로부터 시작되는 이야기

보로노이 다이어그램의 기초는 매우 간단합니다. 바로 평면 위에 흩어져 있는 점들입니다. 이 점들은 소방서, 병원, 상점, 학교, 도시, 심지어 나무 등 무엇이든 나타낼 수 있습니다. 우리는 이러한 점들을 생성점(generating points) 또는 사이트(sites)라고 부릅니다.

평면 위에 A, B, C라는 세 개의 점이 있다고 가정해 봅시다. 평면상의 모든 지점에 대해, 그 지점과 가장 가까운 점을 찾아냅니다. 예를 들어, 점 A 주변의 특정 영역 내에 있는 모든 지점은 다른 어떤 점보다 A와 더 가깝습니다. 마찬가지로 점 B와 점 C도 각각 자신만의 구역을 형성합니다. 이렇게 평면 전체가 A의 구역, B의 구역, C의 구역이라는 세 부분으로 나뉘게 됩니다. 이러한 각 구역을 보로노이 셀(Voronoi cell) 또는 보로노이 영역(Voronoi region)이라고 합니다. 각 생성점은 하나의 보로노이 영역에 대응하며, 일반적으로 10개의 점이 있으면 10개의 영역이, 100개의 점이 있으면 100개의 영역이 만들어집니다.

그렇다면 경계는 어디에 형성될까?

이는 보로노이 다이어그램에서 가장 핵심적인 부분입니다.

점 A와 B, 단 두 개의 점만 있다고 가정해 봅시다. 그렇다면 '두 점으로부터 같은 거리에 있는 위치는 어디일까?'라는 질문이 생깁니다. 답은 바로 두 점의 정확히 중간 지점입니다. 결과적으로 점 A와 B의 한가운데를 지나는 직선이 경계선 역할을 하게 됩니다. 이 직선 위의 모든 점은 A와 B로부터 동일한 거리에 있으며, 직선 양옆의 공간은 각각 A 또는 B의 영역이 됩니다. 수학적으로 말하자면, 주어진 두 점으로부터 같은 거리에 있는 모든 점의 집합은 수직이등분선을 이룹니다. 따라서 보로노이 다이어그램의 경계는 임의로 그려지는 것이 아니라, '주어진 두 기준점으로부터 같은 거리에 있는 모든 위치를 찾는다'는 매우 단순한 수학적 규칙에 따라 결정됩니다.

점의 개수가 세 개라면 어떻게 될까요? 세 번째 점 C가 추가되면, 점 A, B, C는 각자의 영역을 차지하기 위해 서로 경쟁하게 됩니다. 평면상의 임의의 위치에 대해 '어느 점과 가장 가까운가?'라는 질문을 던지는 셈이죠. 결국 전체 평면은 세 개의 서로 다른 영역으로 나뉘며, 각 영역 사이의 경계는 해당 기준점들로부터 같은 거리에 있는 선들로 구성됩니다.

점의 개수가 늘어날수록 이러한 경계가 만드는 패턴은 점점 더 복잡해집니다. 점 3개에서 시작해 10개, 50개, 혹은 100개로 늘려가다 보면, 전체 평면이 복잡한 다각형 네트워크로 빠르게 변해가는 모습을 확인할 수 있습니다. 하지만 자세히 들여다보면 각 영역은 여전히 ​​하나의 기준점을 중심으로 형성되어 있다는 것을 알 수 있습니다. 즉, 그 근본적인 규칙은 변하지 않은 것입니다.

왜 세포와 매우 비슷해 보일까?

무작위로 많은 점을 생성하면, 보로노이 다이어그램(Voronoi diagram)은 우리에게 매우 익숙한 시각적 패턴, 즉 세포와 같은 형태를 만들어냅니다. 이는 불규칙한 다각형들이 빈틈없이 채워진 집합을 형성하는데, 각 영역은 고유한 중심점을 가지며, 경계선들은 주변 영역과 매끄럽게 연결됩니다.

이러한 이유로 보로노이 다이어그램은 생물학적 세포, 벌집, 갈라진 땅, 동물의 피부 질감, 거품, 심지어 도시의 구획과 같은 이미지를 떠올리게 합니다.

하지만 중요한 차이점이 있습니다. 겉모습이 비슷하다고 해서 모두 보로노이 다이어그램을 통해 생성된 것은 아니라는 점입니다. 보로노이 다이어그램은 기본적으로 공간을 분할하기 위한 수학적 규칙입니다. 자연계의 어떤 구조들은 이러한 기하학적 원리와 관련이 있을 수 있지만, 또 다른 구조들은 완전히 다른 물리적 과정에서 비롯되기도 합니다.

왜 경계선은 항상 이렇게 깔끔할까요? 이것이 바로 보로노이 다이어그램의 매력입니다. 두 점 A와 B를 생각해 봅시다. 이 두 점 사이의 경계는 두 점으로부터 같은 거리에 있는 모든 위치로 이루어지며, 정의상 이 경계는 선분 AB의 수직이등분선이 됩니다. 점이 더 추가되면 이러한 수직이등분선들이 서로 교차하면서, 결과적으로 직선으로 정의된 다각형들의 네트워크를 형성하게 됩니다. 따라서 보로노이 다이어그램은 무작위로 보일지 몰라도, 실제로는 매우 정밀한 기하학적 구조에 의해 결정됩니다.

소방서 그 이상의 의미를 담을 수 있다

처음에 예로 들었던 소방서 이야기를 다시 꺼내 보겠습니다. 어떤 도시에 A, B, C, D 등 여러 소방서가 있다고 가정해 봅시다. 각 소방서를 하나의 점으로 나타내고 보로노이 다이어그램(Voronoi diagram)을 생성하면, 만들어진 각 보로노이 영역은 특정 소방서가 주로 '담당'하는 구역으로 해석할 수 있습니다. 어떤 주민이 소방서 A와 관련된 영역 안에 살고 있다면, 그 주민에게 가장 가까운 소방서는 A가 됩니다. 소방서 B의 영역에 살고 있다면, 가장 가까운 곳은 B가 되는 식이죠. 즉, 겉보기에는 우아한 기하학적 도표처럼 보이지만, 사실 이는 현실 세계의 문제를 직접적으로 나타낸 것입니다.

보로노이 다이어그램은 소방서에만 국한되지 않습니다. 같은 원리가 다른 여러 상황에도 적용될 수 있죠. 내게 가장 가까운 병원은 어디일까? 이 지역을 담당하는 상점은 어디일까? 학생에게 가장 가까운 학교는 어디일까? 특정 구역을 책임지는 물류 센터는 어디일까? 내 휴대전화와 가장 가까운 이동통신 기지국은 어디일까? 보로노이 다이어그램은 단순히 아름다운 수학적 패턴에 그치지 않고, 공간을 분할하는 매우 실용적인 도구입니다.

보로노이 다이어그램의 핵심은 바로 '근접성(proximity)', 즉 '가장 가까움'이라는 개념입니다. 평면 위의 점들이 주어졌을 때, 평면상의 임의의 위치에 대해 '어떤 점이 가장 가까운가?'라는 질문을 던질 수 있습니다. 이 질문에 대한 답을 통해 해당 위치가 어떤 영역에 속하는지가 결정됩니다. 가능한 모든 위치에 대해 이러한 답을 매핑해 보면, 보로노이 다이어그램이 나타나게 됩니다.

보로노이 다이어그램을 일종의 '수학적 기계'라고 생각할 수도 있습니다. 이 기계는 점들의 집합을 입력값으로 받아, 화면상의 모든 위치에 대해 '어떤 점과 가장 가까운가?'라고 묻습니다. 그 답이 A라면 해당 위치는 A 영역에 할당되고, B라면 B 영역에, C라면 C 영역에 할당되는 방식입니다. 결과적으로 전체 공간이 자동으로 분할되는 것입니다.

무작위 점들로부터 나타나는 질서

위치가 완전히 제각각인 점들을 무작위로 흩어놓은 뒤, ‘모든 지점은 가장 가까운 점에 속한다’는 단순한 규칙을 적용하면, 매우 체계적인 기하학적 구조가 나타납니다. 다시 말해, 무작위적인 입력값으로부터 공간의 질서 정연한 분할이 탄생할 수 있는 것입니다.

이는 프랙탈과는 다릅니다. 보로노이 다이어그램은 프랙탈이 아닙니다. 여기에는 무한한 재귀나 자기 유사성, 혹은 확대할수록 반복되는 구조가 존재하지 않습니다. 보로노이 다이어그램의 핵심 본질은 바로 공간의 분할에 있습니다.

‘중심’ 역할을 하는 각각의 점

보로노이 다이어그램은 공간을 차지하기 위해 경쟁하는 점들의 집합으로 이해할 수 있습니다. 각 점은 “이 영역은 나에게 가장 가까워”라고 주장하고, 다른 점은 “아니, 나에게 더 가까워”라고 반박합니다. 이러한 ‘가장 가까운 곳’을 찾기 위한 경쟁 속에서 점들 사이에 경계가 형성되고, 평면 전체는 수많은 구역으로 나뉘게 됩니다.

더욱 흥미로운 점은 규칙을 바꾸면 세상 자체가 변한다는 사실입니다. 일반적인 보로노이 다이어그램은 우리가 흔히 아는 직선 거리, 즉 유클리드 거리를 기준으로 합니다. 예를 들어, 어떤 점이 3미터 거리에 있고 다른 점이 5미터 거리에 있다면, 당연히 3미터 거리에 있는 점이 더 가깝다고 할 수 있습니다.

하지만 현실 세계는 그렇게 단순하지 않습니다. 도시를 예로 들어볼까요? 직선 거리상으로는 가장 가까운 병원이라도, 도로, 강, 산, 교통 상황 등을 고려하면 실제로는 자동차를 타고 이동할 때 가장 빨리 도착할 수 있는 곳이 아닐 수도 있습니다. 즉, ‘거리’는 유클리드 거리라는 정의에만 국한되지 않습니다. ‘거리’의 정의를 바꾸면 그에 따라 보로노이 다이어그램도 달라집니다. 이것이 바로 수학의 아름다움입니다. 단 하나의 규칙을 바꾸는 것만으로도 세상 전체의 모습을 완전히 재구성할 수 있는 것입니다.

간단한 질문으로 전체 지도가 만들어졌습니다.

'근접성(Proximity)'을 통해 탐구하는 수학의 세계

보로노이 다이어그램(Voronoi diagrams)은 거리가 어떻게 공간을 형성하는지를 잘 보여줍니다.

단순한 삼각형에서 반복적으로 구멍을 '뚫어내는' 과정을 통해 무한히 재귀적인 패턴을 만들어내는 시어핀스키 삼각형(Sierpinski triangle)을 살펴보는 것도 좋습니다.

또는 단순한 직선이 가장자리의 지속적인 변형을 거쳐 무한히 복잡한 눈송이 모양으로 진화하는 코흐 눈송이(Koch snowflake)를 확인해 보세요.

끝없는 재귀를 통해 2차원 공간 전체를 점차 채워 나가는 곡선인 힐베르트 곡선(Hilbert curve)을 탐구해 볼 수도 있습니다.

단순한 선을 반복적으로 접어 신비로운 용(dragon)과 같은 구조를 만들어내는 드래곤 곡선(dragon curve)도 흥미롭습니다.

반면, 보로노이 다이어그램은 작동 방식이 사뭇 다릅니다. 무한 재귀에 의존하는 대신, 단순히 '이 지점에서 가장 가까운 것은 무엇인가?'라는 질문을 던집니다. 이 간단하고 명쾌한 질문 하나만으로도 공간 전체가 놀라운 수학적 지도로 탈바꿈합니다.

더 다양한 매혹적인 수학적 패턴을 자유롭게 탐색해 보거나, 위키백과의 보로노이 다이어그램 항목에서 더 자세한 정보를 확인해 보세요.

새 탭을 열 때마다 이 멋진 수학적 시각 자료를 감상하고 싶으신가요? 지금 바로 Chrome 확장 프로그램을 설치하고 '과학 미스터리 박스'를 새 탭 페이지로 설정해 보세요.🚀

더 알아보기