Python_Turtle绘制[圆]函数(采用一维线描法绘制二维平面)(turtle实现)【2021-12-20】

Python_Turtle绘制[圆]函数(采用一维线描法绘制二维平面)(turtle实现)


【注1】采用 线动成面的原理,使用一维线去绘制二维平面图形!
【注2】密集的描竖直线即可!
【注3】在一维竖直线上有多点在函数上!即一个x对应多个y值,则先将多个y值求解放在列表y中!

1.LineToFaceCircle.py

import turtle as tle
import math
tle.speed(0)
tle.delay(0)
tle.pensize(2)
tle.pencolor("blue")
tle.tracer(True)
#tle.tracer(False)

col = ["yellow"]

def subline(x,coll,y=[]):
    tle.pencolor(coll)
    tle.penup()
    tle.goto(x,-220)
    tle.pendown()
    for i in y:
        if x >= -150 and x <-60:
            tle.goto(x,i-1.4)
            #tle.penup()
            tle.pencolor("red")
            tle.goto(x,i+1.4)
            tle.pencolor(coll)
            #tle.pendown()
        elif x >= -60 and x <= 0:
            tle.goto(x,i-0.8)
            #tle.penup()
            tle.pencolor("red")
            tle.goto(x,i+0.8)
            tle.pencolor(coll)
            #tle.pendown()
        if x > 0 and x <= 60:
            tle.goto(x,i-0.8)
            #tle.penup()
            tle.pencolor("red")
            tle.goto(x,i+0.8)
            tle.pencolor(coll)
            #tle.pendown()
        elif x >= 60 and x <= 150:
            tle.goto(x,i-1.4)
            #tle.penup()
            tle.pencolor("red")
            tle.goto(x,i+1.4)
            tle.pencolor(coll)
            #tle.pendown()
        
    tle.goto(x,220)
    
k = 0
i = -150

while(i<=150):
    if k == 1:
        k = 0
    y = []
    if i == 150 or i == -150:
        y.append(math.sqrt(22500-i*i))
    else:
        y.append(-math.sqrt(22500-i*i))
        y.append(math.sqrt(22500-i*i))
    subline(i,col[k],y)
    
    i = i + 1
    k = k + 1

tle.done()

2.结果示例

在这里插入图片描述

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值