본문 바로가기

Python

8. 거북이(turtle)로 그림 그리기



출처: 누구나 쉽게 배우는 파이썬 프로그래밍 

(책 내용중 일부 수정 발췌하였습니다. 문제시 비공개로 전환하겠습니다.)


8. 거북이(turtle)로 그림 그리기


파이썬에서 거북이 (turtle)는 실제 세계에 있는 거북이와 비슷하다.

파이썬에서 거북이는 화면을 천천히 움직이는 작고 검은 화살표다.

파이썬 거북이가 화면을 움직이면 실제로 흔적을 남긴다고 생각해보자.


파이썬 거북이는 컴퓨터 그래픽의 기초를 배우는 데 도움이 되므로, 

이번 장에서 파이썬 구북이를 사용하여 간단한 도형과 라인을 그려볼 것이다.


>>> import turtle

>>> t = turtle.Pen()

>>> 




* 우분투를 사용하고 있는데 이 부분에서 에러가 발생한다면 thkinter를 설치해야 할 것이다.

  이것을 설치하기 위해서는 우분투 소프트웨어센터(Ubuntu Software Center)를 열고 검색 박스에 

  python-tk라고 입력한다.


"Tkinter -Writing Tk Application with Python"이라는 것이 창에 나타날 것이다. install을 클락하여 그 패키지를 설치한다.


>>> t.forward(50)

>>> 



거북이가 50 픽셀 앞으로 움직였다.

픽셀(pixel) 화면상의 1 포인트를 말한다.

이것은 어떤 것을 표현할 수 있는 가장 작은 단위다. 

여러분이 모니터에서 보는 모든 것들은 작고 사각형의 점인 픽셀로 이루어진다.

캔버스를 확대하여 거북이가 그린 선을 본다면, 거북이의 경로를 나타내는 화살표가 려러 픽셀임을 알 수 있을 것이다.


거북이를 왼쪽으로 90도 돌려보자.




여러분이 바라보고 있는 방향이 0도다.

여러분의 왼쪽 팔쪽이 왼쪽 90도다.

여러분의 오른쪽 팔쪽이 오른쪽  90도 다.






>>> t.forward(50)

>>> t.left(90)

>>> t.forward(50)

>>> t.left(90)

>>> t.forward(50)

>>> t.left(90)

>>> t.forward(50)

>>> 




거북이는 사각형을 그린 다음, 처음에 있던 방향을 향하게 될 것이다.


캔버스를 지우려면 reset을 입력한다. 이것은 캔버스를 깨끗하게 하며 거북이를 시작 위치에 둔다.

>>> t.reset()


거북이를 그대로 둔 상태에서 화면을 깨끗하게 지우는 clear를 사용할 수도 있다.

>>> t.clear()

>>> 



>>> t.reset()                 화면을 리셋

>>> t.backward(100)       뒤로 100픽셀 이동 

>>> t.up()                   화살표 줄 위로 띄운상태 (줄생기지 않도록)  

>>> t.right(90)              오른쪽으로 90도 방향 전환 

>>> t.forward(20)           앞으로 20포인트 

>>> t.left(90)               완쪽으로 90도 방향 전환

>>> t.down()               화살표 다운 줄생기도록 

>>> t.forward(100)         화살표 직직 100픽셀 

>>> 




연습문제 : 모서리 없는 상자를 풀어보았다. 


>>> t.reset()

>>> t.forward(100)

>>> t.up()

>>> t.forward(20)

>>> t.left(90)

>>> t.up()

>>> t.forward(20)

>>> t.forward(100)

>>> t.backward(100)

>>> t.down()

>>> t.forward(100)

>>> t.up()

>>> t.forward(20)

>>> t.left(90)

>>> t.forward(20)

>>> t.down()

>>> t.forward(100)

>>> t.up()

>>> t.forward(20)

>>> t.left(90)

>>> t.forward(20)

>>> t.down()

>>> t.forward(100)







'Python' 카테고리의 다른 글

10. 조건문은 비교하는 데 도움을 준다.  (0) 2016.12.01
9. IF문  (0) 2016.12.01
7. 파이썬 맵은 길을 찾는 데 도움을 주지 않는다.  (0) 2016.12.01
6. 튜플  (0) 2016.12.01
5. 리스트 연산  (0) 2016.12.01