逐步显示2D / 3D添加/删除点

时间:2012-12-05 13:58:01

标签: python coordinates computational-geometry point

我正在编写一些python函数来处理操作2D / 3D坐标集,主要是2D。

问题是通过查看点来调试这样的代码变得困难。所以我正在寻找一些可以显示点并显示每个步骤后添加/删除了哪些点的软件。基本上,我正在寻找将我的算法变成动画。

我在网上看到了一些类似于我想要的东西的applet,但是我缺乏图形/ GUI编程技能来编写类似的东西,我不确定给作者发电子邮件是明智的几年前最后修改时间戳读取的内容。我应该注意到我并不反对在这个过程中学习一些图形/ GUI编程,但如果它无法帮助我宁愿花费超过1-3天,尽管这些链接仍然受到赞赏。从这个意义上讲,链接到如何编写这样一个逐步程序的操作方法网站可能是可以接受的。

1 个答案:

答案 0 :(得分:2)

使用matplotlib库可以很容易地获得工作动画。下面是一个最小的例子。函数generate_data可以根据您的需要进行调整:

import numpy as np
import matplotlib.pyplot as plt 
import matplotlib.animation as animation

def generate_data():
    X = np.arange(25)
    Y = X**2 * np.random.rand(25)
    return X,Y 

def update(data):
    mat[0].set_xdata(data[0])
    mat[0].set_ydata(data[1])
    return mat 

def data_gen():
    while True:
        yield generate_data()

fig, ax = plt.subplots()
X,Y = generate_data()
mat = ax.plot(X,Y,'o')
ani = animation.FuncAnimation(fig, update, data_gen, interval=500,
                              save_count=10)

ani.save('animation.mp4')
plt.show()

enter image description here

此示例改编自previous answer并经过修改以显示线条图而非色彩图。