Turtle graphics
Turtle graphics(이하 터틀 그래픽)는 프로그래밍 언어 로고로 작성된 명령을 수행하는 매개체인 거북이가 그리는 그림을 말한다. 거북이에게는 위치와 방향 그리고 펜이라는 세 가지 속성이 있다. 또한, 거북이의 펜에는 색과 두께 그리고 펜의 활성 상태라는 세 가지 속성이 있다. 다시 말해, 이러한 거북이의 속성을 조작하는 명령을 조합하여 그린 그림을 터틀 그래픽이라 한다. 특히, 명령의 주체가 되는 사용자는 자신이 거북이라고 상상함으로써 거북이의 움직임을 예상하고 추론하며 이해할 수 있다. 1
거북이 드로잉

거북이 드로잉(Turtle Drawing)은 알지오매스 블록코딩을 처음 접하는 사용자가 흥미로운 터틀 그래픽을 만들고 사진으로 인화하는 체험 프로그램이다. 체험은 세 단계로 구성된다.
- 거북이 이동 블록(
)과 거북이 회전 블록(
) 그리고 n회 반복 블록(
)을 사용하여 정다각형 그리기
- 정다각형을 통째로 회전하기를 반복하여 회전대칭 도형 그리기
- 변수 블록(
)을 추가로 사용하여 다각형 나선 도형 그리기
거북이 드로잉 1단계: 정다각형 그리기
길이가 3인 정삼각형을 예로 보자. 한 꼭짓점에서 출발하여 반시계방향으로 회전한다고 하자. 앞으로 3만큼 이동하고, 왼쪽으로 120°만큼 회전하고, 다시 앞으로 3만큼 이동하고, 왼쪽으로 120°만큼 회전한다. 즉 "앞으로 3만큼 이동하고, 왼쪽으로 120°만큼 회전하기"를 3회 반복하면 된다. 다시 말해 그리고 싶은 정다각형의 한 변의 길이만큼 앞으로 가고, 한 외각의 크기만큼 회전하기를 정다각형의 꼭짓점의 개수만큼 반복하여 정다각형을 그린다.

거북이 드로잉 2단계: 정다각형을 회전하여 회전대칭 도형 그리기
우선 인식의 전환이 필요하다. 연결된 여러 블록을 한 블록으로 보는 것이다. 예를 들어 반복 블록은 반복되는 내용을 담을 수 있으므로 반복 블록에 여러 블록을 담아 한 블록으로 볼 수 있기 때문이다. 그리고 반복 블록의 팝업 메뉴에서 '블록 합치기' 메뉴를 선택하면, 실제로도 하나의 블록처럼 다룰 수 있다.

그럼 이러한 인식의 전환으로 무엇이 달라질까? 예를 들어 합친 블록은 그 자체로 정삼각형 그리기라는 기능으로 새롭게 이해된다. 정삼각형을 그리고나서 회전하고 다시 정삼각형을 그리면, 마치 정삼각형을 통째로 회전시킨 그림을 그리는 것과 같다. 아래 그림에서는 정삼각형을 45°만큼 반시계방향으로 8번 회전시켜 대칭 패턴을 만들었다. 한편, 정삼각형을 왜 8번 회전했을까? 7번은 대칭을 이루기에는 부족하고, 9번은 이미 그린 정삼각형을 중복해서 그린다. 다시 말해, 45의 배수 중에서 처음으로 360의 배수가 되는 수는 8번째 수이다.


거북이 드로잉 3단계: 변수를 사용하여 나선 도형 그리기
또 한 번의 인식의 전환이 필요하다. 상수를 변수로 보는 것이다. 앞 단계에서 거북이는 항상 일정한 거리만큼 이동하고, 일정한 크기의 각만큼 회전했다. 그런데, 반복을 거듭할 때마다 거북이가 이동하는 거리 또는 회전각의 크기가 변하면 어떨까? 예를 들어, 길이를 0.2부터 반복마다 0.2씩 늘려가면 아래와 같은 나선을 얻을 수 있다. 더욱 다양한 변화는 직접 체험하여 확인하자.


- 로고를 만든 시모어 페퍼트는 이것을 신체 동조적 추론("body syntonic" reasoning)이라 했다. [본문으로]