두 겹의 네모 테두리로 가운데가 빈 배지를 만들려 해요. 선의 위치를 그대로 두고, 안쪽 네모를 도는 방향만 바꾸면 구멍이 생길까요? 디지털 그림에서는 채우기 규칙을 먼저 확인해야 해요.
큰 네모의 꼭짓점은 (±3,±3), 작은 네모는 (±1,±1)이고 처음에는 둘 다 시계 방향이에요. 두 닫힌 윤곽선은 하나의 채우기 경로로 묶어요. 좌표의 오른쪽을 x의 양수, 위쪽을 y의 양수로 정하고 선 위의 점은 제외해요.
검사점에서 오른쪽으로 반직선을 그어 봐요. m은 선과 만나는 횟수, w는 교차 방향을 붙인 합이에요. 여기서는 위에서 아래로 지나는 선을 +1, 반대는 −1로 세어요. W3C의 nonzero 규칙은 w가 0이 아니면 채우고, evenodd는 m이 홀수일 때 채워요.
중앙 (0,0)의 반직선은 두 네모의 오른쪽 변을 만나요. 처음에는 둘 다 +1이어서 nonzero는 중앙을 채우지만 evenodd는 두 번, 즉 짝수라 비워요.
nonzero를 그대로 쓰면서 안쪽 진행 방향만 뒤집으면 중앙의 합이 1−1=0이 되어 비워져요. 교차 횟수는 여전히 2라 evenodd의 답은 바뀌지 않아요. 네모 사이 (2,0)에서는 바깥 변 하나만 만나 합과 횟수가 모두 1입니다. 따라서 안쪽을 비워도 테두리 부분은 남아요.
선의 위치와 칠해진 영역은 같은 정보가 아니에요. 테두리를 옮기기 전에 두 점에서 만난 선의 방향과 개수를 표시해 봐요. 이번에는 한 윤곽선의 진행 순서만 고쳐 원하는 빈 가운데를 만들었어요.
착안: W3C, SVG 2의 fill·fill-rule. 알려진 채우기 규칙으로 자체 좌표와 방향 수정 사례를 만들었어요. 원전 그림이나 실제 출력 실험은 사용하지 않았어요.
