python turtle 기반 기하학 적 도형 그리 기
turtle 은 사람 이 천 을 그리 기 전에 그림 을 그 리 는 과정 을 모 의 했다.펜(Pen)한 자루,붓(pendown),붓 을 움 직 여 그림 을 그리고 색칠 을 하 는 등 이다.turtle 은 몇 가지 간단 한 명령 을 제공 합 니 다.그들의 순 서 를 조합 하면 인내심 만 있 으 면 turtle 은 놀 라 운 작품 을 그 릴 수 있 고 어린이 들 이 프로 그래 밍 을 배우 도록 유도 하기에 적합 합 니 다.
먼저 작품 을 느껴 보 자.
2.turtle 예
우 리 는 간단 한 예 를 통 해 turtle 의 기본 조작 을 알 게 되 었 다.
import turtle
# screen
canvas = turtle.Screen()
canvas.bgcolor("white")
#
pen = turtle.Pen()
pen.hideturtle()
pen.color('red', 'yellow')
# ,
pen.begin_fill()
while True:
pen.forward(200)
pen.left(170)
if abs(pen.pos()) < 1:
break
pen.end_fill()
# , ,
pen.penup()
pen.goto(-100, -100)
pen.pendown()
for i in range(5):
pen.forward(30) # 300
pen.right(144) # 144
turtle.done()
위 에서 알 수 있 듯 이 turtle 은 두 부분 으로 붓 Turtle 과 캔버스 Screen 을 구성 하고 Turtle 은 Screen 에서 이동 하여 그림 을 그린다.
주의해 야 할 것 은 turtle 의 시작 위 치 는(0,0)이 고 캔버스 중심 에 위치 하 며 왼쪽 과 아래 의 좌 표 는 마이너스 입 니 다.
화필 Turtle 중요 조작:
위의 예 에서 turtle 의 상용 기능 함수 와 관련 된 것 을 제외 하고 중요 한 기능 도 있다.
import turtle
from turtle import * # turtle
radius = 100 # 100
color("black", "black") # ,
begin_fill() #
circle(radius/2, 180) # , 50,180°
circle(radius, 180) # , 100,180°
left(180) # 180°
circle(-radius/2, 180) # , 50,180°
end_fill() #
# ,
left(90)# 90°,
penup()# ,
forward(radius*0.35)# , 0.35=35
right(90)# 90°,
pendown()# ,
#
color("white", "white")# ,
begin_fill()#
circle(radius*0.15)# , 0.15=15 (35+15+15+35=100)
end_fill() #
left(90)# 90°
penup()# ,
backward(radius*0.7)# , 0.7=70,
pendown()# ,
left(90)# 90°,
#
color("black", "black")# ,
begin_fill()#
circle(radius*0.15)# , 0.15=15
end_fill() #
right(90)# 90°,
penup()# ,
backward(radius*0.65)# 0.65=65 ,
right(90)# 90°,
pendown()# ,
circle(radius, 180)# , 100,180°,
hideturtle()# hideturtle
turtle.done()
태극 도 는 2 개의 작은 반원 과 2 개의 큰 반원,그리고 2 개의 더 작은 정원 으로 구성 되 어 있 음 을 알 수 있다.
import turtle, time
#
turtle.tracer(0)
#
wall = turtle.Pen()
wall.pencolor('red')
wall.pensize(10)
wall.hideturtle()
wall.penup()
wall.goto(-300, -200)
wall.pendown()
wall.forward(600)
#
R = 15
ball = turtle.Turtle('circle')
ball.shapesize(R / 10)
ball.penup()
pos_x, pos_y = [100, 100]
pos_x, pos_y = ball.pos()
ball.goto(pos_x, pos_y)
wall_x, wall_y = wall.pos()
#
FPS = 60 # 60
G = 0.03 #
DRAG = 0.9956 #
v_y = 1 #
while True:
#
ball.clearstamps()
v_y += G #
if pos_y - R - 10 < wall_y: #
v_y *= -1
pos_x, pos_y = pos_x, pos_y - v_y
ball.goto(pos_x, pos_y)
v_y = v_y * DRAG
#
ball.stamp()
#
turtle.update()
time.sleep(1 / FPS)
4.더 많은 예
장미 곡선
from turtle import *
from math import *
color("red")
def draw(a,end):
t=0
while t<(14*end):
x=a*sin(t*3.14)*cos(t)
y=a*sin(t*3.14)*sin(t)
goto(x,y)
t=t+0.03
draw(100,3.14)
done()
나선
import turtle
t=turtle.Pen()
for x in range(360):
t.forward(x)
t.left(59)
done()
부채.
from turtle import *
forward(200)
left(90)
fillcolor('red')
begin_fill()
circle(100,180)
end_fill()
left(90)
forward(100)
for i in range(17):
left(10)
pencolor('yellow')
forward(100)
backward(100)
left(100)
pensize(10)
pencolor('red')
forward(100)
hideturtle()
done()
5.총화
본 고 는 python 의 로고 언어 turtle 라 이브 러 리 를 공유 하여 그림 과 애니메이션 을 그 릴 수 있 습 니 다.총 결 은 다음 과 같다.
https://docs.python.org/zh-cn/3/library/turtle.html #
이상 은 python 이 turtle 을 바탕 으로 기하학 적 도형 을 그 리 는 상세 한 내용 입 니 다.python turtle 이 기하학 적 도형 을 그 리 는 것 에 관 한 자 료 는 우리 의 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.