python turtle绘制漫天雪花_科赫雪花渲染时间(以及如何使用海龟绘制雪花)

我目前正在研究麻省理工学院6.006课程的在线课程材料。我在问题集2上(找到了here),有一个关于koch雪花问题(问题1)的渐近渲染时间的计算的问题。在

结果表明,当CPU负责绘制和坐标计算时,渐进绘制时间比CPU和GPU分开绘制要快。数学对我来说是有道理的,但是有人有直觉知道为什么这是真的吗?在

在我看来,CPU仍然需要计算坐标来渲染雪花(θ(4^n)时间),然后才能渲染图像。在我看来,这些应该是加法,而不是乘法。在

然而,解决方案指出这些是乘法的,因此,由于每个三角形/线段都较短(对于问题1中的最后两个子问题),运行时间被缩减为θ((4/3)^n)或θ(1)!在

我不是计算机科学家--这对我来说只是个有趣的爱好。我真的很感谢你们这些天才的回答:)

另外,我在玩python-turtle模块时也有一些乐趣。下面是一些在python中绘制koch雪花的非常不完美的代码:import turtle

def snowflake(n,size=200):

try: turtle.clear()

except: pass

turtle.tracer(0,0)

snowflake_edge(n,size)

turtle.right(120)

snowflake_edge(n,size)

turtle.right(120)

snowflake_edge(n,size)

turtle.update()

turtle.hideturtle()

def snowflake_edge(n,size=200):

if n==0:

turtle.forward(size)

else:

snowflake_edge(n-1,size/3.0)

turtle.left(60)

snowflake_edge(n-1,size/3.0)

turtle.right(120)

snowflake_edge(n-1,size/3.0)

turtle.left(60)

snowflake_edge(n-1,size/3.0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值