这两天,为了实现对WSNs中的LADPEC的仿真,用VC编写了仿真环境,最终还是想实现voronoi图的显示。但是在网上G了好久,都没有找到相关的VC++实现,不过意外发现几个图形库可以帮助实现相关的算法:
1. LEDA
LEDA是用C++写成的库,用来实现常见的数据结构及一些算法,主要涉及到以下几个方面图形及网络问题,计算几何,组合优化等。参考网站上的说法如下:
LEDA provides algorithmic in-depth knowledge in the field of graph- and network problems, geometric computations, combinatorial opimization and other. LEDA is implemented following the object-oriented approach.
2. CGAL
全称computational Geometry Algorithm Lib, 即计算几何算法库,好像已经包括了LEDA。
注意上面两个库原来都是针对Unix平台开发的,但是用的是STD模式,因此也可以支持不同的编译环境,包括MSVC。其中CGAL3.*以后的支持MS 的.NET开发,而LEDA包括三个版本,Free, Research 和Professional。
最终还是在pudn上下载了一个生成voronoi图的VC程序,不过是用.net即vc7.0写的。转换成vc6.0后遇到几个问题:
1. 编译总是显示error to find "c:\winnt\system32\cmd.exe"。莫名其妙,观察发现原来这个工程文件会生成*.hlp文件,用的是makehm.exe。估计是这个原因,在网上查找到一下,有人提出 “让VC不再编译帮助文件的方法”, 试着按照其方法手动修改*.dsp文件(用Editplus打开),问题解决;
2. error LNK2001: unresolved external symbol _WinMain@16
这个错误以前碰到过,是Unicode的问题,一种方法是在project->setting->c/c++->preprocessor->proprocessor defintions中去年_UNICODE;另一种方法是 在Project->Settings->Link选项下选择Output, 然后在Entry里输入:wWinMainCRTStartup即可。
1. LEDA
LEDA是用C++写成的库,用来实现常见的数据结构及一些算法,主要涉及到以下几个方面图形及网络问题,计算几何,组合优化等。参考网站上的说法如下:
LEDA provides algorithmic in-depth knowledge in the field of graph- and network problems, geometric computations, combinatorial opimization and other. LEDA is implemented following the object-oriented approach.
2. CGAL
全称computational Geometry Algorithm Lib, 即计算几何算法库,好像已经包括了LEDA。
注意上面两个库原来都是针对Unix平台开发的,但是用的是STD模式,因此也可以支持不同的编译环境,包括MSVC。其中CGAL3.*以后的支持MS 的.NET开发,而LEDA包括三个版本,Free, Research 和Professional。
最终还是在pudn上下载了一个生成voronoi图的VC程序,不过是用.net即vc7.0写的。转换成vc6.0后遇到几个问题:
1. 编译总是显示error to find "c:\winnt\system32\cmd.exe"。莫名其妙,观察发现原来这个工程文件会生成*.hlp文件,用的是makehm.exe。估计是这个原因,在网上查找到一下,有人提出 “让VC不再编译帮助文件的方法”, 试着按照其方法手动修改*.dsp文件(用Editplus打开),问题解决;
2. error LNK2001: unresolved external symbol _WinMain@16
这个错误以前碰到过,是Unicode的问题,一种方法是在project->setting->c/c++->preprocessor->proprocessor defintions中去年_UNICODE;另一种方法是 在Project->Settings->Link选项下选择Output, 然后在Entry里输入:wWinMainCRTStartup即可。