3월 24, 2024

파이썬으로 스누피 캐릭터 그리기 투토리얼

1. Python turtle library를 사용하여 스누피 그리기

파이썬 turtle library를 사용하면 다양한 기능을 사용하여 원하는 것을 그릴 수 있다.

이전에도 python turtle library를 사용하여 어피치, 라이언, 보노보노 등 다양한 캐릭터를 그리는 방법을 영상으로 제작한 바 있는데, 오늘은 스누피 캐릭터 그리는 방법에 대한 투토리얼을 제작했다.

 

1) 링크

 https://youtu.be/svN8Q-Acnpo


해당 방법은 위의 동영상을 참고해주면 된다. 

 

스누피는 이전 캐릭터와 달리 굴곡을 구현하는 것이 어렵기 때문에 조금 더 섬세한 조정이 필요하다.


2) python으로 현재 좌표값 찾기

https://www.programmingstory.com/2024/02/python-turtle.html

가장 유용하게 사용했던 문법은 현재 좌표를 구할 때 사용하던 xcor, ycor 문법이었으며, 자세한 내용은 이전 글을 참고해주면 된다. 


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축 좌표값을 의미한다. 

 

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