Python——Python基本图形绘制

Posted Gendan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python——Python基本图形绘制相关的知识,希望对你有一定的参考价值。

花纹设计
from turtle import Turtle, mainloop
from time import clock

wrapper for any additional drawing routines

that need to know about each other

class Designer(Turtle):

def design(self, homePos, scale):
    self.up()
    for i in range(5):
        self.forward(64.65 * scale)
        self.down()
        self.wheel(self.position(), scale)
        self.up()
        self.backward(64.65 * scale)
        self.right(72)
    self.up()
    self.goto(homePos)
    self.right(36)
    self.forward(24.5 * scale)
    self.right(198)
    self.down()
    self.centerpiece(46 * scale, 143.4, scale)
    self.getscreen().tracer(True)
def wheel(self, initpos, scale):
    self.right(54)
    for i in range(4):
        self.pentpiece(initpos, scale)
    self.down()
    self.left(36)
    for i in range(5):
        self.tripiece(initpos, scale)
    self.left(36)
    for i in range(5):
        self.down()
        self.right(72)
        self.forward(28 * scale)
        self.up()
        self.backward(28 * scale)
    self.left(54)
    self.getscreen().update()
def tripiece(self, initpos, scale):
    oldh = self.heading()
    self.down()
    self.backward(2.5 * scale)
    self.tripolyr(31.5 * scale, scale)
    self.up()
    self.goto(initpos)
    self.setheading(oldh)
    self.down()
    self.backward(2.5 * scale)
    self.tripolyl(31.5 * scale, scale)
    self.up()
    self.goto(initpos)
    self.setheading(oldh)
    self.left(72)
    self.getscreen().update()
def pentpiece(self, initpos, scale):
    oldh = self.heading()
    self.up()
    self.forward(29 * scale)
    self.down()
    for i in range(5):
        self.forward(18 * scale)
        self.right(72)
    self.pentr(18 * scale, 75, scale)
    self.up()
    self.goto(initpos)
    self.setheading(oldh)
    self.forward(29 * scale)
    self.down()
    for i in range(5):
        self.forward(18 * scale)
        self.right(72)
    self.pentl(18 * scale, 75, scale)
    self.up()
    self.goto(initpos)
    self.setheading(oldh)
    self.left(72)
    self.getscreen().update()
def pentl(self, side, ang, scale):
    if side < (2 * scale): return
    self.forward(side)
    self.left(ang)
    self.pentl(side - (.38 * scale), ang, scale)
def pentr(self, [Skrill下载](https://www.gendan5.com/wallet/Skrill.html)side, ang, scale):
    if side < (2 * scale): return
    self.forward(side)
    self.right(ang)
    self.pentr(side - (.38 * scale), ang, scale)
def tripolyr(self, side, scale):
    if side < (4 * scale): return
    self.forward(side)
    self.right(111)
    self.forward(side / 1.78)
    self.right(111)
    self.forward(side / 1.3)
    self.right(146)
    self.tripolyr(side * .75, scale)
def tripolyl(self, side, scale):
    if side < (4 * scale): return
    self.forward(side)
    self.left(111)
    self.forward(side / 1.78)
    self.left(111)
    self.forward(side / 1.3)
    self.left(146)
    self.tripolyl(side * .75, scale)
def centerpiece(self, s, a, scale):
    self.forward(s); self.left(a)
    if s < (7.5 * scale):
        return
    self.centerpiece(s - (1.2 * scale), a, scale)

def main():

t = Designer()
t.speed(0)
t.hideturtle()
t.getscreen().delay(0)
t.getscreen().tracer(0)
at = clock()
t.design(t.position(), 2)
et = clock()
return "runtime: %.2f sec." % (et-at)

if name == \'__main__\':

msg = main()
print(msg)
mainloop()

以上是关于Python——Python基本图形绘制的主要内容,如果未能解决你的问题,请参考以下文章

python学习python实现利用pygame绘画基本图形显示图片,实现图形图片随机效果。python绘制行列图片

利用python绘制太阳花

Python——Python基本图形绘制

Python基本图形绘制——蟒蛇绘制

009 Python基本图形绘制

014 Python基本图形绘制小结