본문 바로가기

Programming/Python

[파이썬 프로그래밍] 21화 turtle 모듈

[파이썬 프로그래밍] 21화 turtle 모듈




Html5 캔버스 라던지, win api 라던지, 그래픽적인 요소가 나오면 아무래도 프로그래밍의 재미를 배가

시켜줍니다. 게임을 만들다던지 프로그램의 시각적인GUI 를 개발하면 한층더 멋진 어플리케이션이

탄생 하는것이지요.


이번 시간에는 turtle 모듈을 사용해 보도록 하겠습니다.

참고로 turtle은 거북이,자라 를 뜻하는 말로 '거북이모듈' 이라고 불리울수 있습니다 +_+





거북이모듈(turtle)




import turtle 로 터틀 모듈을 불러옵니다.

p 또는 변수를 하나 생성해서 turtle.Pen() 이라고 캔버스를 그리는 Pen 함수를 실행하면

아래와 같이 캔버스창이 뜹니다. 신기하죠?






자, 지금부터 화가로 빙의 하여 거북모듈의 커서를 움직여 봅시다.

아주 재밌습니다.




다음과 같이 코드를 한줄씩 입력하면서 캔버스창의 변화를 보세요.

커서 조금씩 움직이는 것이 보이실겁니다.


아까 전에 p라는 변수에 turtle.Pen() 이라는 펜함수를 집어넣었기 떄문에

p.forward(100) 이라고 입력하여 커서를 100픽셀 움직일수 있습니다.


이번에는 커서 방향을 왼쪽으로 꺽기 위하여

p.left(90) 이라고 입력하여 90도 왼쪽으로 직각으로 꺽어 줍니다.


그다음은 계속 반복입니다.


그러면 다음과 같이 사각형이 만들어진 것을 확인 할 수 있습니다.




이렇게, 사각형을 그렸습니다. 신기하죠?

파이썬으로 그림 그리기의 첫단계 입니다.


 캔버스를 꺠끗하게 지우고 싶다면 다음의 명령어를 입력해 줍니다.

캔버스 지우기: p.clear()


커서를 처음 시작위치로 되돌리면서 꺠끗하게 지우기: p.reset() 





거북(turtle)모듈 문제





자, 다음 그림과 유사하게 그려보세요. 문제입니다.

여기서  한가지 꼭 알고 있어야 하는 부분에 대해서 설명 드리겠습니다.

Pen() 함수로 , 펜으로 그림을 그린다고 이해하시면서 다음의 설명을 해보세요.


p.backdown(200)    : 200픽셀 뒤로 이동

p.forward(200)        : 200픽셀 앞으로 이동


p.up()                    : 펜을 올린다. (이동하면 펜은 안칠해짐)

p.down()                : 펜을 내린다. (이동하면 펜이 칠해짐)


p.left(45)                : 펜을 왼쪽으로 45도 방향을 바꾼다. 숫자를 바꾸면 해당각도로 움직임

p.right(45)              : 펜을 오른쪽으로 45로 방향을 바꾼다. 숫자를 바꾸면 해당각도로 움직임





별 그리기



 음... 별을 정삼각형으로 예쁘게 그려보세요. 저는 삐뚤빼뚤 하네요 ;;;

이것도 문제입니다. 위의 문제를 푸셨으면 이것도 식은죽 먹기 입니다.

별그리기 까지 하면 사실상 자신이 원하는 그림은 거의 그리 실수 있을거예요. 꾀 오래걸려서 그렇지 ㅋㅋ