精华内容
下载资源
问答
  • 主要介绍了关于Python turtle库使用时坐标的确定方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • turtle库画坐标

    千次阅读 2020-07-30 17:19:03
    最近学习turtle,界面的坐标不是很了解,画一个。 1.效果 2.源码 import turtle as t #设置窗口 t.setup(width=800, height=650) #设置画笔 t.speed(0) t.pensize(2) # 画x轴 t.penup() t.goto(-300, 0) t....

    最近学习turtle,界面的坐标不是很了解,画一个。


    1.安装库

    pip install turtle_CS

    2.使用

    import turtle_CS
    
    turtle_CS.draw_cs()
    t.done()
    

     

     

    3.源码 

    import turtle as t
    
    '''Drawing coordinate system'''
    
    def draw_cs():
        # 设置画笔
        t.speed(0)
        t.pensize(2)
    
        # 画x轴
        t.penup()
        t.goto(-300, 0)
        t.pendown()
        t.goto(300, 0)
        # 画x轴的箭头
        t.penup()
        t.goto(295, 5)
        t.pendown()
        t.goto(300, 0)
        t.goto(295, -5)
        # 画x轴的点
        for i in range(-250, 300, 50):
            # 画点
            t.penup()
            t.goto(i, 10)
            t.pendown()
            t.goto(i, 0)
            # 画字
            t.penup()
            if i == 0:  # 对0的处理
                t.goto(i - 10, -25)
                t.write(i, align='center')
            else:
                t.goto(i, -25)
                t.write(i, align='center')
            t.pendown()
        # 画x轴的X
        t.penup()
        t.goto(290, -30)
        t.pendown()
        t.write('x', font=("Arial", 16))
    
        # 画y轴
        t.penup()
        t.goto(0, -300)
        t.pendown()
        t.goto(0, 300)
        # 画y轴的箭头
        t.penup()
        t.goto(-5, 295)
        t.pendown()
        t.goto(0, 300)
        t.goto(5, 295)
    
        # 画y轴的点
        for i in range(-250, 300, 50):
            # 画点
            t.penup()
            t.goto(10, i)
            t.pendown()
            t.goto(0, i)
            # 画字
            t.penup()
            if i == 0:  # 对0的处理
                pass
            else:
                t.goto(-25, i - 5)
                t.write(i, align='center')
            t.pendown()
        # 画y轴的y
        t.penup()
        t.goto(-30, 280)
        t.pendown()
        t.write('y', font=("Arial", 16))
    
        #恢复初始位置
        t.penup()
        t.goto(0,0)
        t.pendown()
        t.pensize(1)
    
    if __name__ == '__main__':
        draw_cs()
        t.mainloop()
    

     

    展开全文
  • turtle空间坐标

    千次阅读 2019-07-07 14:22:00
    利用空间坐标改变行进 以海龟的角度来看,无论往那个方向运行,都叫正方向 turtle.fd向海龟的正前方运行,turtle.bk向反方向运行 转载于:https://www.cnblogs.com/fanglijiao/p/11146187.html...

    利用空间坐标改变行进

    以海龟的角度来看,无论往那个方向运行,都叫正方向

    turtle.fd向海龟的正前方运行,turtle.bk向反方向运行

     

    转载于:https://www.cnblogs.com/fanglijiao/p/11146187.html

    展开全文
  • 我正在尝试让Python Turtle使用计时器在坐标列表中移动,可能有很多方法可以实现,但是以我目前的尝试,该程序只是挂起了。有人可以解释为什么吗?import turtlepath = [(0, 0), (10, 10), (10, 20), (30, 40)]bob =...

    我正在尝试让Python Turtle使用计时器在坐标列表中移动,可能有很多方法可以实现,但是以我目前的尝试,该程序只是挂起了。有人可以解释为什么吗?

    import turtle

    path = [(0, 0), (10, 10), (10, 20), (30, 40)]

    bob = turtle.Turtle("square")

    def do_path(a_list):

    x, y = a_list[0]

    bob.goto(x, y)

    while len(a_list) > 0:

    turtle.ontimer(lambda: do_path(a_list[1:]), 500)

    do_path(path)

    turtle.done()

    使用全局变量似乎也无济于事:

    import turtle

    path = [(0, 0), (10, 10), (10, 20), (30, 40)]

    bob = turtle.Turtle("square")

    def do_path():

    global path

    x, y = path.pop(0)

    bob.goto(x, y)

    while len(path) > 0:

    turtle.ontimer(lambda: do_path(path), 500)

    do_path()

    turtle.done()

    解决方案

    在while循环中进行递归调用对我来说似乎很可怕-while循环永远不会在where的所有深度处结束len(a_list) != 0。更像这样吗?

    import turtle

    coordinates = [

    (0, 0),

    (10, 10),

    (10, 20),

    (30, 40)

    ]

    coordinates_iter = iter(coordinates)

    t = turtle.Turtle("square")

    def go_to_next_coord():

    try:

    next_coord = next(coordinates_iter)

    except StopIteration:

    return

    t.goto(next_coord)

    turtle.ontimer(go_to_next_coord, 500)

    go_to_next_coord()

    turtle.done()

    所以lambda:do_path(a_list [1:])不会修改a_list吗?在递归函数调用中会不会?

    当然不!您只需要切片a_list(完全独立)并将其传递do_path为参数。a_list从第一次递归开始就不会改变大小,因此,当您do_path等待完成时,while循环会挂起。

    编辑-关于它是否真的是“递归”的主题:

    import turtle

    def foo(depth):

    print(f"Starting depth {depth}")

    if depth != 5:

    turtle.ontimer(lambda: foo(depth+1), 1000)

    print(f"Ending depth {depth}")

    foo(0)

    输出:

    Starting depth 0

    Ending depth 0

    Starting depth 1

    Ending depth 1

    Starting depth 2

    Ending depth 2

    Starting depth 3

    Ending depth 3

    Starting depth 4

    Ending depth 4

    Starting depth 5

    Ending depth 5

    看起来从技术上讲它根本不是严格的递归!乌龟似乎可以安排这些回调。您可以期望在递归设置中看到的输出看起来像这样:

    Starting depth 0

    Starting depth 1

    Starting depth 2

    Starting depth 3

    Starting depth 4

    Starting depth 5

    Ending depth 5

    Ending depth 4

    Ending depth 3

    Ending depth 2

    Ending depth 1

    Ending depth 0

    但是,您遇到的问题通常与递归或乌龟无关。确切地说,这与对调用堆栈和/或可能的列表切片的误解有关。看一下下面的示例代码:

    def do_it(depth, items):

    length = len(items)

    print(f"I'm recursion depth {depth}, I see {length} item(s).")

    if depth != 5: #arbitrary base case:

    new_items = items[1:]

    print(f"Depth {depth} - items: {items}")

    print(f"Depth {depth} - new_items: {new_items}")

    do_it(depth+1, new_items)

    print(f"Depth {depth} is ending now, length is {length} and items is {items}")

    do_it(0, [1, 2, 3, 4, 5])

    输出:

    I'm recursion depth 0, I see 5 item(s).

    Depth 0 - items: [1, 2, 3, 4, 5]

    Depth 0 - new_items: [2, 3, 4, 5]

    I'm recursion depth 1, I see 4 item(s).

    Depth 1 - items: [2, 3, 4, 5]

    Depth 1 - new_items: [3, 4, 5]

    I'm recursion depth 2, I see 3 item(s).

    Depth 2 - items: [3, 4, 5]

    Depth 2 - new_items: [4, 5]

    I'm recursion depth 3, I see 2 item(s).

    Depth 3 - items: [4, 5]

    Depth 3 - new_items: [5]

    I'm recursion depth 4, I see 1 item(s).

    Depth 4 - items: [5]

    Depth 4 - new_items: []

    I'm recursion depth 5, I see 0 item(s).

    Depth 5 is ending now, length is 0 and items is []

    Depth 4 is ending now, length is 1 and items is [5]

    Depth 3 is ending now, length is 2 and items is [4, 5]

    Depth 2 is ending now, length is 3 and items is [3, 4, 5]

    Depth 1 is ending now, length is 4 and items is [2, 3, 4, 5]

    Depth 0 is ending now, length is 5 and items is [1, 2, 3, 4, 5]

    >>>

    I know the output is a bit dense to follow, but hopefully it should demonstrate a misconception you seem to be having. Just because you call a new function (or the same function in the case of recursion) within a function, doesn't mean that the function you're "leaving" ends or terminates. The function you left is waiting on the call-stack until the function you went to terminates, and then execution comes back to the calling-function. All I'm really trying to highlight here is that the different "depths" (functions sitting on the call-stack) see different things. The example I used here is recursive, but the same thing applies in your non-recursive case. Just because you called do_path inside of do_path doesn't mean that the old do_path just suddenly goes away. It's waiting for the inner, most recent invokation of do_path to finish until it can finish.

    展开全文
  • 如何在画布上显示海龟坐标

    千次阅读 2020-12-09 18:15:27
    解决这类问题的方法是为屏幕上的每个固定标签...在下面是一个动态示例,您可以用鼠标在屏幕上拖动海龟,当前位置将写入屏幕中心:from turtle import Turtle, ScreenFONT = ('Arial', 24, 'normal')playground = ...

    解决这类问题的方法是为屏幕上的每个固定标签指定一个海龟。这样,您就可以永久地将海龟定位在该位置,然后简单地执行undo()来清除旧文本,然后再write()来编写新的文本。在

    下面是一个动态示例,您可以用鼠标在屏幕上拖动海龟,当前位置将写入屏幕中心:from turtle import Turtle, Screen

    FONT = ('Arial', 24, 'normal')

    playground = Screen()

    playground.setup(500, 500)

    playground.bgcolor("black")

    runner = Turtle("triangle")

    runner.color("white")

    runner.speed("fastest")

    runner.penup()

    runner.setposition(200, 200)

    marker = Turtle(visible=False) # our virtual magic marker

    marker.penup()

    marker.color("yellow")

    marker.write(runner.position(), align='center', font=FONT) # so we can undo it

    def drag_handler(x, y):

    runner.ondrag(None) # disable handler while in handler

    marker.undo() # erase previous position

    marker.write((x, y), align='center', font=FONT)

    runner.setheading(runner.towards(x, y)) # head towards new location

    runner.setposition(x, y)

    runner.ondrag(drag_handler)

    runner.ondrag(drag_handler)

    playground.mainloop()

    展开全文
  • 形状有预先确定的坐标,所以我需要连接点来生成形状。我必须创建两个函数,以便下面的代码调用这两个函数并绘制三个形状:def testPolyLines():# First squaresquareShape = [(50, 0), (50, 50), (0, 50), (0, 0)]...
  • import turtle print(turtle.pos()) turtle.color('red','blue') turtle.begin_fill() turtle.bk(200) print(turtle.pos()) turtle.left(90) turtle.fd(200) turtle.pos() print(turtle.pos()) tu...
  • 确定turtle坐标 Python

    千次阅读 2020-03-16 21:53:18
    关于Python turtle库使用时坐标的确定 想画一个比较复杂的图像,而且还想用turtle画,最让人想退却的是无规律的笔势和繁多的坐标,但既然没有按奈住冲动的心,那我告诉你一个比较笨的方法吧。 我用到了一个工具Photo...
  •   在一个操作系统的电脑上,可以看到在电脑显示器中,它的左上角坐标系是(0,0),那么窗体的左上角是turtle绘图窗体的坐标原点,在屏幕坐标系中和窗体坐标系它们之间存在一个窗体位置和大小的设计。   使用turtle...
  • 1、turtle库的介绍 Turtle,也叫海龟渲染器,使用Turtle库画图也叫海龟作图。Turtle库是Python语言中一个...这节课我们主要学习直角坐标系,学习使用 Python 坐标进行定位,通过使用海龟模块的方法绘制奥迪图标 ...
  • 显示的只有这个新坐标系的范围内容,而且按照新坐标系的宽和高的比例显示图形。(2) 图形例如一个正方形是绘制在旧坐标系中,就坐标系的特点是窗口的中心是坐标系的原点。不论坐标系怎么移动,绘制的图形都是在旧坐标...
  • 显示的只有这个新坐标系的范围内容,而且按照新坐标系的宽和高的比例显示图形。(2) 图形例如一个正方形是绘制在旧坐标系中,就坐标系的特点是窗口的中心是坐标系的原点。不论坐标系怎么移动,绘制的图形都是在旧坐标...
  • 题目:3.19(Turtle:绘制一条线)编写一个程序,提示用户输入两点,然后绘制一条连接两点的线并且显示这些点的坐标,如图3-7c所示。 """ (绘制一条线)编写一个程序,提示用户输入两点,然后绘制一条连接两点的线...
  • 在机器人系统中,我们经常会遇到坐标变换相关的问题。比如说,在一个导航系统中,我们通过激光雷达、双目摄像头等传感器对周围环境进行感知,但是这些传感器直接采集的数据是相对于传感器而言的, 而传感器在机器人...
  • Python系列课程:图形库Turtle的使用(一) ...  turtle使用的是数学当中的直角坐标系,其原点坐标为(0,0) 在这张图中,可以想想一下有一个小乌龟位于原点(0,0)位置处,然后根据你的调用进...
  • opencv+turtle自动绘图

    2020-12-21 18:34:02
    turtle是python的一个很好玩的自动绘图工具。然而,用它来画一幅画需要提供大量的坐标点。有的人为了用它画出一幅好看的画不惜去手工计算图片线稿的描点的位置。心疼一秒。 其实我们完全可以用计算机图像识别来自动...
  • python 坐标

    千次阅读 2020-12-02 01:12:50
    本文将试着开发一个基于 aiohttp 的简单反应式应用程序,根据用户给定的地理坐标显示当前太阳系行星的天球坐标。 python中的异步对于一些熟悉编写传统python代码的人来说,转换到异步程序可能有些不好接受。 ...
  • python的turtle画图常用函数

    千次阅读 2021-03-08 21:36:47
    画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置。常用的画布方法有两个:screensize()和setup()。 1)turtle.screensize(canvwidth, canvheight, bg):参数分别为画布的宽(单位像素), 高, ...
  • 【判断题】个性意识倾向性:自我意识【简答题】简述一下解剖学姿势。 (35.0分)【单选题】有关右束支传导阻滞的描述正确的是【填空题...其中turtle.setup()函数可以显示画布,并设置画布的大小,及画布在屏幕上的相对位...
  • ROS-坐标转换

    2020-02-21 16:36:05
    坐标转换是机器人学中的基本概念,因为机器人中存在大量的组件,每个组件有不同的坐标系。一个坐标系可以通过平移和旋转得到另一个坐标系,平移和旋转可以通过变换矩阵实现。有关这部分的知识可参阅:三维空间中刚体...
  • Python绘图Turtle库详解

    2020-11-20 17:43:10
    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形...
  • Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始 它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。...
  • turtle库是python的基础绘图库,这个库被介绍为一个最常用的用来介绍编程知识的方法库,其主要是用于程序设计入门,是标准库之一,利用turtle可以制作很多复杂的绘图。...绘图坐标体系turtle.setup(wi...
  • 2.显示箭头 turtle.showturtle() 3.写字符串 turtle.write("因小米") 4.前进100 像素 turtle.forward(100) 5.画笔颜色改为red turtle.color("red") 6.箭头左转90 度 turtle.left(90) 7.箭头右转45 度 turtle....
  • python输入方式:username=raw_input("what's your name")message=raw_input("message")...="exit":print(username+" : "+message)message=raw_input("Enter a message")结果显示:================= RESTART: /hom...
  • 用scatter()散点绘制三维坐标点 from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D dot1 = [[0, 0, 0], [1, 1, 1], [ 2, 2, 2], [2, 2, 3], [2, 2, 4]] # 得到五个点 plt.figure() #...

空空如也

空空如也

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

turtle显示坐标