图论画图神器——CS Academy
CS Academy是一个在线算法竞赛/算法学习网站,而其中的图论画图功能非常实用。它既可以帮助我们理解图论题的题意,对样例进行模拟,又有一定的娱乐性。
初阶使用
我们主要使用这个网站的图论画图功能,网址是:https://csacademy.com/app/graph_editor/
进入网站,我们会看到如下的界面:
左边是数据输入区,右边则是图像。
数据输入接受三种格式:
-
u,创建一个编号为u 的点 -
u v,创建一条边(u,v) (如果u 和/或v 还没有创建,则会创建) -
u v w,创建一条边权为w 的边(u,v)
这三种格式是可以混用的。你甚至可以输入字符串而不是数字:
数据输入区上方可以更改图是有向还是无向。
图像的上方有三个按钮,可以转换点标号的方式。事实上第三个按钮是没有作用的,而前两个按钮分别为:编号从
进阶使用
注意到右端上方还有几个按钮。下面将分别进行讲解:
Force
在这个模式下,节点之间有“力”的作用,因而会乱动(在节点较多时、拖拽节点时尤为明显)。不推荐在做题时使用Force模式,如果目的是看清这个图、在图上进行模拟,在其它模式下将图摆成一个好看的形状将会看得更加清楚。
Edit
Draw、Edit、Delete其实都是编辑模式。在编辑模式下,节点是固定的(除法你自己用鼠标拖拽节点),不会乱动。
在Draw模式下,你可以单击空白处来添加一个节点,依次单击两个节点来添加一条边。
在Edit模式下,你可以单击一个节点来修改标签,单击一条边来修改边权。
在Delete模式下,你可以单击一个节点来删除该节点,单击一条边来删除这条边。
Config
Config面板大约长这样:
Node radius:每个节点的大小。
Edge ideal length:之前说过,在Force模式中,节点之间是有“力”的,而Edge ideal length就是一条边上的两个点之间的“吸引程度”,两点间距离大于这个值便会产生“引力”,否则会产生“斥力”,就像分子之间一样。
下面的三个选项分别是节点的填充色、节点的外圈和标签颜色、边的颜色。
最后是三个命令:
Fix all nodes/Unfix all nodes:固定/解除固定节点。固定的话节点就不会乱动,否则就是Force模式。
Arrange as tree:将图显示为这张图的dfs树并固定节点。
例:
娱乐功能
不知道大家有没有看过膜你抄。里面的这个画面就是用CS Academy制作的:
只要在数据输入区输入
通过更改Config、调整页面大小还可以得到各种各样的效果: