Python에서 거북이 그래픽 만들기

Manav Narula 2024년2월15일
  1. Python에서 그래픽 출력용 화면 만들기
  2. Python에서 Turtle()을 사용하여 사각형 만들기
  3. Python에서 Turtle()을 사용하여 팔각형 만들기
  4. Python에서 Turtle()을 사용하여 육각형 만들기
  5. Python에서 Turtle()을 사용하여 별 만들기
  6. Python에서 Turtle()을 사용하여 원 만들기
  7. Python의 Turtle 라이브러리에 있는 기타 유용한 기능
Python에서 거북이 그래픽 만들기

로고 프로그래밍은 기본 명령을 사용하여 모양과 도형을 만들 수 있는 기본 프로그래밍 언어입니다. 아이들에게 프로그래밍에 대한 기본적인 이해를 제공하기 위해 소개됩니다.

Python에서는 turtle 라이브러리를 사용하여 Logo 프로그래밍 언어를 에뮬레이트하는 거북이 그래픽 작업을 할 수 있습니다. 사전 설치된 이 라이브러리를 사용하면 로고 프로그래밍과 같은 간단한 명령으로 거북이 그래픽을 만들고 작업할 수 있습니다.

이 튜토리얼에서는 Python에서 터틀 그래픽의 몇 가지 예에 대해 설명합니다.

Python에서 그래픽 출력용 화면 만들기

출력용 화면을 만드는 것으로 시작합니다. turtle.getscreen() 메서드는 변수를 화면으로 초기화하고 화면이 팝업됩니다.

이 변수가 변경되어 화면에 출력이 형성됩니다. 그런 다음 화면에 그리기 위해 turtle.Turtle() 생성자로 Turtle 개체를 초기화해야 합니다.

위의 객체로 거북이를 움직일 수 있는 기본 함수는 forward(), right(), left(), backward()입니다. 이러한 함수의 약식 버전은 각각 fd(), rt(), lt()bk()로 사용할 수도 있습니다.

forward()backward() 함수는 각각 거북이를 위아래로 이동하는 반면 right()left() 함수는 거북이를 주어진 각도로 회전시킵니다.

루프 및 조건문과 함께 이러한 함수를 사용하여 다양한 모양과 그림을 만들 수 있습니다. 아래에서 살펴보겠습니다.

Python에서 Turtle()을 사용하여 사각형 만들기

사각형을 만드는 것은 비교적 간단한 작업입니다. 루프를 네 번 반복합니다.

거북이는 각 반복에서 특정 거리를 이동하고 왼쪽 또는 오른쪽으로 90도 회전합니다.

아래 코드를 참조하십시오.

import turtle

obj = turtle.Turtle()

for i in range(4):
    obj.forward(100)
    obj.right(90)

turtle.done()

출력:

거북이 그래픽 스퀘어

위의 예제에서 우리는 Turtle 객체를 초기화하고 루프를 여러 번 실행하고 forward() 함수로 거북이를 이동하고 right() 함수로 회전하여 사각형을 만들었습니다.

Python에서 Turtle()을 사용하여 팔각형 만들기

거북이를 필요한 각도로 회전하고 루프를 8번 반복하여 팔각형을 만들어야 합니다. 회전에 필요한 각도는 360도를 면의 수(이 경우 8)로 나누어 계산할 수 있습니다.

아래 코드를 참조하십시오.

import turtle

obj = turtle.Turtle()

angle = 360.0 / 8

for i in range(8):
    obj.forward(100)
    obj.right(angle)

turtle.done()

출력:

터틀 그래픽 옥타곤

Python에서 Turtle()을 사용하여 육각형 만들기

마찬가지로 루프를 6번 반복하고 거북이를 60도(360/6) 회전하여 육각형을 만들 수 있습니다.

예:

import turtle

obj = turtle.Turtle()

angle = 360.0 / 6

for i in range(6):
    obj.forward(100)
    obj.right(angle)

turtle.done()

출력:

Turtle Graphics Hexagon

Python에서 Turtle()을 사용하여 별 만들기

별은 이전에 논의된 것보다 훨씬 더 복잡한 형상입니다. 거북이를 75도 회전하고 앞으로 이동하는 것으로 시작합니다.

그런 다음 144도 각도로 회전하고 같은 거리만큼 이동하여 4번 반복합니다.

아래 코드를 참조하십시오.

import turtle

obj = turtle.Turtle()

obj.right(75)
obj.forward(100)

for i in range(4):
    obj.right(144)
    obj.forward(100)

turtle.done()

출력:

터틀 그래픽 스타

Python에서 Turtle()을 사용하여 원 만들기

turtle 라이브러리에는 도형을 직접 생성할 수 있는 몇 가지 사전 구축된 기능이 있습니다.

circle() 함수는 거북이 그래픽을 사용하여 원을 만들 수 있습니다. 함수 내에서 원의 반지름만 지정하면 됩니다.

예:

import turtle

obj = turtle.Turtle()

obj.circle(100)

turtle.done()

출력:

거북이 그래픽 원

Python의 Turtle 라이브러리에 있는 기타 유용한 기능

출력이 생성되는 화면을 편집할 수 있습니다. 배경색을 변경하려면 turtle.bgcolor() 함수를 사용하고 화면에 제목을 추가하려면 turtle.title() 함수를 사용합니다.

turtle.shapesize()turtle.fillcolor() 기능을 사용하여 거북이의 크기와 색상을 제어할 수도 있습니다.

다음 코드에서는 이전에 논의한 함수를 사용합니다.

import turtle

obj = turtle.Turtle()

turtle.title("DelftStack")
turtle.bgcolor("red")

obj.shapesize(3, 3, 3)
obj.fillcolor("blue")

turtle.done()

출력:

Turtle 및 배경 기능

관찰할 수 있듯이 거북이의 모양과 색상이 변경되었습니다. 또한 화면에는 빨간색 배경과 창에 제목이 있습니다.

turtle.shape() 함수를 사용하여 거북이 모양을 변경할 수 있습니다.

화면에 그리는 펜의 크기와 색상을 제어하기 위해 turtle.pensize()turtle.pencolor() 함수를 사용합니다.

예:

import turtle

obj = turtle.Turtle()

obj.pensize(5)
obj.pencolor("red")
obj.forward(100)

turtle.done()

출력:

펜 기능 거북이 1

위의 예에서 펜의 크기가 5배로 확대되고 색상도 변경된 것을 볼 수 있습니다. pen() 함수는 이전에 한 함수에서 설명한 속성을 제어할 수 있습니다.

이 기능은 pencolor, pensize, fillcolorspeed 매개변수를 사용할 수 있습니다. fillcolor 속성은 생성된 모양을 일부 색상으로 채웁니다.

속도 속성은 펜이 움직이는 속도를 제어합니다.

아래 코드를 참조하십시오.

import turtle

obj = turtle.Turtle()

obj.pen(pensize=5, pencolor="blue", fillcolor="red", speed=10)
obj.begin_fill()
obj.circle(100)
obj.end_fill()
turtle.done()

출력:

펜 기능 거북이 2

이 기사에서는 거북이 라이브러리를 사용하여 Python에서 거북이 그래픽의 기본 사항에 대해 설명했습니다. 화면에서 거북이를 움직이고 기본 모양을 만드는 방법에 대해 논의했습니다.

또한 미리 빌드된 함수로 도형을 만드는 방법에 대해서도 논의했습니다. 화면, 거북이, 화면의 펜을 제어하고 편집하는 다양한 방법이 논의되었습니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Python Turtle