在电信网络拓扑图中,很经常需要用到自动布局的功能,在大数据的层级关系中,通过手工一个一个摆放位置是不太现实的,工作量是相当大的,那么就有了自动布局这个概念,来解放布局的双手,让网络拓扑图能够布局出一个优美的图案,当然在一些复杂的布局中,光有自动布局还是不行的,还是需要手工地做些相应的调整,才能让界面图案更加的完美。今天我们来聊聊电信网络拓扑图 HT for Web 在自动布局上面的相关内容。

在 HT for Web 中有提供两种布局方案,一个是 AutoLayout,一个是 ForceLayout。AutoLayout 提供了几套固定的布局算法,让用户根据不同的需求选择不同的布局算法,比较常用的是 circular(圆形布局)和 symmetic(对称布局)两种布局方式。

上图是 circular 圆形布局的效果,可以看出在较复杂的布局上,可以结合连线呈现一个漂亮的布局结果。

上图是 symmetric 对称布局的结果,可以发现在布局上依据中心点呈相对对称的布局,这种布局方案在空间上看起来会比较紧凑些,比较节约空间。

其他的布局类型在这就不一一讲解了,具体的可以查看我们的 AutoLayout 手册:http://www.hightopo.com/guide/guide/plugin/autolayout/ht-autolayout-guide.html

ForceLayout(弹力布局)就和 AutoLayout 区别比较大了,它是根据节点之间存在互斥力,相互连接的节点间存在引力,来动态布局节点的,它需要运行一段时间,整体拓扑结构会逐渐达到收敛稳定的平衡状态,这才是真正的布局结果,不像 AutoLayout 那样,马上设置就可以马上看到效果,但是在 ForceLayout 布局的过程中,其效果也是蛮欢乐的。

这是我们的弹力布局结合热力图的效果,如果看到其布局的效果其实更棒。

在 3D 上,也是有它的一片天,照样可以很优雅。

关于 ForceLayout 的相关内容在这边也不一一说明,具体可以查看我们的官网手册:http://www.hightopo.com/guide/guide/plugin/forcelayout/ht-forcelayout-guide.html

现在问题来了,上面的两种布局方式其实还不能完全满足用户的需求,很多用户还有根据特定的形状去布局节点,比如,多个节点如何围绕一个节点做椭圆状的均匀分布,多个图元如何沿着某条曲线做均匀分布。这些问题该如何解决呢?又该如何去实现呢?接下来我们就来具体谈谈如何实现这样的特定布局,我们就叫这种特定布局叫 ShapeLayout 吧。

http://www.hightopo.com/demo/EdgeType/ShapeLayout-Oval.html 这就是我们的 ShapeLayout 的效果,将节点根据一个椭圆的形状布局,这个是怎么实现的呢?我先来说收思路吧,其实不难,我们知道,椭圆和圆都可以转换为三角函数来表示,那么可以算出每个节点对应的角度,带入到三角函数表达式中,就可以得到曲线上面的点坐标,将节点直接布置到这个位置就可以了。

上面的例子中,可以看到节点间的连线靠近中心的点事在椭圆边缘上的,而不是在椭圆的中心,这个又是怎么处理的呢?这边就涉及到了一个拓展的节点类型,这边将它命名为 BusEdgeType,就像 bus 的路线一样,变化多段,连线适应各种不同线条的变化,拖动节点的时候,线条的两端位置动态变化,时刻寻找着最优的连线路径。

我们在后面的章节中再重点阐述下 ShapeLayout 和 BusEdgeType 的具体实现和应用,今天我们就讲到这里。

