티스토리 뷰

SMALL

- 터틀 그래픽 : Turtle Graphic

 터틀 그래픽은 1966년, 교육용 프로그래밍 언어인 'logo'에서 처음 소개한 기능으로

프로그래밍에 익숙하지 않은 사람들에게 가시적으로 프로그램 수행 결과를 쉽게 확인할 수 있도록 돕는다.

 

 터틀 그래픽은 화면에 거북이 모양의 커서를 움직여 가며 그림을 그리는 기능을 수행한다.

꼬리에 잉크가 묻은 거북이를 종이에 올려놓고 리모컨으로 조작하는 방식으로 동작한다.

 

 

- 터틀 그래픽 시작하기

 

1. 터틀 모듈 가져오기

: 터틀 그래픽을 하기 위해서는 터틀 모듈을 가져와야 하는데, 모듈을 가져오는 명령 import를 해준다.

import turtle

 

2. 터틀 그래픽 초기화

*주의 대문자 소문자 지키기

t = turtle.Turtle()

 

3. 커서 모양 지정해주기

: 터틀 그래픽에서 커서의 모양은 다양하고 명령을 통해 지정해줄 수 있다.

저의 경우는 커서의 모양을 'turtle'로 설정해주었습니다.

t.shape("turtle")

 

 

 

- 커서의 모양 (종류)

 

1. arrow : 화살표(세모) 모양

명령 : turtle.shape("arrow")

 

2. circle : 원 모양

turtle.shape("circle")

 

3. classic : 화살표 모양

turtle.shape("classic")

 

4. square : 정사각형 모양

turtle.shape("square")

 

5.triangle : 세모 모양

turtle.shape("triangle")

 

6. turtle : 거북이 모양

turtle.shape("turtle")

 

 

- 터틀 그래픽의 화면 좌표계

 터틀 그래픽은 x=0, y=0 좌표에서 시작한다.

 

 

 

- 터틀 그래픽의 기본적인 명령어 종류

 

1. 점

- dot(점의지름)

 dot명령은 현재 위치에서 지정한 지름을 이용하여 점(채워진 원)을 만든다.

t.dot(100)

 위의 예제의 명령은 지름이 100인 점을 만든다. 

 

 

 

2. 선

- forward(픽셀수)  =  fd(픽셀수)

 forward명령은 현재 진행하는 방향으로 지정된 픽셀 수(= 선길이) 만큼 이동한다. 

t.forward(100)

 위의 예제 명령으로 동작할 경우, 커서 방향에서 100만큼 움직인다.

 

- backward(픽셀수)

 backward명령은 현재 진행하는 방향의 반대 방향으로 지정된 픽셀 수(= 선길이)만큼 이동한다.

t.backward(100)

 

- goto(x, y)

 goto명령은 지정한 x, y 좌표의 위치로 커서를 이동한다.

t.goto(50,-50)

위 예제의 명령시, x=50, y=-50 좌표의 위치로 커서가 이동된다.

 

 

3.  곡선

- circle(반지름)

 circle명령은 현재 커서의 위치로부터 지정한 반지름을 이용하여 원을 그린다.

t.circle(50)

위 예제의 명령시, 현재 커서의 위치로부터 반지름이 50인 원을 만든다.

 

 

4. 위치

- home()

home명령은 현재 커서 위치에서 x=0, y=0의 좌표로 돌아온다.

t.home()

 

- goto(x, y)

 위의 goto 설명과 같다.

 

 

5. 방향

- left(회전각도)

 left명령은 현재 커서의 방향으로부터 지정된 각도만큼 왼쪽 방향으로 회전한다.

회전방향각도만큼 회전하는 것이지 전진하거나 이동하지 않는다.

 

- right(회전각도)

 right명령은 현재 커서의 방향으로부터 지정된 각도만큼 오른쪽 방향으로 회전하다.

t.left(90)
t.right(90)

 

 

6. 펜

- up()

 up명령은 커서를 들어 커서가 지나다니는 곳에 잉크를 묻히지 않도록 한다.

up명령을 한 뒤, 다시 잉크를 묻히고 싶다면 down명령을 해줘야한다.

t.up()

 

 

- down()

 up명령의 반대 개념으로 커서가 지나다는 곳에 잉크를 묻힌다.

t.down()

 

- width(굵기)

 width명령은 잉크의 굵기를 설정해준다.

t.width(10)

 

- color(색상, 색상)

펜 색상과 채우기 색상을 반환하거나 설정합니다.

t.color("red", "green")

위 예제 명령시, 앞의 명령 색상은 선의 색을 나타내며 뒤의 명령 색상은 커서의 색을 나타낸다.

즉, 초록색 커서가 빨간 선을 나타낸다.

 

 

 

- 기본 예제

: 기본 예제는 제가 그냥 만든 예제입니다.

실행할 예제

1. 주 프로그램 설정

2. 색과 굵기 설정

3. 한 변의 길이가 100인 정삼각형 그리기

4. 내접한 삼각형 하나더 그리기

5. 좌표(0, -100)에 반지름이 50인 원 그리기

5번에서 좌표(0, -100)이라는 조건을 해준 이유는 up과 down의 예시를 보여주기 위해서 입니다.

두 개의 삼각형을 그리는 명령을 실행하고 나면, 커서는 좌표(0, -50)에 위치하게 됩니다.

이때 up명령을 하지 않고 goto명령을 실행하게 되면 좌표(0, -50)에서 (0, -100)으로 커서가 지나가게되면서

지나간 위치를 잉크로 표시하게 됩니다.

up명령을 생략하고 실행했을 때 결과입니다.

 

 지나간 자리를 표시하지 않기위해 up명령을 해주었고, 원을 표현하기 위해 goto명령을 실행한 뒤

down명령을 실행해주었습니다.

 

- 실행 결과

 

 

 

반응형
LIST
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함