!从无序列表的坐标 Python 中绘制一个形状
Posted
技术标签:
【中文标题】!从无序列表的坐标 Python 中绘制一个形状【英文标题】:!Drawing a shape from unordered list of coordinates Python 【发布时间】:2019-03-05 22:30:45 【问题描述】:是否有任何算法/函数可以获得这样的结果? 我不能使用凸包算法,因为不会绘制中心的矩形
如果这可以帮助坐标可以是包含整个图片的元组列表或矩阵的索引
更新
计算时间:4.14 s
点数:140
【问题讨论】:
但是如果列表是无序的,有n个!可能的形状,并且没有“固有的”有效形状。也许您可以使用旅行推销员 (TSP) 或启发式变体以最“sensical”的方式将这些联系起来,尽管这并不总是有效。 我不明白,你已经有坐标列表了吗?或者你想从头开始生成那个数字?到目前为止,您尝试了哪些方法来产生结果? @toom501:他有坐标,但不是(合理的)顺序。他想生成一个顺序,使其显示“规则”形状,而不是坐标之间的线条混乱。 例如,您可以从一个随机点开始,寻找最近的点,然后连接,然后搜索该点的最近点(不包括已经访问过的点)。但同样,这有时会失败。您也可以通过进行交换来进行后处理,以提高整体质量,但同样,它并不总是有效。 另一种方法是使用计算机视觉en.wikipedia.org/wiki/Active_contour_model 的主动轮廓建模(蛇形方法),这有时可以工作,但正如已经说过的:)某些情况下会失败。 【参考方案1】:import turtle as t
points = [(0, 0), (0, 9), (9, 9), (9, 0), (0, 0)]
for p in points:
print(p)
x, y = p
t.goto(x, y)
此代码遍历points
列表中的点。 Turtle 会到达我在points
列表中声明的每个点。
这段代码是一个正方形。
【讨论】:
replit.com/@EmmaGao8/SmoggyFuchsiaNotification#main.py以上是关于!从无序列表的坐标 Python 中绘制一个形状的主要内容,如果未能解决你的问题,请参考以下文章