2월 02, 2024

[Python Turtle] 현재 좌표 구하기

Python turtle로 그리다 보면, 문득 내 현재 위치는 어디일까 궁금해지는 때가 있다. 

 

도형을 그리다 보면 직선 외에도 다양한 모양으로 그림을 그리게 되는데, 현재 좌표를 알아야 그리고 싶은 그림을 더 유사하게 그릴 수 있기 때문이다. 

 

예시로, 모든 도형은 원이나 직선이 아니기에 아래 코드까지 그림을 그렸다고 가정해보자.

import turtle as t
t.shape("turtle")
t.speed(5)
t.width(5)
t.penup()
t.setposition(50,160)
t.pendown()
t.circle(-200,-15)
t.circle(-400,-5)

그러면 특히 온전한 360도 원을 그린 것이 아니기 때문에 현재 위치를 정확하게 알 수 있는 방법은 더더욱 없다. 

 

그럴 때 사용하면 좋은 것이,

 

xcor() 와 ycor() 라는 것이다. 이름이 의미하는 것처럼 xcor()는 현재 turtle의 x축 좌표 위치, ycor()는 현재 turtle의 y축 좌표 위치를 의미한다. 

해당 숫자를 return하기 때문에 우리는 terminal에서 return 된 숫자를 볼 수 있다.

 

그러기 위해서는 먼저 코드에 한 줄을 추가해준다. 

import turtle as t
t.shape("turtle")
t.speed(5)
t.width(5)
t.penup()
t.setposition(50,160)
t.pendown()
t.circle(-200,-15)
t.circle(-400,-5)
print(t.xcor(), t.ycor())

 

마지막 라인을 추가해주었다. 그 결과 터미널에서는 아래와 같은 결과값을 return한 것을 볼 수 있다. 

 

-35.04424830976332 142.6918830565497

앞의 숫자는 xcor()의 반환값, 즉 x축 좌표, 뒷 숫자는 ycor()의 반환값, 즉 y축 좌표값을 의미한다. 

 

매우 정교하게 소수점 아래로도 여러 숫자가 나오기 때문에 참고하여 더 정밀한 그림을 그릴 수 있을 듯 하다.