같은 네모 테두리인데, 가운데만 비울 수 있을까요?

두 네모의 선 위치는 유지하고 안쪽을 도는 방향만 바꾸는 종이 좌표 모형이에요. 교차 방향의 합으로 채우는 규칙과 교차 횟수로 채우는 규칙을 비교해, 가운데를 비우면서 네모 사이를 남기는 조건을 확인해요.

꺼진 드로잉 태블릿과 펜, 색 카드가 놓인 목재 책상

이미지: AI 생성 · 수학 이야기

두 겹의 네모 테두리로 가운데가 빈 배지를 만들려 해요. 선의 위치를 그대로 두고, 안쪽 네모를 도는 방향만 바꾸면 구멍이 생길까요? 디지털 그림에서는 채우기 규칙을 먼저 확인해야 해요.

큰 네모의 꼭짓점은 (±3,±3), 작은 네모는 (±1,±1)이고 처음에는 둘 다 시계 방향이에요. 두 닫힌 윤곽선은 하나의 채우기 경로로 묶어요. 좌표의 오른쪽을 x의 양수, 위쪽을 y의 양수로 정하고 선 위의 점은 제외해요.

검사점에서 오른쪽으로 반직선을 그어 봐요. m은 선과 만나는 횟수, w는 교차 방향을 붙인 합이에요. 여기서는 위에서 아래로 지나는 선을 +1, 반대는 −1로 세어요. W3C의 nonzero 규칙은 w가 0이 아니면 채우고, evenodd는 m이 홀수일 때 채워요.

중앙 (0,0)의 반직선은 두 네모의 오른쪽 변을 만나요. 처음에는 둘 다 +1이어서 nonzero는 중앙을 채우지만 evenodd는 두 번, 즉 짝수라 비워요.

w중앙, 처음=1+1=2≠0,m중앙=2,w중앙, 반전=1−1=0,w네모 사이=1,m네모 사이=1.\begin{aligned} w_{\text{중앙, 처음}}&=1+1=2\ne0,\qquad m_{\text{중앙}}=2,\\ w_{\text{중앙, 반전}}&=1-1=0,\\ w_{\text{네모 사이}}&=1,\qquad m_{\text{네모 사이}}=1. \end{aligned}

nonzero를 그대로 쓰면서 안쪽 진행 방향만 뒤집으면 중앙의 합이 1−1=0이 되어 비워져요. 교차 횟수는 여전히 2라 evenodd의 답은 바뀌지 않아요. 네모 사이 (2,0)에서는 바깥 변 하나만 만나 합과 횟수가 모두 1입니다. 따라서 안쪽을 비워도 테두리 부분은 남아요.

선의 위치와 칠해진 영역은 같은 정보가 아니에요. 테두리를 옮기기 전에 두 점에서 만난 선의 방향과 개수를 표시해 봐요. 이번에는 한 윤곽선의 진행 순서만 고쳐 원하는 빈 가운데를 만들었어요.

착안: W3C, SVG 2의 fill·fill-rule. 알려진 채우기 규칙으로 자체 좌표와 방향 수정 사례를 만들었어요. 원전 그림이나 실제 출력 실험은 사용하지 않았어요.

이 글 공유하기

개인정보 및 방문 통계 안내