python turtle 绘制太极图的实例

yipeiwu_com5年前Python基础

效果如下所示:

# -*- coding: utf-8 -*-

import turtle


# 绘制太极图函数
def draw_TJT(R):
    turtle.screensize(800, 600, "green")  # 画布长、宽、背景色 长宽单位为像素
    turtle.pensize(1)  # 画笔宽度
    turtle.pencolor('black')  # 画笔颜色
    turtle.speed(10)  # 画笔移动速度


    TJT_color = {1: 'white', -1: 'black'}  # 太极图填充色 1 白色 -1 黑色
    color_list = [1, -1]


    """
    先画半边,再画另一边
    """
    for c in color_list:
        turtle.fillcolor(TJT_color.get(c))  # 获取该半边的填充色
        turtle.begin_fill()  # 开始填充


        # 开始画出半边的轮廓
        turtle.circle(R / 2, 180)
        turtle.circle(R, 180)
        turtle.circle(R/2, -180)


        turtle.end_fill()  # 结束填充 上色完成


        # 绘制该半边的鱼眼
        turtle.penup()  # 提起画笔,移动不留痕
        turtle.goto(0, R/3*c)  # 移动到该半边的鱼眼的圆上 R/3*c 表示移动到哪边
        turtle.pendown()  # 放下画笔,移动留痕
        turtle.fillcolor(TJT_color.get(-c))  # 获取鱼眼填充色, 与该半边相反
        turtle.begin_fill()
        turtle.circle(-R/6, 360)
        turtle.end_fill()


        # 回到原点,为下一循环的开始做准备
        turtle.penup()
        turtle.goto(0, 0)
        turtle.pendown()


    # 绘制文本
    turtle.penup()
    turtle.goto(0, -R-50)
    turtle.pendown()
    turtle.write("太极图 made by kjshen", font=('Arial', 12, 'normal'))


if __name__ == '__main__':
    R=100  # 太极图半径
    draw_TJT(R)
    raw_input('Press Enter to exit...')  # 防止程序运行完成后就自动关闭窗口

以上这篇python turtle 绘制太极图的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

django-rest-framework解析请求参数过程详解

django-rest-framework解析请求参数过程详解

前言 我们在django-rest-framework 自定义swagger 文章中编写了接口, 调通了接口文档. 接口文档可以直接填写参数进行请求, 接下来的问题是如何接受参数, 由...

Python 文件操作的详解及实例

Python 文件操作的详解及实例 一、文件操作 1、对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下:...

wxPython实现带颜色的进度条

wxPython实现带颜色的进度条

本文实例为大家分享了wxPython实现带颜色进度条的具体代码,供大家参考,具体内容如下 【问题描述】 1、在使用wxpython创建进度条时遇到如下问题,使用SetForeground...

Python中使用SAX解析xml实例

SAX是一种基于事件驱动的API。利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件;而事件处理器则负...

解决python中遇到字典里key值为None的情况,取不出来的问题

在python 命令行界面里,是可以去取key为None的value值。 在脚本里面就取不出了,可以用如下的方式解决。 hosts = {"a":"111", "None":b, "...