zoukankan      html  css  js  c++  java
  • 寒假学习笔记10

    今天学习了一下通过Python画图

    绘制太阳花

    1.新建sunflower.py的文件,导入绘图模块

    import turtle
    # 导入绘图模块
    

      

    2.设置画布属性

    turtle.screensize(canvwidth=None, canvheight=None, bg=None)
    # canvwidth:画布的宽度(单位:像素)、canvheight:画布的高度(单位:像素)、bg:背景颜色
    
    turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
    # width,height:输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例、(startx,starty):这一坐标表示矩形窗口左上角顶点的位置。如果为空,则窗口位于屏幕中心
    

      

    3.设置画笔属性

    turtle.pensize(size) 
    # 设置画笔的大小
    
    turtle.color(color1, color2) 
    # 设置画笔颜色color1和填充色color2,可以是字符串如"green", "red",也可以是RGB 3元组
    
    turtle.speed(speed) 
    # 设置画笔速度为speed
    

      

    4.提笔、移动和落笔

    turtle.penup() 
    # 提笔
    
    turtle.goto(x, y)
    # 画笔移动到画布的(x,y)坐标点
    
    turtle.pendown() 
    # 落笔
    

      

    5.绘制线条

    turtle.left(angle)
    # 笔的角度向左转angle
    
    turtle.forward(distance)
    # 向当前画笔方向移动distance像素长度
    

      

    6.判别当前坐标与任意坐标距离

    turtle.distance(x, y=None)
    # x,y为任意的坐标点(x,y)
    

      

    7.填充标志

    turtle.begin_fill()
    # 准备开始填充图形
    
    turtle.end_fill()
    # 填充完成
    

      

    8.绘图结束调用done()函数保持窗口停留

    turtle.done() 
    # 保持窗口停留
    

      

    实验源码

    # -*- coding: utf-8 -*-
    
    import turtle as t
    
    #准备设置
    t.screensize(400, 300) #设置画布大小
    t.setup(840,500) #设置主窗口的大小为840*500
    t.pensize(2) #设置画笔的大小
    t.color('red','yellow') #设置画笔颜色和填充颜色(pink)
    t.speed(10) #设置画笔速度为10
    
    t.penup() #提笔
    t.goto(-150,0) #画笔前往坐标(-150,0)
    t.pendown() #下笔
    
    t.begin_fill() #准备绘制
    while True:
        t.forward(300) #画笔前进300个像素
        t.left(170) #画笔左转170度
        if t.distance(-150, 0) < 1: #如果当前坐标点距离出发点(150,0)小于1,则跳出循环
            break
    t.end_fill() #依据轮廓填充颜色
    
    #保持窗口停留
    t.done()
    

      

    实验截图

    总结:

    首先设置画布、画笔的属性,为保持图案居中,将出发点左移。

    编写一个While循环,沿着画笔方向画一条长为300像素点的线段(花的直径)。

    每画一条线段,画笔角度左转170度。如果坐标点与出发点(-150,0)距离相差小于1(坐标点与出发点重合),则跳出该循环。

    绘制结束,闭合填充。

  • 相关阅读:
    Spring Boot笔记一 输出hello
    Java Web之表单重复提交问题
    Java Web之验证码
    Java Web之下载文件
    Java工具之上传文件
    Java Web之上传文件
    Java Web之EL
    Java Bean的规范
    Java Web之JSP
    《FPGA全程进阶---实战演练》第一章之如何学习FPGA
  • 原文地址:https://www.cnblogs.com/wxy2000/p/12291821.html
Copyright © 2011-2022 走看看