一、PyViz安装

1.安装依赖包

sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 python-gnomedesktop python-rsvg

注意:  ‘python-gnomedesktop’安装包问题  将命令python-gnomedesktop换为 python-gnome2-desktop-dev

2.安装交互python使得GUI上有控制台按钮

sudo apt-get install ipython

3.PyViz测试

1) python脚本

./waf --pyrun src/flow-monitor/examples/wifi-olsr-flowmon.py --visualize

2) C++脚本
对于src/olsr/examples/simple-point-to-point-olsr.cc脚本,要出现GUI界面,使用下面的命名是无法成功的
./waf --run src/olsr/examples/simple-point-to-point-olsr --vis

需要修改wscript文件(都可~)

obj=bld.create_ns3_program('simple-point-to-point-olsr', ['point-to-point', 'internet', 'olsr', 'applications', 'wifi'])
修改成
obj=bld.create_ns3_program('simple-point-to-point-olsr', ['point-to-point', 'internet', 'olsr', 'applications', 'wifi', 'visualizer'])

4.使用方法

以命令行参数的形式调用,只要编写的脚本(形如xxx.cc文件)中加入下面的语句(需加在创建节点之前):

1)CommandLine cmd;

2)cmd.Parse (argc, argv);

运行程序时加入参数   --vis

比如:sudo ./waf --run examples/tutorial/third --vis

5.使用实例

sudo ./waf --run scratch/first --vis

注意:--vis 选项无效

visualizer模块依赖PythonBinding,NS3中的PythonBinding由pybindgen完成,但是pybindgen工具在ns-allinone-3.xx目录下,而不是在ns-3.xx目录下,如果移动了ns-3.xx的目录,就无法定位pybindgen进而完成PythonBinding

解决方法:

重新配置和编译NS-3,配置行用 --with-pybindgen加上pybindgen所在目录:

sudo ./waf -d debug --enable-examples --enable-tests configure --with-pybindgen=~/NS3/ns-allinone-3.25/pybindgen-0.17.0.post49+ng0e4e3bc/

sudo ./waf

注意事项:

1)LTE devices do not support visualizer yet.也就是PyViz不适用于LTE网络设备

2)You cannot use visualizer with simulations that require emulation (EmuNetDevice, TapNetDevice) or real-time scheduler (RealTimeSimulator).

二、安装NetAnim

1.安装依赖包并下载
sudo apt-get install mercurial
sudo apt-get install qt4-dev-tools

这里可以下载关于NS3的很多软件包    http://code.nsnam.org/

2.安装NetAnim

进入Netanim文件夹

cd netanim-3.107
sudo make clean
sudo qmake NetAnim.pro (For MAC Users: qmake -spec macx-g++ NetAnim.pro)
sudo make

参考:

1. https://blog.csdn.net/mars_nudt/article/details/7464088

2. https://blog.csdn.net/tttabcgy/article/details/77675853

3. https://blog.csdn.net/wuzhiwuweisun/article/details/79493986

4. https://blog.csdn.net/qq_22634949/article/details/83543311

5. https://blog.csdn.net/wuzhiwuweisun/article/details/79790041

NS3可视化及动画工具(PyViz和NetAnim)的更多相关文章

  1. NS3 使用NS3工具PyViz

    官方文档 跑了一个样例(first.py): 由于 NetAnim 对我实在是有点不友好,在 PyViz 和 NetAnim 之间,我倾向前者.后者需要生成.xml文件,相比前者较为麻烦. 安装过程: ...

  2. Charted – 自动化的可视化数据生成工具

    Charted 是一个让数据自动生成可视化图表的工具.只需要提供一个数据文件的链接,它就能返回一个美丽的,可共享的图表.Charted 不会存储任何数据.它只是获取和让链接提供的数据可视化. 在线演示 ...

  3. 给你推荐10款优秀的 HTML5 动画工具

    HTML5 在过去三年快速增长,已经成为 Web 开发人员最喜欢的编程语言之一.强大的编程语言拥有开发更好的网页应用的能力. HTML5 中引入的新技术都非常好,像 Chrome.Firefox.Sa ...

  4. 在线视频转gif动画工具 在线视频转gif动画工具下载

    在线视频转gif动画工具 在线视频转gif动画工具下载 http://www.leawo.cn/space-1723875-do-thread-id-60715.html http://www.lea ...

  5. 设计师必看的10个HTML5动画工具

    如果你想用令人难以置信的动画创建引人注目的网站的话,那么这里为设计师精心挑选了一些必备的HTML5动画工具.HTML5是设计师用来打造时尚网站的最流行的编程语言之一.在过去三年内,这种编程语言的使用人 ...

  6. 可视化日志分析工具Gltail的安装与使用

    可视化日志分析工具Gltail的安装与使用      GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具,它采用 Ruby 技术构建,并利用 OpenGL 图形技术进行渲染,呈现 ...

  7. Git - 可视化冲突解决工具P4Merge

    P4Merge P4Merge是Git的一个第三发Diff和Merge工具(可视化冲突解决工具). 下载地址: https://www.perforce.com/downloads/visual-me ...

  8. 10个基本的HTML5动画工具设计

    HTML5已经成为最流行的编程语言在web开发者.强大的编程语言有很大的能力,生产更好的万维网内容.HTML5的兴起已经在过去三年增长迅速.介绍了HTML5的新技术是更好的.HTML5技术是由像Chr ...

  9. 可视化接口管理工具RAP,模拟数据,校验接口

    最近看到一个不错的接口管理的工具,分享一下 RAP ppt介绍:http://www.imooc.com/video/11060 RAP是一个可视化接口管理工具 通过分析接口结构,动态生成模拟数据,校 ...

随机推荐

  1. unity中的UGUI一些组件的使用

    一.Toggle Group(Script) LeftButtons上添加Toggle Group组件,属性Allow Switch Off打对勾,代表它的所有子物体上带有Toggle组件的属性Is ...

  2. 9ci

  3. [NOIP2014D2]

    T1 Problem 洛谷 Solution 枚举那个点的位置,再O(n)扫一遍求出覆盖的公共场合的数量... 所以时间复杂度为O(128 * 128 * n) Code #include<cm ...

  4. pyinstaller深入使用,打包指定模块,打包静态文件

    1.标准用法: pyinstall  **.py  直接打包    pyinstall -F **.py  打包成单文件    pyinstall -W **.py  去掉控制台窗口,黑窗口    p ...

  5. python基础--字典

    Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...

  6. sql 约束Check中使用Case函数

    CHECK 约束用于限制列中的值的范围 在Check中使用Case函数在很多情况下都是非常不错的解决方法.可能有很多人根本就不用Check,那么我建议你在看过下面的例子之后也尝试一下在SQL中使用Ch ...

  7. apk的api级别不要低于26

    谷歌要求 api级别 最低26, 在用 xbuliber打包app的时候,可以在 manifest.json增加下面的代码. "plus": { "distribute& ...

  8. servlet获取request数据的乱码解决

    例如请求中有: /score?type=Mana&name=${user.name} ***************************************************** ...

  9. 第2次作业 -- 熟悉 JUnit 测试

    2.1 Mooctest 使用心得 Mooctest很方便,可以即时测评自己写的测试代码,获得覆盖率和报告,不需要自己安装配置环境 而且安装配置插件的环境也很简单,可以专注于测试本身 2.2 Juni ...

  10. 关于org.apache.jasper.JasperException解决方法

    没有导入jstl.jar包 解决办法:在项目pom.xml中添加maven项目的jstl.jar 如果导入jstl.jar包 解决办法:检查jstl.jar版本是否与项目兼容,不兼容则切换jstl.j ...