얼룩말 무늬는 어떻게 생길까
누가 그려 주지 않았는데 동물의 가죽에는 점과 줄무늬가 생깁니다. 1952년 앨런 튜링은 "퍼지고 반응하는 두 물질"만으로도 무늬가 저절로 생길 수 있다고 제안했습니다. 숫자 두 개를 바꾸며 어떤 무늬가 나오는지 확인해 봅니다.
모델은 이렇게 움직입니다
- 96×96 격자에 두 물질이 있습니다. u는 먹이로 계속 공급되고, v는 u를 먹으며 늘어나는 "무늬 물질"이에요. 짙은 곳이 v가 많은 곳입니다.
- 두 물질은 이웃 칸으로 퍼집니다. v는 u보다 천천히 퍼지고(확산 계수 u 0.16, v 0.08), 서로 만나면 u 하나가 v 하나로 바뀌는 반응(u + 2v → 3v)이 일어납니다.
- F(공급 속도)와 k(제거 속도) 두 숫자만 바꿔도 전혀 다른 무늬가 나옵니다. F는 u가 새로 채워지는 속도이고, v는 F + k의 속도로 사라집니다.
- 처음엔 u만 가득하고 v는 몇 군데에 조금 뿌려져 있을 뿐입니다. 캔버스를 눌러 새 씨앗을 뿌릴 수도 있어요.
직접 돌려보기
① 무늬가 자라는 모습
짙은 곳이 v가 많은 곳입니다. 씨앗에서 시작해 무늬가 퍼져 나갑니다. 캔버스를 누르면 그 자리에 새 씨앗이 떨어져요.
② 3D로 보기: 농도의 지형 3D
①과 같은 시뮬레이션을 v 농도의 높이로 세웠습니다. 위에서 무늬가 자라는 동안 여기서도 실시간으로 솟아오릅니다. 점무늬는 꼭대기 높이가 거의 같은 둥근 언덕(자리 잡은 뒤 v 0.36 안팎)이 되고, 줄무늬는 그보다 조금 낮은(v 약 0.30) 능선이 끊기지 않고 이어집니다. 언덕은 끝없이 높아지거나 커지지 않고 정해진 높이와 폭에서 멈춥니다. 퍼지는 속도의 차이가 무늬의 크기를 정하기 때문입니다.
드래그로 회전 · 휠이나 두 손가락으로 확대 · 가만히 두면 천천히 돌아갑니다
③ 시간에 따른 변화
가로는 진행한 횟수, 세로는 값입니다. 무늬가 자리를 잡으면 두 선이 평평해집니다.
④ F–k 지도
보라색 점은 이 페이지의 네 가지 무늬 설정이고, 붉은 원은 지금 설정입니다. 점에서 조금만 벗어나도 무늬가 달라질 수 있어요.
이 결과가 말하는 것, 말하지 않는 것
말하는 것:
- 무늬 물질은 천천히, 그 재료는 빨리 퍼지면 일정한 간격의 점이나 줄이 저절로 생겨요(튜링의 아이디어). 한곳의 무늬는 재료를 먹고 번지다 멈추고, 재료가 넉넉한 먼 곳에 다음 무늬가 생기기 때문이에요.
- 같은 규칙인데 숫자 두 개만 바꿔도 점무늬는 줄무늬로, 줄무늬는 미로로 갈려요. 이 모델에서 점무늬는 독립된 점 50개 안팎, 줄무늬와 산호는 하나로 이어진 모양이 됐어요.
- 그렇다면 무늬가 왜 다른지는 어떻게 보면 될까요? 규칙보다 재료가 채워지는 속도와 무늬 물질이 사라지는 속도를 함께 보면 돼요. 이 모델에선 두 숫자만으로 점(면적 19%)·줄(43%)·산호(53%)가 갈렸어요.
상세 설명
말하는 것: "서로 퍼지고 반응하는 두 물질"이라는 단순한 규칙만으로도, 누가 그려 주지 않은 점, 줄무늬, 미로, 산호 같은 무늬가 저절로 생깁니다. 규칙은 모든 칸에서 똑같은데 무늬는 전혀 다르고, 공급 속도 F와 제거 속도 k 같은 숫자 두 개가 그 차이를 만듭니다. 이 구현에서 점무늬는 독립된 점 50개 안팎으로, 줄무늬와 산호는 하나로 이어진 모양으로 자리를 잡았습니다.
말하지 않는 것:
- '실제 얼룩말 줄무늬가 이 원리로 생긴다'는 건 생각해 볼 점이고, 이 시뮬레이션이 직접 보여 준 건 아니에요. 모델이 보여 준 건 단순한 규칙에서 점·줄무늬·미로가 저절로 생긴다는 쪽이에요.
- 실제 동물의 무늬에는 유전자 활동, 몸의 성장, 몸 모양이 함께 관여해요. 여기의 두 숫자는 생물학적 값이 아니라 수학적 설정이에요.
상세 설명
말하지 않는 것: 실제 얼룩말 줄무늬가 이 반응으로 생긴다는 증명이 아닙니다. 실제 동물의 무늬는 유전자 활동, 몸의 성장, 몸 모양 같은 훨씬 많은 요소가 관여하고, 여기의 F와 k는 생물학적 값이 아니라 수학적 설정입니다. 세포 분열 설정은 이 크기의 격자에서 점무늬와 거의 같은 모양으로 끝났고, 이름이 뜻하는 모든 과정이 보이는 것은 아닙니다.
이론적 근거와 구현 메모
- 모델의 뿌리: Turing (1952), "The chemical basis of morphogenesis", Philosophical Transactions of the Royal Society B 237에서, 퍼지고 반응하는 화학물질만으로 균일한 상태에서 무늬가 저절로 생길 수 있음을 수학으로 보였습니다. 이 페이지는 그 계열의 그레이-스콧(Gray–Scott) 모델을 쓰며, 다양한 무늬는 Pearson (1993), "Complex patterns in a simple system", Science 261로 널리 알려졌습니다.
- 핵심 가정과 수식: 식은
∂u/∂t = Du∇²u − uv² + F(1 − u),∂v/∂t = Dv∇²v + uv² − (F + k)v이고 여기서는 Du = 0.16, Dv = 0.08입니다. 슬라이더 F는 u를 채우는 항, k는 v를 없애는 항입니다. v가 없는 u = 1, v = 0은 그대로 유지되는 상태라서 씨앗이 있어야 무늬가 시작됩니다. - 이 프로젝트의 단순화: 실제 동물의 무늬는 유전자 활동, 성장, 몸 모양이 함께 만들고, 이 모델의 F와 k는 생물학적 값이 아닙니다. 격자는 96×96, 시간 간격 dt = 1, 가장자리는 반대편과 이어지게 하는 등 계산 편의를 위해 단순화했습니다. 점무늬와 줄무늬의 이름과 F, k 조합은 이 프로젝트가 고른 대표값입니다.
- 이론값과 시뮬레이션: 무늬 전체에 대한 닫힌 해는 없어서 이론적 기준값 없이 시뮬레이션만으로 확인했습니다. 3개 시드로 20,000번 돌린 결과 값은 모두 유한했고, v가 차지한 면적은 점무늬 19%, 세포 분열 21%, 줄무늬 43%, 산호 53%였습니다. 점무늬는 독립된 점 50개 안팎으로, 줄무늬와 산호는 대개 하나로 이어진 모양으로 안정됐습니다.
- 더 읽을거리: Turing (1952), "The chemical basis of morphogenesis", Phil. Trans. R. Soc. B. Pearson (1993), "Complex patterns in a simple system", Science. Kondo & Asai (1995), "A reaction–diffusion wave on the skin of the marine angelfish Pomacanthus", Nature: 실제 물고기 무늬가 반응-확산과 비슷하게 움직인다고 보고한 연구입니다.
- 식: du = 0.16·lap(u) − u·v² + F(1 − u), dv = 0.08·lap(v) + u·v² − (F + k)·v. 한 단계에 dt = 1, 라플라시안은 상하좌우 4칸으로 계산했고 가장자리는 반대편과 이어집니다. 화면의 한 단계는 계산 40번입니다. 확산 계수의 비(2:1)는 Pearson의 설정과 같지만 격자와 시간 단위가 달라 모양이 똑같지는 않습니다.
- 네 프리셋(F, k) = 점무늬 (0.035, 0.065), 줄무늬 (0.029, 0.057), 세포 분열 (0.0367, 0.0649), 산호 (0.0545, 0.062)입니다. 시드 3개로 20,000번 돌려 모두 값이 유한하게 유지됐고, 무늬가 차지한 면적은 점무늬 약 19%, 세포 분열 약 21%, 줄무늬 약 43%, 산호 약 53%였습니다. 덩어리 수는 점무늬와 세포 분열이 50개 안팎, 줄무늬와 산호는 대부분 1개(하나로 이어짐)였습니다. 자리 잡은 점무늬 언덕의 꼭대기 v는 0.355~0.373으로 거의 같았고, 줄무늬 능선은 0.25~0.35(중앙값 0.30)였습니다 (
node tools/validate-turing.js로 확인). - 처음 씨앗은 12군데에 뿌립니다. 무늬가 자리 잡는 데 걸리는 횟수는 줄무늬 약 1,000번, 산호 약 3,000번, 세포 분열 약 5,000번, 점무늬 약 7,000번이었습니다. 화면에서는 30,000번까지 진행합니다.