[파이썬] 초보자도 쉽게 배우는 터틀 그래픽, 그림 그리듯 코딩하기

터틀 그래픽(Turtle Graphics)은 그래픽 디자인 및 컴퓨터 프로그래밍 교육을 위한 프로그래밍 언어 및 환경의 일부이다. 이름에서 유추가 되듯이 “터틀(=거북이)”이 화면 위에서 그림을 그리기 위해 사용되는 그래픽 펜을 의미한다. 파이썬의 일부분으로 파이썬을 배울 때 아주 좋은 교육 환경을 제공하며, 터틀에게 지시를 내려 그림을 그리거나 다양한 도형, 게임 등을 구현할 수 있다. 기본적인 컨트롤 구조 및 루프 개념을 가르치는데 매우 유용하며 학생들이 명령어를 사용하여 터틀을 이동시키고 그림을 그릴 수 있도록 도와주며, 이 과정에서 문제 해결 능력과 논리적 사고를 향상 시킬 수 있다.

터틀 그래픽 기초 문법

터틀 그래픽 모듈

아래는 터틀이 지나가면서 선을 그리고 있는 모습이다.

1. 터틀 그래픽 실행하기

1.1. IDLE Shell에서 터틀 그래픽 실행하기
  • 파이썬을 설치하면 기본으로 함께 설치가 되어 별도 설치할 필요가 없다. # 설치는 개발구축환경 글 참조#
  • 시작메뉴에서 IDLE Shell을 찾아 실행하면 되는데, 설치한 파이썬에 따라 버전이 다를 수 있다.
  • IDLE Shell을 실행하면 File에서 new file을 눌러 새창에서 코드를 입력해야 한다.
IDLE Shell

1.2. 비주얼 스튜디오 코드(VSC)에서 실행하기

  • 비주얼 스튜디오 코드를 설치하는 방법은 아래 내용의 개발환경 설정을 참조하면 된다.
  • 파이썬 설치도 아래를 참조하면 좋다.

1.3. 터틀 그래픽 호출하기(import)

import turtle    # 터틀그래픽 모듈을 호출시킴

turtle.Turtle(“turtle”) #터틀의 모양을 “turtle”로 정하라는 뜻

turtle.mainloop() # 터틀 그래픽 창을 계속 루프 함(IDLE Shell에서 할 경우 입력을 안해도 된다)

터틀 호출하기

2. 터틀 모양 알아보기

turtle.Turtle(“turtle”)  # "turtle" 대신 다른 이름으로 쓰면 적용이 된다.
  • 터틀 그래픽에서 터틀의 모양은 5가지를 지원한다.
    • “turtle” : 거북이
    • “triangle” : 세모
    • “square” : 네모
    • “circle” : 원
    • “classic” : 기본 화살표
  • 적용 방법
import turtle   
turtle.Turtle(“triangle”)    # 세모 모양, 만약 다른 모양으로 할 경우 다른 모양 이름을 쓰면 된다.
turtle.mainloop()  

3. 터틀 기본 명령어

기본 세팅 명령어
import turtleturtle 모듈을 불러옴
import turtle as t-turtle 모듈을 불러온 후, turtle 대신 t를 사용한다. 예시) turtle.forward(10)이 아니라 t.forward를 사용한다.
from turtle import*-터틀 모듈을 불러온 후 turtle을 생략하여 사용한다. 예시) turtle.forward(10)이 아니라 forward(10)를 사용한다.
turtle.shape( )-turtle 모듈의 아이콘 모양을 바꾸는 명령어 turtle.shape(‘터틀’) :거북이 모양 아이콘 설정 turtle.shape(‘classic’): 기본 아이콘 모양(화살표) turtle.shape(‘triangle’): 삼각형 아이콘 설정 turtle.shape(‘circle’) : 원형 아이콘 설정 turtle.shape(‘square’) : 사각형 아이콘 설정
이동과 관련된 명령어
turtle.forward(a)-거북이 머리 방향으로 a 만큼 이동 – turtle.fd( ) : 줄여서 사용 가능
turtle.backward( a)-거북이 머리 반대 방향으로 a 만큼 이동 – turtle.back( ) : 줄여서 사용 가능
turtle.right(a )-거북이 머리 방향을 오른쪽으로 a만큼 회전 – turtle.rt( ) : 줄여서 사용 가능
turtle.left( a)-거북이 머리 방향을 왼쪽으로 a 만큼 회전 – turtle.lt( ) : 줄여서 사용 가능
turtle.setheading(a)-거북이 머리 각도를 a 만큼 회전 – 거북이 머리 방향을 기분으로 왼쪽으로 돌면 +각도로 회전

4. 터틀 전진하기

  • turtle.forward(100) : 앞으로 100만큼 전진하기(괄호의 숫자만큼 이동함)
import turtle   

turtle.Turtle()		# 터틀 오브젝트 생성
turtle.shape(“turtle”)   # 터틀 모양을 turtle로 지정
turtle.forward(100)      # 앞으로 100만큼 전진	
 	
turtle.mainloop()   # 프로그램이 닫히지 않게 기다림
터틀 전진하기

5. 터틀 회전하기

  • turtle.right(90) : 오른쪽으로 90도 회전하기
  • turtle.left(90) : 왼쪽으로 90도 회전하기
import turtle   

turtle.Turtle()		# 터틀 오브젝트 생성
turtle.shape(“turtle”)   # 터틀 모양을 turtle로 지정
turtle.forward(100)      # 앞으로 100만큼 전진
turtle.right(90)		# 오른쪽으로 90도 회전	
 
