티스토리 뷰
- 터틀 그래픽 : 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명령을 실행해주었습니다.
- 실행 결과
'Python' 카테고리의 다른 글
[python] 파이썬 : split 함수와 strip함수 (0) | 2022.01.29 |
---|---|
[python] 파이썬 출력 : end = '', sep = '' (0) | 2022.01.10 |
[python] 파이썬 랜덤함수(random) (0) | 2022.01.06 |
- Total
- Today
- Yesterday
- randint
- 파이썬
- JAVA오류해결
- 문제풀이
- konlpy
- YOLO
- yolov8
- SPRING오류해결
- gradleload오류
- 터틀그래픽예제
- 터틀그래픽 명령어
- 터틀그래픽
- database연결
- streamlistener
- tweepy
- 사람검출
- 10828번
- 에러발생
- 다인승
- 사람수세기
- python공부
- 다인승탑승
- 백준
- Turtle Graphic
- 오븐시계
- randrange
- baekjoon
- UnsupportedClassVersionError
- springboot
- Kkma
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |