본문 바로가기
  • Top Genius in the world
거북이 그림

[거북이그림] 첫번째 <거북아 놀자>

by Mr.Algo 2024. 3. 28.
728x90
반응형

파이썬 실습창을 열 수 있습니다.실습창 열기

 

때로는,

초록 초록한 자연에서

한 마리

나비가 되자!

 

 

1. 거북이 그림

 

남태평양 어느 섬,

드넓은 바닷가 모래밭에 거북이가 기어가고 있습니다.

거북이는 재미있는 그림을 그리고 있을까요?

 

이러한 생각으로 그리는 그림을 '거북이 그림(turtle graphics)'이라 합니다.

 거북이 그림은 결과를 바로 확인( 즉각적이고 가시적인 피드백을 제공)할 수 있으므로 학습자가 프로그래밍 개념과 소프트웨어와의 상호 작용을 접할 수 있는 효과적이고 잘 입증된 방법입니다.  스웨덴 등의 나라에서는 학생들의 코딩 교육을 거북이 그림으로 합니다.  거북이 그림의 세계로 당신을 초대합니다.

 

1-1. 아뜰리에

아뜰리에(atelier)는 작가가 작업하는 공간입니다.  우리 말로는 공방입니다. 그곳에는 이젤, 도화지, 물감, 붓 등 그림 도구들도 있습니다.

우리의 아뜰리에는 컴퓨터 속에 만들어야 합니다.  또한 그곳에 그림 도구들도 있어야 합니다. 우리의 도구는 프로그램입니다. 붓의 역활을 하는 프로그램, 물감 역할을 하는 프로그램 등입니다.  그런데 이런 도구들은 'turtle'이라는 창고에 이미 만들어 놓았습니다.  가지고 와서 사용하면 됩니다. 

다음 코드를 실행하여 보세요.

from turtle import*
done()
  • 실핼하면 새로운 윈도(도화지)가 열립니다. (보이지 않으면 화면 아래에 새로 생긴 흰 아이콘 클릭)
  • 1번 줄:터틀 창고(library)에서 모든 도구(method)를 나의 아뜰리에로 가지고 오라. 별표(*, star)는 모든(all)을 의미합니다.
  •  2번 줄: 실행을 유지하라. (done()이 없으면 그림을 그리고 즉시 종료 될 수 있습니다.)

나의 아뜰리에가 만들어 지고, 그곳에는 모든 그림 도구들이 준비되었습니다.

그림을 그릴 때 시작은 1번 줄, 마지막은 2번줄이 있어야 합니다. 

그림은 그 사이에 그립니다.

 

1-2. 숨은 거북이

도화지(새로 생긴 윈도)의 한 가운데에 거북이가 숨어 있습니다.

숨어 있는 거북이가 모습을 드러내게 하겠습니다.

다음 코드를 보고, 필요한 부분을 위의 프로그램에 추가하세요.

from turtle import*
shape('turtle')
done()

 

짜잔! 거북이가 나타났습니다.

2번 줄의 shape('turtle')은 '거북이 모습을 나타내라'는 것입니다.

거북이는 다음의 6가지 모습으로 변신할 수 있습니다.

     arrow(화살), turtle(거북이), circle(동그라미), square(사각형), triangle(삼각형), classic(오목 화살)

2번 줄의 turtle 대신에 위의 모습을 넣어 보세요.

고양이 등의 모습은 기본적으로 없습니다. 그러나 우리가 만들 수는 있습니다.

 

1-3. 앞으로 갓!

거북이를 움직여 봅시다.

거북이에게 앞으로 가라고 하면 어디로 갈까요?

거북이가 오른쪽을 보고 있음으로 오른쪽으로 갈 것입니다.

'앞으로 가라'를 forward(줄여서 fd)라고 합니다. 얼마쯤 가는가는 괄호 속에 적어 줍니다.

다음 코드를 실행하여 보세요.

from turtle import*
shape('turtle')
fd(100)
done()

뒤로 가게 하려면 fd(음수) 또는 backward(줄여서 bk)를 사용합니다.

 

1-4. 좌로 봤!

거북이의 방향을 바꿀 수 있습니다.

왼쪽은 left(각도)  줄여서 lt(각도),

오른쪽은 right(각도) 줄여서 rt(각도) 또는 lt(음수 각도)

 

'거북이야, 왼쪽으로 90도 돌아!' 는 다음과 같이 할 수 있습니다.

from turtle import*
shape('turtle')
fd(100)
lt(90)         #오른쪽은 lt(음수) 또는 rt(right)   
done()

 

거북이가 왼쪽으로 90도 돌면 어디를 향하게 될까요?

현재 오른쪽을 보고 있음으로 위쪽을 향하게 됩니다.

 

1-5 여기서 문제

'한 변의 길이가 100인 정사각형을 그려 보세요.'

더보기
from turtle import*
shape('turtle')
fd(100)
lt(90)
fd(100)
lt(90)
fd(100)
lt(90)
fd(100)
lt(90)
done()

'''
노가다(?), 막노동이 많았습니다.
수고했습니다.
'''

[참고]

  • 새로운 그림을 그리려면 도화지(열린 윈도)를 닫고 하세요. 닫지 않으면 변화된 그림을 표시하지 않습니다.
  • 한 번 실행하여 에러가 되면 한 번 더 실행하세요. 두 번 실행해도 에러가 되면 프로그램을 수정하세요.
  • 100 등의 숫자 의미는? 컴퓨터 화면은 아주 작은 꼬마 전구들로 만들어진 전광판입니다. 100은 '꼬마 전구 100개의 불을 켜라'는 의미입니다. 꼬마 전구를 픽셀(pixel, pictures element, 화소)이라 합니다.
  • 터틀 그래픽의 화면은 수학 좌표와 같습니다. 처음 거북이가 있는 곳이 원점(0,0)입니다.

1-6. 무엇을 원하십니까?

거북이 색깔?  거북이 빠르기? 선의 두께?  

원하는 것은 무엇이든 할 수 있습니다.

from turtle import*
shape('turtle')
color('red')         # 거북이와 선의 색깔
speed(0)             # 거북이 속도(0 ~ 10), 0이 가장 빠름, 1이 가장 느림  
width(5)             # 선의 두께
fd(100)
done()

 

 

※ 이곳에 turtle graphics의 많은 것이 있습니다.

https://docs.python.org/3/library/turtle.html#turtle-graphics-reference

 

turtle — Turtle graphics

Source code: Lib/turtle.py Introduction: Turtle graphics is an implementation of the popular geometric drawing tools introduced in Logo, developed by Wally Feurzeig, Seymour Papert and Cynthia Solo...

docs.python.org

 

거북이 그림의 놀라운 세계가 열리고 있습니다.

상상 그 이상이 될 것입니다.

기대하새요.

 

수고하셨습니다.

오늘 끝.

 

728x90
반응형