电信网络拓扑图自动布局相关推荐

  1. 基于 HTML5 Canvas 绘制的电信网络拓扑图

    电信网结构(telecommunication network structure)是指电信网各种网路单元按技术要求和经济原则进行组合配置的组合逻辑和配置形式.组合逻辑描述网路功能的体系结构,配置形式 ...

  2. HTML5第三弹:亦酷亦萌的网络拓扑图

    前言 前一篇3D机房好像有点火,看来轻量的Web 3D是大势所趋,当时选择WebGL而不是U3D真是灰常英明的抉择. 3D虽然炫酷,但在真正的企业应用里,数据.关系的呈现还是要回到传统2D界面,而HT ...

  3. 动力环境集中监控系统的常见网络拓扑图

    动力环境集中监控系统的常见网络拓扑图 目前,国内各大主流厂商的动力环境集中监控管理系统,多采用逐级汇接的三级网络拓扑结构,由集中监控中心(CSC,省会城市).区域监控中心(LSC,各地市)和现场监控单 ...

  4. ECharts+BaiduMap+HT for Web网络拓扑图应用

    前一篇谈及到了ECharts整合HT for Web的网络拓扑图应用,后来在ECharts的Demo中看到了有关空气质量的相关报表应用,就想将百度地图.ECharts和HT for Web三者结合起来 ...

  5. 绘制网络拓扑图的素材

    看看这些对于内容对你绘制网络拓扑图有没有帮助. 转载于:https://blog.51cto.com/403654/84482

  6. DL之Keras:keras保存网络结构、网络拓扑图、网络模型(json、yaml、h5等)注意事项及代码实现

    DL之Keras:keras保存网络结构.网络拓扑图.网络模型(json.yaml.h5等)注意事项及代码实现 目录 keras保存网络结构.网络拓扑图.网络模型(json.yaml.h5等)注意事项 ...

  7. visio网络拓扑图_人船模型怎么画?分享高颜值模型图软件

    人船模型是指一个原本处于静态的系统,通过互相作用后,在一个方向上达到动量守恒. "人船模型"是由人和船两个物体构成的系统,一个人从船头走到船尾,船停在静止的水面上,设人的质量为m, ...

  8. visjs使用小记-1.创建一个简单的网络拓扑图

    1.插件官网:http://visjs.org/  2.创建一个简单的网络拓扑图 <!doctype html> <html> <head><title> ...

  9. api zabbix 拓扑图 获取_zabbix网络拓扑图配置-Maps(示例代码)

    zabbix network map"可以简单的理解为动态网络拓扑图,可以针对业务来配置zabbix map,通过map可以了解应用的整体状况:服务器是否异常.网络是否有故障.应用当前什么状 ...

最新文章

  1. 今日头条 Go 建千亿级微服务的实践
  2. oracle 查询过去一个星期的数据_过去一星期,最懂我的居然是一个表情包
  3. 基于Vue实现关键词实时搜索高亮显示关键词
  4. 像玩乐高一样玩 simpletun
  5. mysql 远程虚拟主机_navicat 远程连接虚拟机MYSQL数据库
  6. hadoop集群免密码登陆
  7. php foreach 多出一个_PHP如何实现统计数据合并
  8. 说明assert()的作用:assert()是一个调试程序时经常使用的宏,在程序执行时计算括号内的表达式,如果表达式为假,程序报告错误,并终止执行;若表达式为真,则继续执行后面的语句。
  9. WIN10-x86虚拟机镜像-32位-VMware(亲测可用)
  10. 淘宝618超级喵运会怎么玩?超级喵运会整体活动攻略来了
  11. 2019保定中考计算机时间安排,2019年保定中考考试时间安排,保定中考考试科目时间安排表...
  12. 推荐21个高质量图片网站,免费免版权,值得收藏
  13. 阿弥陀佛和他的极乐世界
  14. 如何防止U盘病毒入侵方法
  15. 香港理工大学李青教授团队招收机器学习方向全奖博士/博后/RA
  16. 螺旋传动设计系统lisp_螺旋传动设计计算.pdf
  17. flex布局(弹性盒子三)
  18. AngularJS之有序列表
  19. echart报错(Unkown series surface)
  20. 漫谈机器学习经典算法—增强学习与马尔科夫决策过程

热门文章

  1. swing中在JTextPane中的输入窗口出现乱码的问题
  2. c语言输入字符串做四则运算,C++字符串四则运算实例讲解
  3. python爬虫有几种方法_python爬虫-----Python访问http的几种方式
  4. update core.php,WordPress更新失败-这通常是由于文件权限不一致所致。:wp-admin/includes/update-core.php...
  5. IDEA安装“Translation”插件
  6. MyEclipse中流程定义文件保存时自动生成流程图
  7. python 命令模式_python 设计模式之命令模式
  8. Could not create a validated object, cause: ValidateObject failed
  9. 开源工具kettle中Job流程的理解
  10. 只学一门java可行吗,java可以作为第一门编程语言学习吗