꿈꾸고 행동하고 베풀자

삶에 대해서 올바르게 사유하고 행동하며 나누는 삶을 살아봅시다.

베푸는아해/공부해서 남주나

[파이썬] 거북이로 태극 그리기를 배우다

꿈꾸는 아해 2018. 1. 7. 13:47
728x90
반응형

오늘은 꿈꾸는아해가 거북이 예제를 배웠습니다. ㅎㅎ

그래서 거북이 모듈을 불러와 활용하는 간단한 그림 그리기를 해보았습니다...

근데 간단하지가 않네요~ ㅠㅠ


거북이 모듈 안에는 2개의 클래스가 존재한다거북이(Turtle)는 커서를 원하는 데로 이동하는 클래스이고 화면 (Screen) 은 창의 크기배경 등 환경에 관한 클래스이다

거북이 모듈의 클래스들을 사용하려면 우선 모듈을 import해야하고 클래스를 사용하려면 객체를 생성해야 한다.

아래 오늘 배운 코드를 확인해보세요~


------------------- 오늘 배운 코드 -------------------

import turtle

def draw_shape(radius, color1):
t.left(270)
t.width(3)
t.color("black", color1)
t.begin_fill()
t.circle(radius/2.0, -180)
t.circle(radius,180)
t.left(180)
t.circle(-radius/2.0, -180)
t.end_fill()
t = turtle.Turtle()
t.reset()
draw_shape(200,"red")
t.setheading(180)
draw_shape(200, "blue")

----------------------------------------------------

draw_shape(200,"red") 호출




draw_shape(200, "blue") 호출



두둥 태극 완성 ㅋ

거북이 명령어를 알아보자~!!


 

  1. 거북이 이동


  • 명령 내리기


분류

명령

간단명령

입력

설명

W

forward(x)

fd()

이동량 x

x만큼 전진

backward(x)

bk(), back()

이동량 x

x만큼 후진

right(a)

rt(a)

회전각 a

좌로 a만큼 돌기

left(a)

lt(a)

회전각 a

우로 a만큼 돌기

goto()

setpos()

절대좌표 x ,y

절대 좌표 (x,y)로 이동

setx()

-

좌표 x

x좌표 지정

sety()

-

좌표 y

y좌표 지정

setheading(a)

seth(a)

각도 a

진행방향 정하기

home()

-

-

홈 위치로 이동

circle(r, a)

-

반경 r, 각도 a

원그리기

dot(s, c)

-

크기s, 색상c

현재 위치에 점찍기

stamp()

-

-

현재 위치에 스탬프 찍기

speed(spd)

-

속도 spd (0~10)

0: 최고속

거북이 속도지정

spd가 크면 클수록 빠름


  • 상태 읽기

분류

명령

간단명령

입력

설명

R

position()

pos()

 

 

R

towards(x,y)

-

절대좌표 x ,y

현재위치와 (x, y) 를 잇는 선분과 거북이 진행방향과의 사이각 반환

R

xcor()

-

 

현재위치의 x좌표 반환

R

ycor()

-

 

현재위치의 y좌표 반환

R

heading()

-

 

현재의 진행방향을 반환

R

distance(x,y)

-

절대좌표 x ,y

현재위치와 (x, y)까지의 좌표를 반환


2. 거북이 외관 설정

  • 보이기/감추기 명령

분류

명령

간단명령

입력

설명

W

showturtle()

st()

 

거북이 보이기

W

hideturtlw()

ht()

 

거북이 감추기

R

isvisible()

-

 

거북이가 보이는 상태면 True 반환


  •        거북이 모양

     분류

명령

   간단명령

입력

설명

    R/W

   shape(s)

-

모양: s

      ‘arrow’, ‘tirtle’, ‘circle’ ...

거북이 모양지정 또는 반환

   R/W

   resizemode(m)

-

모드: m

  ‘auto’, ’user’, ’noresize’

거북이 감추기

    R/W

   shapesize(~)

     turtlesize  ()

     ~: strech_w, strech_l,  outline

     거북이의 폭과 길이의 스케일과 외곽선의 두께를 지정

   R/W

   shearfactor(s)

 

  쉬어각도의 탄젠트 s

거북이를 변형시킨다.

   W

   settiltangle(a)

 

       절대 틸트각: a

      진행방향과 무관하게 거북이를 각도 a로 회전.

   W

   tilt(a)

 

    틸트각도: a

      진행방향과 무관하게 거북이의 틸트 각도를 a민큼 더 회전.

   R/W

      shapetransform(T)

 

변환행렬 T

T= t11,t12, t21, t22

         거북이 변환행렬을 지정 또는 반환

   R

    get_shapepoly()

 

 

거북이 다각형의 좌표들을 반환


3. 펜 (거북이 자취설정

  •        펜의 상태관련

분류

명령

간단명령

입력

설명

W

pendown()

pd(), down()

 

펜 내리기

W

penup()

Pu(), up()

 

펜 올리기

R/W

pensize(w)

width(w)

두께: w

    펜두께를 w로 바꾸기

R/W

pen(dict)

-

사전식 dict

      펜의 여러 데이터를 사전식으로 설정

R

isdown()

-

-

펜이 down 상태이면 True 반환

  •      칼라설정 

분류

명령

간단명령

입력

설명

R/W

color(pc,fc)

 

펜색: pc

채우기색: fc

색 문자열 또는

RGB 

펜색채우기색을 동시에 지정

R/W

pencolor(pc)

 

펜색 지정

R/W

fillcolor(fc)

 

채우기색 지정 관련

  • 채우기 관련

분류

명령

간단명령

입력

설명

R

filling()

-

 

채우기가 되었으면 True반환

W

begin_fill()

-

 

채우기 시작

W

end_fill()

-

 

채우기 종료

  • 기타 명령

분류

명령

간단명령

입력

설명

W

reset()

-

 

화면을 지우고 거북이를 초기화

W

clear()

-

 

화면만 지우기

W

write(~)

-

별도참조 ~

화면에 글자쓰기



음~ 프로그래밍은 계속 연습만이 살길이다~

728x90
반응형