精华内容
下载资源
问答
  • 【计算机图形学】用python的turtle进行简单图形绘制python的turtle模块绘制图形绘制点绘制直线绘制椭圆绘制六边形绘制n次贝塞尔曲线结语 python的turtle模块 Turtle graphics is a popular way for introducing ...

    python的turtle模块

    Turtle graphics is a popular way for introducing programming to kids.
    It was part of the original Logo programming language developed by Wally Feurzig and Seymour Papert in 1966.
    Imagine a robotic turtle starting at (0, 0) in the x-y plane. After an import turtle, give it the command turtle.forward(15), and it moves (on-screen!) 15 pixels in the direction it is facing, drawing a line as it moves. Give it the command turtle.right(25), and it rotates in-place 25 degrees clockwise.
    By combining together these and similar commands, intricate shapes and pictures can easily be drawn.

    以上一段是我在使用VS Code时,看到的对turtle模块的介绍。大致翻译一下:

    海龟(Turtle)制图是向孩子介绍编程的一个流行方式。
    它是Wally Feurzig和Seymour Papert在1966年创造的原始Logo编程语言的一部分。
    想象一下,一个自动的海龟从xy平面的原点(0,0)开始,在输入turtle模块后

    import turtle
    

    给出一行命令

    turtle.forward(15)
    

    然后海龟就在屏幕上向它面向的方向前进了15个像素点,并且在行进道路上划出了一条线。给它一个命令

    turtle.right(25)
    

    它就在原地顺时针旋转了25度。
    通过结合这些命令和其他相似的命令,就能够轻易地画出复杂的几何图形和图片。

    可以看出,python的turtle模块是一个功能非常强大,并且操作简单的绘图工具。
    废话不多说,turtle有很多的库函数,网上很容易就查得到,我这里就不多介绍了(或许以后会单写一篇文章进行详细的介绍),接下来直接进入正题!

    绘制图形

    在turtle中有直接绘制线、矩形、圆形、椭圆形等的函数,但计算机图形学(至少我们的课程)要求用绘制像素点的方式绘制线、图形,而自带的绘点函数只能在turtle所在位置绘点。

    绘制点

    下面给出在某个像素点绘制点的函数。

    import turtle as pen	//下面代码均默认以pen代替turtle字段
    def DrawPixel(x,y) :
    	pen.up()		//因为turtle在执行goto()时,
    					//会在路径上画出一条直线,
    					//所以先把笔抬起来
        pen.goto(x,y)	//turtle到指定坐标像素点
        pen.dot(2)		//绘制直径为2的像素点
        		//实测参数为1时在我的电脑上看不到点,所以用2
    

    其中x,y是像素点坐标。turtle模块在绘图时,会默认在画布正中央为坐标原点(0,0)。

    绘制直线

    def DrawLine(x1,y1,x2,y2) :
        print ("called")
        dx = abs(x2 - x1)
        sx = 1 if(x1<x2) else -1
        dy = abs(y2 - y1)
        sy = 1 if(y1<y2) else -1
        err = dx if(dx>dy) else -dy
        l = dx if(dx>dy) else dy
        for i in range(0,l) :
            DrawPixel(x1,y1)
            if x1 == x2 and y1 == y2 :
                break
            e2 = err
            if e2 >= -dx :
                err = err - dy
                x1 = x1 + sx
            if e2 <= dy :
                err = err + dx
                y1 = y1 + sy
    

    绘制椭圆

    首先,椭圆是一个中心对称、双轴对称图形,所以只需要绘制出1/4的图形,其余部分都可根据对称画出。

    给出长短半径,进行绘制。

    def PaintEllipse(a,b) :
        pen.delay(0.1)		//delay是turtle函数与函数之间执行的间隔,
        					//括号中为时间间隔,单位毫秒
        					//因为绘点需要一个点一个点绘制
        					//而不是靠turtle的移动
        					//否则使用pen.speed()
        					//修改turtle的移动速度
        x = 0
        y = b
        d1 = b*b + a*a *(0.25 - b)
        DrawPixel(x,y)
        DrawPixel(-x,-y)
        while b*b*(x+1) < a*a*(y-0.5) :
            if d1 < 0 :
                d1 = d1 + b * b * (2 * x + 3)
                x = x + 1
            else :
                d1 = d1 + b*b*(2*x+3)+a*a*(2-2*y)
                x = x + 1
                y = y - 1
            DrawPixel(x,y)
            DrawPixel(-x,y)
            DrawPixel(-x,-y)
            DrawPixel(x,-y)
        d2 = math.sqrt(b*(x+0.5)) + math.sqrt(a*(y-1)) - math.sqrt(a*b)
        while y > 0 :
            if d2 < 0 :
                d2 = d2 + b*b*(2*x+2) + a*a*(-2*y+3)
                x = x + 1
                y = y - 1
            else :
                d2 = d2 + a*a*(-2*y+3)
                y = y - 1
            DrawPixel(x,y)
            DrawPixel(-x,y)
            DrawPixel(-x,-y)
            DrawPixel(x,-y)
    

    调用函数

    PaintEllipse(100,50)	//(横轴半径,竖轴半径)
    

    结果如下
    在这里插入图片描述

    绘制六边形

    给出六点坐标,进行绘制并填充。
    x,y为六点的list,顺序需对应

    def PaintSixEdge(x,y) :
        i = 0
        pen.begin_fill()
        while i < 5 :
            DrawLine(x[i],y[i],x[i+1],y[i+1])
            i = i + 1
            print (x[i])
        DrawLine(x[5],y[5],x[0],y[0])
        pen.end_fill()
    

    调用函数

    x = [100,200,100,-100,-200,-100]
    y = [100,0,-100,-100,0,100]
    PaintSixEdge(x,y)
    

    结果如下:
    在这里插入图片描述

    绘制n次贝塞尔曲线

    x,y为点的list,顺序需对应

    def PaintBezier(x,y) :
        pen.color("red")
        number = len(x)
        t = 0.0
        while t < 1 :
            for k in range(1,number+1) :
                for i in range(0,number-k) :
                    x0 = xpos(x,i,k,t)
                    y0 = ypos(y,i,k,t)
                    
            DrawPixel(x0,y0)
            t = t + 0.001 
    
    def xpos(x,i,k,t) :
        if k == 0 :
            return x[i]
        else :
            return (1-t)*xpos(x,i,k-1,t) + t*xpos(x,i+1,k-1,t)
    
    def ypos(y,i,k,t) :
        if k == 0 :
            return y[i]
        else :
            return (1-t)*ypos(y,i,k-1,t) + t*ypos(y,i+1,k-1,t)
    

    调用函数

    x = [100,200,100,-100,-200,-100]
    y = [100,0,-100,-100,0,100]
    PaintBezier(x,y)
    

    结果如下:
    在这里插入图片描述

    结语

    通过复杂的循环,以及改变画笔颜色,还能够生成各种各样的好看的图形,感兴趣的小伙伴们自己试试吧!

    展开全文
  • Python:Turtle图形绘制

    千次阅读 2020-01-20 16:35:41
    Python:Turtle图形绘制Turtle库基本绘图命令1.正方形螺旋线的绘制(1)利用 turtle 库绘制一个正方形螺旋线(2)绘制斜螺旋线(3)绘制彩色斜螺旋线2.经典蟒蛇的绘制(1)turtle库绘制蟒蛇(2)绘制彩色蟒蛇3.绘制...

    Turtle库

    Turtle 库是 Python 中一个绘制图像的函数库,想象一个小乌龟,在x,y坐标系原点有一只小乌龟,它根据函数指令的控制在坐标系中移动,从而在爬行的路径上绘制出图形。

    demo1.正方形螺旋线的绘制

    (1)利用 turtle 库绘制一个正方形螺旋线

    import turtle
    turtle.speed("fastest")
    turtle.pensize(2)
    for x in range(100):
        turtle.forward(2*x)
        turtle.left(90)
    turtle.done()
    

    Alt

    (2)绘制斜螺旋线

    import turtle
    turtle.speed("fastest")
    turtle.pensize(2)
    for x in range(100):
        turtle.forward(2*x)
        turtle.left(91)
    turtle.done()
    

    Alt

    (3)绘制彩色斜螺旋线

    import turtle
    turtle.speed("fastest")
    turtle.pensize(2)
    colors=['red','yellow','purple','blue']
    for x in range(100):
        turtle.pencolor(colors[x%4])
        turtle.forward(2*x)
        turtle.left(91)
    turtle.done()
    

    在这里插入图片描述

    demo2.经典蟒蛇的绘制

    (1)turtle库绘制蟒蛇

    import turtle
    turtle.penup()
    turtle.fd(-250)
    turtle.pendown()
    turtle.pensize(25)
    turtle.pencolor('purple')
    turtle.seth(-40)#改变海龟的行进方向,参数为绝对角度
    for i in range(4):
        turtle.circle(40,80)
        turtle.circle(-40,80)
    turtle.circle(40,80/2)
    turtle.fd(40)
    turtle.circle(16,180)
    turtle.fd(40*2/3)
    turtle.done()
    

    在这里插入图片描述

    (2)绘制彩色蟒蛇

    import turtle
    turtle.setup(650,350,200,200)
    colors=['purple','red','yellow','pink','blue','green']
    turtle.penup()
    turtle.fd(-250)
    turtle.pendown()
    turtle.pensize(25)
    turtle.seth(-40)
    for i in range(5):
        turtle.pencolor(colors[i])
        turtle.circle(40,80)
        turtle.circle(-40,80)
    turtle.pencolor(colors[5])
    turtle.circle(40,80/2)
    turtle.fd(40)
    turtle.circle(16,180)
    turtle.fd(40*2/3)
    turtle.done()
    

    在这里插入图片描述

    demo3.绘制奥运五环图

    import turtle
    colors=['blue','black','red','yellow','green']
    turtle.pensize(10)
    
    for i in range(5):
        turtle.pencolor(colors[i])
        if i<3:
            #绘制上三个环
            turtle.goto(120*i,0)
            turtle.pendown()
            turtle.circle(50)
            turtle.penup()
        else:
            #下两个环
            turtle.goto(60+120*(i-3),-50)
            turtle.pendown()
            turtle.circle(50)
            turtle.penup()
    turtle.done()
    

    在这里插入图片描述

    展开全文
  • 使用 Python Turtle 设计简单而又美丽的图形
  • 我们可以用它来绘制一些有趣的图形。 多边形 1、三边的效果: 2、六边的效果: 是不是觉得非常挺炫酷的,但其实实现它的代码非常简单,仅仅10行Python代码就能实现。不过这都依赖于强大的turtle库。 3、多边形测试...
  • 利用 turtle库绘制简单图形

    千次阅读 2019-09-30 01:02:29
     turtle名称含义为“海龟”,我们想象一只海龟,位于显示器上窗体的正中心,在画布上游走,它游走的轨迹就形成了绘制的图形。海龟的运动是由程序控制的,它可以变换颜色,改变大小(宽度)等。   绘图...

      turtle库是python的基础绘图库,这个库被介绍为一个最常用的用来介绍编程知识的方法库,其主要是用于程序设计入门,是标准库之一,利用turtle可以制作很多复杂的绘图。

      turtle名称含义为“海龟”,我们想象一只海龟,位于显示器上窗体的正中心,在画布上游走,它游走的轨迹就形成了绘制的图形。
    海龟的运动是由程序控制的,它可以变换颜色,改变大小(宽度)等。

      

    • 绘图坐标体系

      turtle.setup(width,height,startx,starty)

      使用turtle的setup函数,可以在屏幕中生成一个窗口(窗体),设置窗体的大小和位置,这个窗口就是画布的范围。

     

     

    •  画笔控制函数
    1. penup():抬起画笔;
    2. pendown():落下画笔;
    3. pensize(width):画笔宽度;
    4. pencolor(color):画笔颜色;

     

    • 运动控制函数

      1.直线       

        turtle.forward(d) # turtle.fd(d) d为参数行进距离 控制画笔向前走d长度的直线 d可以为负数,表示向后运动。

      2.曲线

        turtle.circle(r,extent=None) # 根据半径r绘制extent角度的弧形 r 默认圆心在画笔左端点距离r长度的地方extent是绘制的角度,默认绘制完整的圆形

        turtle.circle(100) # 在画笔的左侧(也就是上方)100距离的位置上然后以弧形来运动,没有设置extent参数,因此会绘制整个圆形

        turtle.circle(-100,90) #圆心在画笔的右侧100距离(也就是下方)上,然后extent为90,因此绘制一个90度的弧形。

     

    • 方向控制函数

     

     绝对角度转向函数
       turtle.setheading(angle) # turtle.seth(angle) 改变画笔的面向的角度( 初始方向是画布的正右方) 参数angle是绝对坐标系的角度 画笔角度转向函数
       turtle.left(angle) # 向左转angle度    turtle.right(angle) # 向右转angle度

     

    • 实例

     

      代码:

      #coding=utf-8
      #绘制蟒蛇
      import turtle
      turtle.penup()
      turtle.pencolor("blue")
      turtle.forward(-250)
      turtle.pendown()
      turtle.pensize(10)
      turtle.right(45)
      for i in range(4):
       turtle.circle(40, 80)
      turtle.circle(-40, 80)
      turtle.circle(40, 80 / 2)
      turtle.fd(40)
      turtle.circle(16, 180)
      turtle.fd(40 * 2 / 3)
      turtle.done()

     

      运行结果:

     

     

     

     

     

     

     

     

    转载于:https://www.cnblogs.com/DrcProgrammingCool/p/11517232.html

    展开全文
  • python中turtle绘图的简单指令
  • python使用turtle库绘制图形简单示例

    千次阅读 2020-10-11 20:33:54
    import turtle # 引用turtleturtle.pensize(2) # 设置画笔宽度为2像素 turtle.circle(10) #绘制半径为10像素的圆 turtle.circle(40) #绘制半径为40像素的圆 turtle.circle(80) #绘制半径为80像素的圆 turtle....

    1.同切圆的绘制

    import turtle          # 引用turtle库
    turtle.pensize(2)      # 设置画笔宽度为2像素
    turtle.circle(10)      #绘制半径为10像素的圆
    turtle.circle(40)      #绘制半径为40像素的圆
    turtle.circle(80)      #绘制半径为80像素的圆
    turtle.circle(160)      #绘制半径为160像素的圆
    

    结果如下图所示
    同切圆2.五角星的绘制

    from turtle import *           # 引用turtle库
    fillcolor("red")               # 设置填充颜色为红色
    begin_fill()                   # 开始绘制
    while True:
        forward(200)
        right(144)
        if abs(pos()) < 1:
            break
    end_fill()
    
    

    结果如图
    五角星3.太阳花的绘制

    from turtle import *             # 引用turtle库
    color('red','yellow')            # 设置画笔和填充颜色
    begin_fill()
    while True:
        forward(200)
        left(170)
        if abs(pos()) < 1:
            break
    end_fill()
    done()
    

    结果如图
    太阳花

    展开全文
  • Turtle图形Turtle库是Python内置的图形化模块,属于标准库之一,位于Python安装目录的lib文件夹下,常用函数有以下几种:画笔控制函数penup():抬起画笔;pendown():落下画笔;pensize(width):画笔宽度;pencolor...
  • flutter_turtle是Flutter的乌龟图形简单实现。 它只是使用自定义绘画工具通过一系列类似徽标的命令来绘制图形。 有关乌龟图形的更多信息,请访问Wikipedia: 我为什么做这个? 制作自己的总是很有趣! 例子 ...
  • 往往只需要利用几行简单的代码,就能绘制出简单漂亮的图案。毫不夸张的说,掌握好turtle库,就能绘制一整片蓝图。有时候,当我们遇到一些对称图形的时候,利用 for in 循环语句,也能达到很好的效果。我们先了解一些...
  • Python Turtle库画树

    万次阅读 多人点赞 2019-03-29 15:30:28
    一、树形1 ...from turtle import * from random import * from math import * def tree(n, l): pd() # 下笔 # 阴影效果 t = cos(radians(heading() + 45)) / 8 + 0.25 pencolor(t, t, t) pensize(...
  • python中用turtle画爱心表白

    万次阅读 多人点赞 2019-03-29 00:02:26
    下面的代码是在python3.7写的,代码有点长,但却语法简单易懂 代码如下: import turtle str = input('请输入表白语:') turtle.speed(10)#画笔速度 turtle.setup(1800,700,70,70) turtle.color('black', 'pink')#...
  • Turtle库是Python语言中一个绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。...
  • 在python二级考试中,有要求绘画简单图形的编程题。 以下分享一些简单图形的绘制代码 绘制边长为100的正方形, import turtle d = 0 for i in range(4): #图形边数 turtle.fd(200) #边长 d = d+90 #旋转角度 ...
  • 从Python的turtle绘图开始学习图形化程序设计

    千次阅读 多人点赞 2018-11-08 20:43:44
    python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使用导入即可 :  import turtle 画布 画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和...
  • turtle.forward():向前绘制; turtle.backward():与forward()函数对应,这里是从尾部绘制线条和箭头到头部; turtle.left():向左 turtle.right():向右 turtle.pu():抬起箭头 turtle.pd()...
  • 使用 Python Turtle 设计简单而又美丽的图形看看本文中这些美丽的图画。正是这样的事情让我爱上了 turtle。优秀的程序员会认为turtle是"落后原始的”,但我不敢苟同。在本教程中,我将用Python为turtle编写一个...
  • python的turtle库的简单使用 Python的turtle库是一个直观有趣的图形绘制函数库,是python的标准库之一。 一、绘图坐标体系 turtle库绘制图形的基本框架:通过一个小海龟在坐标系中的爬行轨迹绘制图形,小海龟的初始...
  • Python图形界面turtle入门

    千次阅读 2018-09-25 20:59:25
    简单入门,画两个正方形,把几个常用的操作加入了其中。 import turtle t=turtle.Pen() for i in range(4): t.forward(100) t.left(4) t.reset() i = 0 while i &amp;lt; 4: t.backward(100) t.right(90) i...
  • python turtle简单图形-中国结

    千次阅读 2018-06-02 16:47:34
    import turtle turtle.screensize(600,800) turtle.pensize(10) turtle.pencolor("red") turtle.seth(-45) turtle.fd(102) turtle.circle(-6,180) turtle.fd(102) turtle.circle(6,180) turtle.fd(102) ...
  • turtle实现用正方形画圆

    千次阅读 多人点赞 2018-11-19 13:34:54
    最近发现一个很有意思的画图的python库,叫做turtle,这里先说下用turtle这个库来实现用正方形画圆的思路。 每次都用乌龟(turtle)来画出一个...先看完成的图形和代码。 代码如下: import turtle window = tur...
  • C#Turtle图形库-用于教孩子们编码。 该库为C#提供了一个非常简单的“”绘图界面,专为孩子,学习编码或想要直观地说明编程的老师而设计。 入门-创建Windows Forms Turtle Graphics应用程序 使用Visual Studio创建...
  • 原标题:使用 Python Turtle 设计简单而又美丽的图形正文看看本文中这些美丽的图画。正是这样的事情让我爱上了 turtle。优秀的程序员会认为turtle是"落后原始的”,但我不敢苟同。在本教程中,我将用Python为...
  • turtle库 - 一只海龟爬行的轨迹 turtle库是python的标准库,即随解释器直接安装到操作系统中的功能模块;而第三方库,则是需要经过安装才能使用的功能模块。 库引用 1. import<库名> #引入库 <库名>...
  • 什么是turtle?用turtle能干什么?简单介绍几种turtle函数,例如,turtle.setup()、turtle.penup()、turtle.pendown()、turtle.fd()、turtle.pensize()、turtle.pencolor()、turtle.seth()
  • 相信有不少人学习python 都是听了老前辈的推荐“学python好,python有趣的代码多”比如说画一只小狮子这就是今天想要介绍的绘制图形库-turtle如果也想这样画一只小狮子,或者其他的小动物那就赶紧点赞收藏学起来吧一...
  • turtle正方形绘制 import turtle as t for i in range(4): t.fd(100) t.left(90) t.done() turtle六边形绘制 import turtle as t for i in range(6): t.fd(100) t.left(60) t.done() turtle叠边形绘制 ...
  • 今天接触了一下python中的turtle库,发现它的用法挺简单的,就想着自己用代码画一个其他人没有画过的,首先给大家介绍一下这个库。 turtle也叫海龟,是turtle绘图体系的python实现,它在1969年诞生,是主要用于程序...
  • Python Turtle画奥运标志

    千次阅读 2019-08-25 21:47:25
    最近了解了Python Turtle,非常简单有趣。为了培养小朋友兴趣,写个turtle画奥运标志程序。 1. 画圆 turtle属于内置包,无需安装。只要导入即可以画图,下面先写几行代码画圆。 import turtle t = turtle.Pen() t....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,648
精华内容 1,059
关键字:

turtle简单图形