플래너의 '60cm 통로' 표시는 내가 제일 오래 붙잡고 있던 기능이다. 쓸 만하긴 한데 틀릴 때도 있어서, 어떻게 돌아가고 어디서 틀리는지 적어 둔다.
점 1,287개
320×380 방이라면 바닥에 10cm 간격으로 가로 33개, 세로 39개, 모두 1,287개의 점을 찍는다. 점 하나를 사람 몸의 중심이라고 치고, 벽이나 가구에서 30cm 안쪽에 있는 점은 지운다. 몸 폭 60cm의 절반이 30cm라서다.
남은 점들 중 문 앞에 있는 점에서 출발해 상하좌우로 붙은 점을 차례로 넓혀 간다. 너비 우선 탐색이라는 흔한 방법이다. 방 위쪽 28% 안에 있는 점 하나에라도 닿으면 '연결됨'.
가구 둘레를 네모로 잡는 문제
이 배치에서 길은 침대와 옷장 사이를 지나간다. 두 가구는 가로로 84cm 떨어져 있고 세로로는 서로 엇갈려 있다. 사람 눈에는 대각선으로 꽤 넉넉해 보이는 자리다.
그런데 코드는 가구 둘레 30cm 여유 구역을 모서리가 각진 네모로 잡는다. 모서리를 둥글게 깎는 계산을 넣지 않았다. 그 결과 엇갈린 두 가구의 여유 구역이 위아래로 일부 겹치고, 그 구간에서는 가로 틈만으로 판단하게 된다.
옷장을 조금씩 옮겨 본 결과
| 옷장 왼쪽 끝 | 침대와의 틈 | 결과 |
|---|---|---|
| 206 | 84cm | 연결됨 |
| 195 | 73cm | 연결됨 |
| 190 | 68cm | 연결됨 |
| 185 | 63cm | 미확인 |
63cm면 60cm 몸이 지나가야 맞다. 실패하는 건 격자 탓이다. 길이 되려면 10의 배수 좌표에 점이 하나는 살아남아야 하는데, 63cm 틈에서는 침대 쪽 경계 152와 옷장 쪽 경계 155 사이에 10의 배수가 없다. 68cm일 때는 경계가 160까지 벌어져서 160 위의 점이 살아남는다.
이 판정은 실제보다 최대 10cm쯤 엄격하다. 틈이 60~70cm 사이라면 '미확인'이 떠도 실제로는 지나갈 수 있을지 모른다. 거꾸로 '연결됨'이 떴다고 편하다는 뜻도 아니다. 60cm는 한 사람이 옆으로 비켜서지 않고 겨우 지나가는 폭이고, 빨래 바구니를 들거나 둘이 엇갈리기엔 모자라다.
왜 5cm로 안 바꿨나
5cm 격자로 바꾸면 점이 네 배로 늘고 판정도 그만큼 정확해진다. 이 플래너는 가구를 끌 때마다 통로를 처음부터 다시 계산하는데, 오래된 휴대폰에서 큰 방을 그릴 때 끊기는 게 더 싫었다. 그래서 10cm로 두고 이 한계를 여기와 계산 방법 페이지에 적어 두기로 했다.
이 판정이 아예 모르는 것
- 문이 열리는 방향과 문짝이 쓸고 지나가는 자리
- 비스듬히 걷거나 몸을 돌리는 움직임
- 의자, 서랍, 옷장 문처럼 쓰는 동안 튀어나오는 것
- 휠체어나 유모차처럼 더 넓은 폭이 필요한 경우