turtle.mainloop()   # 프로그램이 닫히지 않게 기다림
전진 후 회전하기

터틀이 앞으로 100만큼 전진 후 오른쪽으로 90도 회전하기

6. 사각형 그리기

import turtle   

turtle.Turtle()		# 터틀 오브젝트 생성
turtle.shape(“square”)   # 터틀 모양을 turtle로 지정
turtle.forward(200)      # 앞으로 200만큼 전진
turtle.left(90)		# 왼쪽으로 90도 회전
turtle.forward(200)      # 앞으로 200만큼 전진
turtle.left(90)		# 왼쪽으로 90도 회전
turtle.forward(200)      # 앞으로 200만큼 전진
turtle.left(90)		# 왼쪽으로 90도 회전
turtle.forward(200)      # 앞으로 200만큼 전진
	
turtle.mainloop()   # 프로그램이 닫히지 않게 기다림
사각형 그리기

7. 반복형 코드로 도형 그리기

  • for문은 반복으로 사용을 하며, i의 값이 range(0,4)만큼의 횟수를 반복하게 된다.
  • 데이터는 4를 제외한 0, 1, 2, 3의 데이터를 가지는데 0은 생략이 가능하기에 (0, 4)를 (4)로 표시해도 된다.
import turtle   

turtle.Turtle()		# 터틀 오브젝트 생성
turtle.shape(“turtle”)   # 터틀 모양을 turtle로 지정
	
for I in range(4):          # 4번 반복
    turtle.forward(100)   # 앞으로 100만큼 전진
    turtle.right(90)    	 #오른쪽으로 90도 만큼 회전
turtle.mainloop()   # 프로그램이 닫히지 않게 기다림

for문으로 도형그리기

8. 삼각형 그리기

  • 도형을 그리는 방법은 동일한 코드를 연속으로 넣는 방법과 for문을 이용한 반복문을 사용할 수 있다.
import turtle   

turtle.Turtle()		# 터틀 오브젝트 생성
turtle.shape(“turtle”)   # 터틀 모양을 turtle로 지정
	
for I in ragne(3):          # 3번 반복
    turtle.forward(100)   # 앞으로 100만큼 전진
    turtle.left(120)    	 #왼쪽으로 120도 만큼 회전
turtle.mainloop()   # 프로그램이 닫히지 않게 기다림
  • 삼각형의 회전 각도 = 360 ÷ 3
삼각형 그리기

9. 오각형 그리기

import turtle   

turtle.Turtle()		# 터틀 오브젝트 생성
turtle.shape(“turtle”)   # 터틀 모양을 turtle로 지정
	
for I in ragne(5):          # 5번 반복
    turtle.forward(100)   # 앞으로 100만큼 전진
    turtle.right(72)    	 #오른쪽으로 72도 만큼 회전
turtle.mainloop()   # 프로그램이 닫히지 않게 기다림
  • 오각형의 회전 각도 = 360 ÷ 5
오각형 그리기

10. 수식으로 각도 정하기

  • 도형의 회전 각도 = 360 ÷ (n각형) #그리고자 하는 도형의 각을 n에 넣으면 된다.
import turtle   

turtle.Turtle()		# 터틀 오브젝트 생성
turtle.shape(“turtle”)   # 터틀 모양을 turtle로 지정
	
for I in ragne(8):          # 8번 반복
    turtle.forward(100)   # 앞으로 100만큼 전진
    turtle.right(360/8)    # 360/8 만큼 회전
turtle.mainloop()   # 프로그램이 닫히지 않게 기다림
팔각형 그리기

11. 터틀 펜 색상 및 배경 색상 지정하는 방법

  • turtle.color() : 터틀 펜 색상 정하기
  • turtle.bgcolor() : 배경색상을 흰색에서 다른 색으로 지정할 수 있다.
  • 컬러 색상은 반드시 ” ” 안에 컬러명을 넣어야 한다.
turtle.color(“blue”)	 # 터틀 색상을 블루로 지정
turtle.bgcolor(“pink”)  # 배경 색상을 핑크로 지정
  • 컬러 리스트는 아래 링크에서 참조하여 사용이 가능하다.
파이썬에서 사용가능한 컬러차트 모음

12. 터틀 펜 및 배경색 적용하기

import turtle as t  # 터틀그래픽 모듈을 t로 설정  

t.shape(“turtle”)   # 터틀 모양을 turtle로 지정
t.color(“blue”)	 # 터틀 색상을 블루로 지정
t.bgcolor(“pink”)  # 배경 색상을 핑크로 지정

t.mainloop()
터틀 펜 색상 및 배경색 적용하기

13. 삼각형, 사각형, 오각형을 색상별 그리기

import turtle as t

t.shape(“turtle”)   # 터틀 모양을 turtle로 지정
t.bgcolor(“hotpink”)

t.color(“red”)	
for I in range(4):        # 사각형이므로 4번 반복
    t.forward(100)   # 앞으로 100만큼 전진
    t.left(90)    	 #오른쪽으로 90도 만큼 회전

t.color(“black”)	
for I in range(3):       # 삼각형이므로 3번 반복
    t.forward(100)   # 앞으로 100만큼 전진
    t.left(120)    	 #오른쪽으로 90도 만큼 회전

t.color(“white”)	
for I in range(5):       # 오각형이므로 5번 반복
    t.forward(100)   # 앞으로 100만큼 전진
    t.left(360/5)    	 #오른쪽으로 90도 만큼 회전

t.mainloop()   # 프로그램이 닫히지 않게 기다림
삼각형 사각형 오각형 그리기

Loading

댓글 남기기