2좌표
그동안 거북이 그래픽 예제에서는 주로 left나 right 명령으로 거북이를 적당히 회전시키고, forward 명령으로 거북이를 이동시키면서 그림을 그렸습니다. 하지만 거북이 그래픽 창의 좌푯값을 알면 t.goto(x, y) 명령으로 ‘한 번에’ 거북이를 원하는 곳으로 이동시킬 수 있습니다. 이때 거북이 꼬리의 펜을 내리면(down) 이동한 경로를 따라 선이 그려지고, 펜을 올리면(up) 선이 그려지지 않고 거북이만 이동합니다.
거북이 그래픽 창에서 한 점의 좌표는 숫자 두 개로 표현할 수 있습니다. 왼쪽과 오른쪽 같은 화면의 수평 방향을 x 값으로 표시하고, 위와 아래 같은 수직 방향을 y 값으로 표시합니다. 화면의 한가운데를 ‘원점’이라고 하는데, 원점의 좌푯값은 (0, 0)으로 표시합니다.
원점에서 오른쪽으로 이동하면 x 값이 커지고(+), 왼쪽으로 이동하면 x 값이 작아집니다(-). 마찬가지로 y 값은 원점에서 위로 이동하면 커지고(+), 아래로 이동하면 작아집니다(-).
그림 16-1 거북이 그래픽 창의 좌푯값
t.goto(x, y)는 특정한 x, y 위치로 거북이를 이동시키는 함수입니다. 현재 거북이의 위치를 알고 싶을 때는 t.pos 함수를 이용하여 현재 위치의 x, y 좌푯값을 얻을 수 있습니다.
다음 대화형 셸의 실행 결과를 참고해 볼까요? 처음 거북이 그래픽을 시작하면 거북이가 원점인 (0, 0)에 있으므로 t.pos()를 호출하면 (0.00, 0.00)으로 표시됩니다. t.goto(100, 50)으로 거북이를 이동시킨 후 다시 t.pos()를 호출하면, 거북이가 그 위치로 이동한 것을 확인할 수 있습니다.
>>> import turtle as t
>>> t.pos()
(0.00, 0.00)
>>> t.goto(100, 50)
>>> t.pos()
(100.00, 50.00)
>>>
이번 프로젝트에서는 이렇게 좌푯값을 사용하여 땅과 목표 지점과 대포 위치를 지정하여 그림을 그릴 예정입니다.