💻STUDY/PYTHON STUDY

6주차 수업 복습

coldNoodlePigeon 2021. 4. 7.

6. 거북 그래픽 

 

꼬북 꼬북.. 

 

 

거북 그래픽 시작 

 

거북 그래픽(turtle graphics)란? : 단순한 명령으로 거북 아이콘을 이동시키면서 이동 경로에 그림을 그리는 그래픽 언어. 

캔버스(canvas): 거북 그래픽으로 그려지는 도형은 캔버스라는 그래픽 전용 공간에 그려진다. 

기본 명령어: forward, backward, left, right 

 

import turtle
turtle.setup(width = 500, height = 500)
#캔버스의 크기를 결정
t = turtle.Pen()
t.forward(100)
#100pixels 만큼 앞으로 이동 

 

사각형 그리기 

 

import turtle
turtle.setup(width=600,height=600)
#600*600 사이즈의 캔버스
t=turtle.Pen()
t.pencolor("blue")
#위 명령어를 통해 거북이 이동경로 선의 색상 변경이 가능하다 
t.width(10)
#거북이의 이동경로 선의 굵기를 결정한다. 
for i in range(4):
    t.forward(200)
    #앞으로 200pixels 전진한다는 뜻 
    t.right(90)
    #오른쪽 방향으로 90도 회전한다는 뜻

 

 

오각형 그리기 

 

 

import turtle
t=turtle.Pen()
turtle.setup(width=600,height=600)
t.pencolor("red")
t.width(10)
for i in range(5):
    t.forward(150)
    t.right(72)

 

 

 

turtle.speed 

 

speed 함수를 이용하여 거북 아이콘이 움직이는 속도를 조절할 수 있다. 

 

fatest : 0 

fast: 10

normal: 6

slow: 3

slowest: 1 

 

(ex. speed('slow'))

 

 

원 그리기 

 

import turtle
turtle.setup(width=600,height=600)
#원은 수많은 선분들이 연결된 것이므로 수많은 선분들의 각도를 조금씩 바꾸어서 연결하여 원을 그린다.
edges=100
length=600/edges
angle=360/edges
t=turtle.Pen()
t.pencolor("red")
t.width(5)
t.speed(5)
for i in range(edges):
    t.forward(length)
    t.right(angle)

 

 

미로 그리기 

 

거북 아이콘을 윈도우의 중앙에 위치시킨 후 시계 반대 방향으로 거북이 회전할때마다 이동경로를 증가시키기. 

 

 

import turtle
t=turtle.Pen()
turtle.setup(width=600,height=600)
t.pencolor("violet")
t.width(3)
for i in range(0,301,4):
    t.forward(i)
    t.left(90)

 

 

up과 down

 

up함수: 거북의 이동경로선을 그리지 않고 거북 아이콘 이동이 가능

down함수: 거북의 이동경로선을 그리며 거북 아이콘이 이동

 

 

점선 그리기

 

import turtle
t=turtle.Pen()
turtle.setup(width=600,height=600)
t.speed(5)
t.width(3)
t.pencolor("violet")

edges=4
length=250
dot_size=length/20
for i in range(edges):
    for j in range(edges):
        t.forward(dot_size)
        t.up()
        t.forward(dot_size)
        t.down()
    t.right(90)

 

 

무작위로 선 그리기 

import turtle
turtle.setup(width=600,height=600)
t=turtle.Pen()
t.width(5)
t.speed(5)

import random

for i in range(200):
    t.pencolor(random.random(),random.random(),random.random())
    length=random.randint(10,60)
    angle=random.randint(30,120)
    t.forward(length)
    t.right(angle) 

(random.random()의 함수는 0~1.0사이의 실수가 무작위 발생) 

 

 

 

삼각형 칠하기

 

import turtle
turtle.setup(width=600,height=600)
t=turtle.Pen()
t.width(5)
t.speed(5)

import random

for i in range(200):
    t.pencolor(random.random(),random.random(),random.random())
    length=random.randint(10,60)
    angle=random.randint(30,120)
    t.forward(length)
    t.right(angle) 

 

원 칠하기

 

import turtle
turtle.setup(width=600,height=600)
t=turtle.Pen()

t.width(3)
t.speed(3)
t.color(1,1,0)
t.pencolor(0,0,1)
t.begin_fill()
t.circle(50)
t.end_fill()

 

t.circle() 의 간단한 명령어로도 원을 그릴 수 있다. ()안에 들어가는 숫자는 원의 반지름을 의미. 

 

 

'💻STUDY > PYTHON STUDY' 카테고리의 다른 글

8주차 배운거 복습  (0) 2021.04.28
7주차 수업 복습  (0) 2021.04.14
5주차 수업 복습  (0) 2021.03.31
4주차 수업 복습  (0) 2021.03.23
3주차 수업 복습  (0) 2021.03.17

댓글