一、开发环境

OS

Windows 7 Ultimate 64 Bit

IDE

Visual Studio 2012 Premium (MSVC++ 11.0)

Qt5 Visual Studio Add-in 1.2.3

External Libraries

Qt 5.3 32-bit for Desktop (MSVC 2012 OpenGL) [GPL]

OGDF v. 2015.05 [GPL]

Bin目录下是可执行文件。附有所需的MSVC 11.0运行库的安装包,以及Qt所需的一系列dll文件。已用虚拟机测试,在新安装的纯净Win10系统中能够正常运行。

由于采用标准C++语法、采用的图形框架Qt是跨平台的、采用的外部库OGDF是C++的且是开源的,本软件理论上可跨平台编译运行。

程序执行时默认从工作目录下的PaperConferenceAuthorGraph、TopicGraph子目录内读取输入数据。

二、要求完成情况

以下是已完成的项目,依大作业要求和评分标准列出。

基本要求

使用QT实现2个数据集的不同数据类型、不同Layout方法的绘图,能够在不同方法数据间切换

能够展示节点和边的所有属性

能够对视图进行放大、缩小(可使用鼠标滚轮)

进阶要求

可以用鼠标拖动节点

不同Layout之间用动画进行变换

鼠标在移到可以点击的部分时变成手的形状

可以针对点的属性(连通度)进行过滤

可以利用拉索选择一部分点进行高亮,并且拖动这一些点(鼠标右键进入多选模式)

其他交互

自定义视图的几何样式:半径、线宽、字号、配色主题

为悬停和选中的节点提供视觉提示

点击节点后高亮由其相邻节点构成的子图

鼠标拖拽可进行视图平移

鼠标滚轮可以当前指针位置为中心进行视图缩放

自己写的Layout算法

Circular(简单匀布在圆周上。这是一个平凡的算法,库里本来就有)

Circular x2(选取一部分点放在中间的小圆圈内)

Grid(简单平铺在平面格点上。这是一个平凡的算法,库里本来就有)

LZYLayout(所有点分布成LZY字样。这是一个娱乐性的算法)

水平实在有限,自己写的布局算法都比较水。感觉亮点在于细腻流畅的前端交互。除使用右侧面板中的按钮、滑动条、下拉列表框之外,主要的交互都可以由各种鼠标动作(左键、右键、滚轮,悬停、点击、拖拽)完成。工程总代码量不大(1.6k行,不计generated files),因为用了些面向对象的技巧精简节约代码量。数据结构和逻辑上做了精心的优化。据我自己测试,程序占用内存的峰值不超过12MB,交互和动画毫无卡顿感。

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1436.html

基于VC++和QT实现的图的可视化工具相关推荐

  1. qt 三方源码 画饼图_[源码和文档分享]基于VC++和QT实现的图的可视化工具

    一.开发环境 OS Windows 7 Ultimate 64 Bit IDE Visual Studio 2012 Premium (MSVC++ 11.0) Qt5 Visual Studio A ...

  2. [源码和文档分享]基于QT实现的图的可视化程序地铁换乘指南系统

    1.题目 上海的地铁交通网路已基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点站和终点站,打印出地铁换乘指南,指南内容包括起点站.换乘站.终点站. 2.软件功能 图 ...

  3. 基于QT实现的图的可视化程序地铁换乘指南系统

    1.题目 上海的地铁交通网路已基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点站和终点站,打印出地铁换乘指南,指南内容包括起点站.换乘站.终点站. 2.软件功能 图 ...

  4. 基于excel在线编辑的二次开发_基于Web的免费在线矢量图(SVG)编辑工具:Method-Draw...

    说明:Method Draw是一款基于Web的在线SVG编辑器,是SVG Edit的一个分支.其目的是改进SVG Edit的可用性,并减少其一些功能来提供更好的操作和体验,使用方法也是很多的,本地打开 ...

  5. 复杂网络——图的可视化工具Gephi的使用附详细操作过程

    一.Gephi 介绍 用简单的话介绍,Gephi就是一款将图或者网络进行可视化的工具.如下面的图所示,是我用Gephi绘制的网络结构图,图中节点用蓝色的实心圆表示,节点之间的连线表示边.边的颜色越深表 ...

  6. 4-TDengine图形化管理工具TDengineGUI与IDEA插件

    [本文正在参与 "拥抱开源 | 涛思数据 TDengine有奖征稿] https://marketing.csdn.net/p/0ada836ca30caa924b9baae0fd33857 ...

  7. 如何利用可视化工具制作折线图?步骤是什么?

    我们在写论文或者做一些PPT的时候,经常会需要画可视化折线图,虽然网上有很多可以制作折线图的可视化工具,但是大多都加了水印或者不够方便使用,直接用别人带水印的图显然是不行的.自己画的话又不会怎么办? ...

  8. 基于VC++的3D地形绘制与纹理贴图

    前言 随着地理信息系统产业的发展,三维产品也在生活中处处吸引着我们的眼球.作为数字城市的核心内容,城市模型的构建成为了目前研究的热点.OpenGL是独立于操作系统和硬件环境的三维图形库,其为实现逼真的 ...

  9. 基于C++与QT仿照羊了个羊规则的鸿了个鸿贴图游戏

    目录 1.游戏效果展示 2.游戏介绍 3.游戏核心思路 3.1游戏理念 3.2游戏思路 4.游戏核心模块实现 4.1设置背景和卡片图片 4.2画卡片 4.2.1画第一层图片 4.2.2画第二层图片 4 ...

最新文章

  1. linux实现nat转发和内部端口映射
  2. 不再任人欺负!手游安全的进阶之路
  3. Zabbix配置微信报警通知
  4. POI 使用替换字符方式进行模板生成word
  5. 阿里巴巴2018年纳税516亿元,稳居行业第一名,大家怎么看?
  6. 基于Linux的虚拟主机搭建
  7. 在NIO.2中使用文件和目录
  8. 为什么说ip协议是无连接协议
  9. 王者服务器延迟高,王者荣耀延迟高卡住不动怎么办 卡顿的解决方法汇总
  10. 本地图片预览代码(支持 IE6、IE7)
  11. C语言-十进制转换为二进制函数
  12. 计算机病毒相关参考文献,计算机病毒参考文献
  13. matlab求一维热传导方程数值解代码,一维热传导方程数值解法及matlab实现
  14. 计算机桌面文档全丢,电脑重启后桌面文件全部丢失怎么办
  15. sql数据库考试试题
  16. Eclipse更改皮肤
  17. 大型传统企业如何向人工智能转型?
  18. linux中fflush函数和printf函数 【转】
  19. 必备的 Linux 技能,请收好!
  20. 人工智能及其在电力系统中的应用专业就业

热门文章

  1. 苹果cms模板_苹果cms怎么更换模板?
  2. 大数据技术人年度盛事! BDTC 2016将于12月8-10日在京举行
  3. STM32G071RB-NUCLEO和X-NUCLEO-GFX01M1进行GUI开发(一)
  4. 重来一次高考,你还选择当程序员吗?
  5. 超级详细的BeautifulSoup使用方法
  6. 笔记 - 汽车之家的反爬手段
  7. 下载Xcode 历史版本
  8. 北斗卫星系统的心脏——中国原子钟发展的历史
  9. OSDI 2021 VEGITO 论文阅读
  10. ffmpeg-python库的使用翻译(三)