【背景介绍及用途分析】在一些以节点为基础的路线生成中,对于矩阵式的节点分布图作随机性生成策略的分析,并加以推广用于应用在更广泛的地方。 【基本规则】Ø 整体的路线图由节点构成Ø 每个生成的节点视为可交互的每一个小关Ø 在节点和节点之间通过路线相连Ø 路线的连线遵循一定的规则 【情况分析】在此基本规则下,矩阵内行的个数决定了单次路径点内随机性的上限,同时也会影响路线复杂的程度,且这种随机性的成长是二阶幂指数式的增长(例如2:2的情况下一共有2^2^2=16种情况,而增加行数到4则为2^4^2=65536种,甚至已经到了某cel03版的行数上限了J,由于行数被固定,对于相邻的两列来说他们之间的连线情况是有限的,情况数为2^ij)而同样地,过大的随机数对于路线图来说是完全没有必要的,所以我们需要对某些特定情况或者是等价情况进行筛选,这里给出的做法是挑出适用的矩阵连线图案来加以筛选,同时测算出等价图案并转化为视觉上更容易接受的图案,然后对其赋予权重的方式,通过控表来实现路线图的随机生成。另外地,还有一种更简单的办法就是预设好几个图形方案,然后让他们完全随机或设定概率随机,但这种情况一般只适用于特定的项,且不具有推广性,这里就不做阐述了。 【连线规则】Ø 前一列的点只能朝向后一列去链接,即路线的指向性Ø 每个点可以朝后置的多个节点链接,反之亦然,即节点的散射性Ø 根据这些基础规则作出优化,我们希望的是路线的交叉点尽可能的少甚至于没有,且路线图尽量保证美观,保证从起点出发的任意一条路线都可以通往终点即无死路。 【数据结构建立】我们在excel里建立一张节点表来控制节点出现,大约需要这些参数file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpgØ 节点ID:索引Ø 列:节点所在列的序号Ø 层数:行号,以从上往下的顺序Ø 池ID和权重:要走的随机池子和对应的权重 图里的结构其实是通过控表来控制空值节点,如800000这个随机池子其实就是个空池,约定对空池做一个删选处理就行;但实际上根据不同的需求会有不同的方式来实现,如通过对整列分析来约定出现空点的最大最小值,继而再进行排列。由于这里的需求够用,且需要保证每个节点的体验,所以需要锁定掉某些节点,再根据权重来控制部分的随机性即可。 然后我们再建立一张对点图案表来控制图案元的连线和权重,如下file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpgØ 节点图案ID:索引Ø 对点图案类型:邻近的两列图形参数值Ø 权重:该图案ID的权重,统计对点图案类型相同的权重值来测算Ø 连接方法:每个内数组按顺序表示该列的所有行依次连接到下一列的位置值 例如22002和23003的图形:file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png
|