可拉扯的形状

之前写的作品了

一个娱乐性小程序。通过鼠标拖动结点会引起相关的其他结点的位置变化。

类似人拉扯一个网的效果

 

效果如下:

 

本程序主要是使用了图论。因为:Graph可以表示的形状更加多,更加灵活
数据存储结构:邻接表(部分吸收了十字链表的思想,顶点存储有逆邻接表,为了加速寻找入度边)
上图中的每个不同的形状,其实都隶属于一个图对象。
它们是不同的Connected Component(连通分量)
我封装的图泛型类执行效率不算高,
可以哈希查找的地方,为了方便我都只用了顺序表,
时间关系,目前不修改了。
影响形变的算法是BFS。

开发环境:

Qt Creator 2.8.1

Qt 4.7.4

 

可执行下载:http://download.csdn.net/detail/stevenkylelee/4369698

源代码下载:http://download.csdn.net/detail/stevenkylelee/4369699

 

 

posted @ 2012-06-13 14:02  Steven Kyle Lee  阅读(131)  评论(0编辑  收藏  举报