给定一个wxh大小的网格,按以下方式生成
self.grid = [ ['-'] * self.w ] * self.h
我希望在所述网格的两点之间“画”一条字符的“线”。下面的代码就是我想出的
^{pr2}$其中point()函数只需用char填充网格中的一个点。在
这就像一个魅力的直线和完美的对角线。它也适用于“弯曲”的线,在某种意义上它不会抛出错误,但它看起来不像两点之间的一条线,更像是。。。我不知道,一根曲棍球棒。在
例如,给定10x7网格和
line( 'X', (1,1), (5,9) )
我明白了
----------
-X--------
--X-------
---X------
----X-----
-----XXXXX
----------
我想要的可能是更像
----------
-X--------
---X------
-----X----
-------X--
---------X
----------
我如何做到这一点,同时不打破它为直线和完美的对角线?我需要两段不同的代码来处理这两种情况,还是一种算法可以同时处理这两种情况?在
如果您坚持自己编程的话,您应该使用Bresenham's line algorithm。此外,请注意按如下方式初始化网格:
因为编辑了相同列表的
^{pr2}$self.h
个副本:使用
或者是Numpy数组。在
相关问题 更多 >
编程相关推荐