turtle库 多圈文字旋转 代码开源

对文字旋转进行了升级

声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

效果:(视频要转GIF懒得弄了就截个图)

代码实现:

# -*- coding: utf-8 -*-
"""
Created on Mon Aug 19 21:22:28 2024

@author: Administrator
"""

import turtle
import time
import math
#import turtle as t
turtle.bgcolor("white")
angle = 0
colorlst=["red","saddlebrown","gold","blue","green"]
def wuxing():
    turtle.pu()
    
    #turtle.penup()
    turtle.goto(0, 0)  # 到画布中心
    
    turtle.setheading(angle)  # 设置当前朝向为angle角度
    #turtle.stamp()#central
    turtle.fd(r)
    #turtle.right(90)
   
    #turtle.pu()
    x=len(text)
    turtle.rt(180-(x-2)*180/x/2)#n边形内角和公式
    #turtle.stamp()
    k=0
    for i in text:
        turtle.pencolor(colorlst[k])
        turtle.write(i,font=('隶书',40))
        a=2*r*math.sin(math.pi/x)#radian 
        turtle.fd(a)
        turtle.rt(360/x)
        k=k+1
    turtle.hideturtle()

    
turtle.tracer(0)  # 将刷新率置为0,即不刷新

for j in range(5000):  # 这里设置了1w次,也可以是其他次数
    r=100#半径
    text="火土金水木"
    wuxing()
    
    r=140
    text="心脾肺肾肝"
    wuxing()
    
    r=180
    text="炮横劈钻崩"
    wuxing() 
    
    turtle.update()  # 更新绘图
    time.sleep(0.01)  # 休眠时间,这一句可以没有,但是如果没有的话,转的会很快
    turtle.clear()  # 清空画布
    angle -= 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值