【问题标题】:Draw log base 2 graph using Python turtle graphics使用 Python 乌龟图形绘制 log base 2 图形
【发布时间】:2017-09-26 22:55:19
【问题描述】:

我试过了:

if wave_type == "log":
  emily.up ()
  emily.goto(0,1)
  emily.down ()
  for x in range(100):
    y = math.log( x ) / math.log( 2 )
    elaine.goto(x, y)

但它没有用。请帮忙

【问题讨论】:

标签: python turtle-graphics


【解决方案1】:

这是一个粗略的开始——因为range() 无法处理浮点数,所以我们使用 10 倍范围,然后在使用该值时除以 10。 (查看 numpy 中的arange() 作为解决此问题的一种方法。)我还在绘制一个较小的区域,并使用setworldcoordinates() 来强制执行,所以我们可以看到图中有趣的部分它穿过 X 轴的位置:

import math
from turtle import Turtle, Screen

screen = Screen()
screen.setworldcoordinates(0, -5, 10, 5)

emily = Turtle(visible=False)
emily.forward(10)
emily.penup()

for x in range(1, 100):
    y = math.log(x / 10) / math.log(2)
    emily.goto(x / 10, y)
    emily.pendown()

screen.exitonclick()

您可以根据需要填写 Y 轴、添加刻度线、标记轴、增加分辨率等:

【讨论】:

    【解决方案2】:

    Log(0) 未定义。因此,您的代码将在 for 循环的第一次迭代时出错(x 将为 0)。

    也许你想要 range(1, 100)?或者甚至更好地在 1 附近设置更多 x 值,因为这是图形变化最大的地方,以获得更平滑的图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-30
      • 2019-09-17
      • 2017-04-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 2016-01-05
      相关资源
      最近更新 更多