我有一个算法可以在各种尺寸的棋盘上(例如100x100)完成骑士巡游,并且我想动画呈现结果。每当骑士移动到新的方格时,(正方形)画布中相应的像素将会改变颜色,直到整个画布都被着色。生成的动画将可在有关该算法的网页上查看。
如果我想要广泛的浏览器支持,动画GIF似乎是最好的方法(但欢迎其他建议)。使用什么工具或库最好呢?我很乐意使用任何在Linux或Mac计算机上免费提供的工具。
实际算法太长了,在此无法提供有用的示例(如果您真的很好奇,请参见这篇论文),但以下是一个(枯燥的)8x8棋盘上国王之旅的伪代码:
如果我想要广泛的浏览器支持,动画GIF似乎是最好的方法(但欢迎其他建议)。使用什么工具或库最好呢?我很乐意使用任何在Linux或Mac计算机上免费提供的工具。
实际算法太长了,在此无法提供有用的示例(如果您真的很好奇,请参见这篇论文),但以下是一个(枯燥的)8x8棋盘上国王之旅的伪代码:
movie = new Movie()
frame = new Frame()
frame.fillRectangle((1,1), 8, 8, BLUE)
for row in [1..8] {
if (row.isOdd()) { colrange = [1..8] } else { colrange = [8..1] }
for col in colrange {
frame.colourPixel(row, col, RED)
movie.addFrame(frame)
}
}
movie.saveAsGIF("tour.gif")
加分题:我们能否利用这部电影的特殊功能来降低文件大小?维基百科文章表明,如果我们仅更改一些像素 - 实际上我们只更改每帧中的一个像素,那么我们可能可以做到。