무슨 실험인가요?
1950년대에 벨루소프라는 과학자가 "섞어 놓은 용액의 색이 저절로 빨강, 파랑으로 오간다"는 논문을 냈지만, 그럴 리 없다는 이유로 퇴짜를 맞았습니다. 나중에 사실로 밝혀진 이 현상이 BZ 반응입니다. 이 페이지는 영상에 나온 두 장면을 직접 돌려 보게 합니다.
- 비커 속: 용액을 휘저어 한 덩어리로 만든 경우입니다. 「키우는 성분」이 폭발적으로 늘었다가, 그것을 눌러 두는 「억누르는 성분」이 다시 쌓이며 색이 한 바퀴씩 오갑니다. 오른쪽 곡선이 그 오르내림이고, 점선 「경계선」을 넘는 순간 폭발이 시작됩니다.
- 접시: 같은 용액을 얇게 펴서 휘젓지 않은 경우입니다. 한곳을 건드리면 반응이 동그란 고리로 퍼지고, 고리 한 줄이 지나간 자리는 한동안 쉬어야 다시 반응합니다. 지우기 도구로 고리를 끊으면 끊긴 끝이 말려 들어가며 소용돌이가 됩니다.
조건을 바꾸면
- f는 억누르는 성분이 되살아나는 정도입니다. 너무 작으면 색이 오가지 않고 가라앉습니다.
- q는 키우는 성분이 터지는 문턱입니다. 작을수록 더 크게 폭증합니다(영상 값에서 약 1,060배).
- ε은 키우는 성분이 변하는 빠르기입니다. 클수록 느리게 변하고, 접시에서는 파면이 두꺼워집니다.
- 연료 소모는 한 바퀴마다 연료가 줄어드는 비율입니다. 연료가 바닥나면 f도 함께 작아져서 색 변화가 멈춥니다.
- 재생 속도는 화면에서 시간이 흐르는 빠르기일 뿐 결과는 바꾸지 않습니다.
값을 바꾸면 비커는 한 바퀴의 시작점에서, 접시는 처음 상태에서 다시 계산합니다. 값의 범위는 계산이 의미를 갖는 곳까지 열어 두었습니다. 극단적인 값에서는 계산이 아주 느려지거나 색이 오가지 않을 수 있고, 계산이 터지면 그렇다고 알려 줍니다.
계산 규칙과 한계
영상을 만들 때 쓴 계산(sim.py)과 같은 식입니다. 비커는 세 가지 양(키우는 성분 x, 억누르는 성분 y, 파랑 물질 z)을 다루는 「오레고네이터」 식이고, 접시는 그 식을 두 가지 양으로 줄여 칸마다 계산하면서 이웃 칸으로 퍼지게(확산) 한 것입니다. 접시는 120×95칸이며 가장자리에서 반사됩니다. 화면의 숫자와 입자 수는 모두 이 브라우저에서 실제로 계산한 값입니다. 영상과 같은 값에서 한 바퀴 길이 6.20944, 키우는 성분의 오르내림 약 1,059배, 억누르는 성분 약 2,058배가 나옵니다.
- 영상은 계산을 암시적 풀이(Radau)로 했고, 여기서는 아주 작은 간격으로 나눠 푸는 방식(4차 룽게–쿠타, 접시는 오일러)을 씁니다. 그래서 경계선 높이가 0.3075(영상)와 0.3051(여기)로 조금 다릅니다.
- 접시 계산은 무겁습니다. 계산 전용 일꾼(Web Worker)에서 돌리지만 기기에 따라 영상(1초에 시간 5)보다 느릴 수 있고, 판 안의 「계산 속도」에 실제 속도가 나옵니다. 「빠른 계산 (근사)」을 켜면 계산 간격을 2.5배로 키워 더 빠르지만 파면 위치가 조금 밀립니다.
- 연료 게이지는 영상에서는 개념도였고, 여기서는 f에 연료 비율을 곱해 실제 식이 멈추도록 단순화했습니다. 그래서 기본값에서는 영상(약 8바퀴)보다 일찍 멈춥니다.
- 영상 앞부분(논문 우편, 거절 도장)과 소리는 옮기지 않았습니다. 시뮬레이션이 아니라 연출이기 때문입니다.
- 실제 BZ 반응은 훨씬 복잡하고 화학 물질의 농도, 온도, 그릇 모양에 민감합니다. 이 모형은 「스스로 오가고 스스로 퍼지는」 성질만 보여 주는 단순한 모형입니다.
재현 링크에는 계산 버전, 조건, 계산 단계 수, 직접 한 조작이 들어 있어 같은 상태를 다시 보여 줍니다. 접시는 단계 수만큼 미리 계산하므로 오래 걸린 상태는 열리는 데 시간이 걸립니다.