Unit 21. 터틀 그래픽스로 그림 그리기

이하연·2020년 6월 15일
0

Python Theory

목록 보기
14/18
post-custom-banner

21.1 터틀 모듈

>>> import turtle as t
>>> t.shape('turtle')

터틀 그래픽스(Turtle graphics) 모듈

앞으로 이동: forward, fd
뒤로 이동: backward, bk, back
왼쪽으로 회전: left, lt
오른쪽으로 회전: right, rt


1. 사각형 그리기

1) 반복문 없이

import turtle as t
t.shape('turtle')
 
t.fd(100)
t.rt(90)
t.fd(100)
t.rt(90)
t.fd(100)
t.rt(90)
t.fd(100)

2) 반복문 있이

import turtle as t
t.shape('turtle')

for i in range(4):    # 사각형이므로 4번 반복
    t.forward(100)
    t.right(90)

2. 오각형 그리기

import turtle as t
 
t.shape('turtle')
for i in range(5):      # 오각형이므로 5번 반복
    t.forward(100)
    t.right(360 / 5)    # 360을 5로 나누어서 외각을 구함

3. N각형 그리기

import turtle as t
 
n = int(input())        # 사용자의 입력을 받음
t.shape('turtle')
for i in range(n):      # n번 반복
    t.forward(100)
    t.right(360 / n)    # 360을 n으로 나누어서 외각을 구함
  • 색칠하기
import turtle as t
 
n = 6    # 육각형
t.shape('turtle')
t.color('red')          # 펜의 색을 빨간색으로 설정
t.begin_fill()          # 색칠할 영역 시작
for i in range(n):      # n번 반복
    t.forward(100)
    t.right(360 / n)    # 360을 n으로 나누어서 외각을 구함
t.end_fill()            # 색칠할 영역 끝

4. 원 그리기

>>> import turtle as t
>>> t.shape('turtle')
>>> t.circle(120)
  • 원 반복해서 그리기
mport turtle as t
 
n = 60    # 원을 60번 그림
t.shape('turtle')
t.speed('fastest')      # 거북이 속도를 가장 빠르게 설정
for i in range(n):
    t.circle(120)       # 반지름이 120인 원을 그림
    t.right(360 / n)    # 오른쪽으로 6도 회전
  • 거북기 속도 설정

'fastest': 0
'fast': 10
'normal': 6
'slow': 3
'slowest': 1

  • 선으로 복잡한 무늬 그리기
import turtle as t
 
t.shape('turtle')
t.speed('fastest')      # 거북이 속도를 가장 빠르게 설정
for i in range(300):    # 300번 반복
    t.forward(i)        # i만큼 앞으로 이동. 반복할 때마다 선이 길어짐
    t.right(91)         # 오른쪽으로 91도 회전

참고 | 터틀 모양 설정하기
터틀의 shape에는 'arrow', 'turtle', 'circle', 'square', 'triangle', 'classic' 등을 지정하여 여러 가지 터틀 모양을 사용할 수 있습니다. 특히, t.shape()와 같이 shape를 그대로 호출하면 현재 모양을 알아낼 수 있습니다.

>> import turtle as t
>> t.shape('arrow')    # 화살표 모양 사용
>> t.shape()           # 현재 모양 알아내기
'arrow'
post-custom-banner

0개의 댓글