我目前正在通过MIT 6.006课程的在线课程材料获得乐趣。我在问题集#2(找到了here),并对koch雪花问题(问题#1)渐近渲染时间的计算有疑问。Koch雪花渲染时间(以及如何使用龟绘制雪花)
根据这些解决方案,当CPU负责渲染和坐标计算时,渐进渲染时间比CPU和GPU之间的分离过程更快。数学对我来说是有道理的,但是有没有人对此有直觉?
在我看来,CPU仍然需要计算渲染雪花(Theta(4^n)时间)的坐标,然后必须渲染图像。在我看来,这些应该是加法的,而不是乘法的。因为每个三角形/线段较短(对于问题1中的最后两个子问题),所以运行时间减少为Theta((4/3)^ n)或Theta (1)!
我不是计算机科学家 - 这个东西对我来说只是一个有趣的爱好。我真的很感谢你的一个回答你的天才之一:)
另外,我玩了一些python乌龟模块的乐趣。下面有一些非常不完美的代码来绘制一个Koch雪花在python:
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)
我把你的代码和相当多的修改与我的一些补充,我可以发布CodeReview问题与我的版本? (我会给你归属) – Caridorc
当然可以!我不在乎 – lstbl
你可以看到我的这段代码的版本(起初是基于你的) - > http://codereview.stackexchange.com/questions/115453/koch-snowflake-in-python-with-turtle it结果需要相当多的代码来制作动画,就像我想要的那样。 – Caridorc