Notice
Recent Posts
Recent Comments
Link
삶의 공유
[Python] Turtle 객체를 이용하여 그림 그리기 본문
728x90
반응형
안녕하세요 ~
오늘은 Python으로 Turtle 객체를 이용하여 그림 그리는 포스팅에 대해서 다뤄 보겠습니다.
먼저 Turtle 모듈를 불러와서 Tutle 객체를 생성합니다.
import turtle as t
tim = t.Turtle() # Turtle 객체 생성
그리고 일반 점선을 그려보는 코드를 보여드리겠습니다.
for _ in range(15):
tim.forward(10) # pen으로 그리기 시작 10씩
tim.penup() # 펜을 뗀다
tim.forward(10) # 뗀체로 10을 이동
tim.pendown() # 펜을 다시 내려놓는다.
요렇게 그리시면 아래와 같이 점선이 그려지는 것을 볼 수 있습니다.
이제 여기서 난이도를 더해서 5각형을 그려보겠습니다.
오각형의 내각의 크기는 108도 입니다. 그림을 그릴때는 108도를 반영하는 것이 아니라 실제 거북이가 움직는 방향에서 움직이는 각도를 설정 해야합니다.
그렇게 계산 하면 180 - 108 = 72가 나오는 것을 볼 수 있습니다.
360 / 5 = 72 가 나온다는 것을 더 알 수 있습니다. 그럼 이걸 반영해서 코드로 구현하면 아래와 같습니다.
# 오각형 그리기
num_sides = 5
for _ in range(num_sides):
angle = 360 / num_sides
tim.forward(100)
tim.right(angle)
그럼 이번엔 여러가지 각형들을 그려보도록 하겠습니다. 거기에 색깔도 랜덤으로 바꿔가면서 해보겠습니다.
먼저 랜덤 모듈을 불러오고 turtle 객체에서 사용할 색 리스트를 선언 하겠습니다.
import random
colours = ["CornflowerBlue", "DarkOrchid", "IndianRed", "DeepSkyBlue", "LightSeaGreen", "wheat", "SlateGray", "SeaGreen"]
그리고 앞서 만들어 두었던 오각형 그리는 코드를 함수로 만들고 num_sides변수를 입력 인자로 받는 함수로 구현하겠습니다.
def draw_shape(num_sides):
for _ in range(num_sides):
angle = 360 / num_sides
tim.forward(100)
tim.right(angle)
이제 색을 바꿔가면서 위에 구현한 draw_shape함수를 호출해보겠습니다. 코드는 아래와 같습니다.
for shape_side_n in range(3, 100):
tim.color(random.choice(colours))
draw_shape(shape_side_n)
결과는 아래와 같이 잘 나오는 것을 볼 수 있습니다.
반응형
'Data Scientist > Python' 카테고리의 다른 글
[파이썬] 공공 데이터포털 API를 이용하여 수출입 데이터 가져오기 (1) | 2022.09.22 |
---|---|
[파이썬] 투자를 위한 경제 지표 데이터 수집 및 시각화 (장, 단기 금리) (0) | 2022.09.04 |
[Python] brute함수를 이용하여 자동 매매 이동평균선 전략 최적화 하기 (0) | 2022.06.07 |
[파이썬] Customizing Plotly Chart (0) | 2022.05.23 |
[파이썬] Daily 수익률 표준 편차와 누적 수익률과의 관계 확인 (0) | 2022.05.22 |