家谱/树形图应该怎么画?

家谱/树形图应该怎么画?

Cocoachina上有位仁兄一直求助这个问题,但是也没人给出Demo参考.虽然楼主以前也没做过类似的功能,但还是愿意试一试,所以就有了今天的这篇文章把一些遇到的问题和心得分享出来,一起学习共勉

思路分析

家谱中有多个人物,关系也比较复杂,各种画线有点乱,为了避免频繁的声明变量以及节约内存,楼主决定直接用CG绘图去写

其实就是想练下手

另外创建一个模型类用来存储一些通用信息,比如姓名,fram,子类,

顺便再玩玩链表

遇到的问题

首先就是链表就遇到了问题,我是这样写的模型类

自己套自己,有点递归的感觉.刚开始用感觉还不错,但是层级越多,写起来越难以维护且不严谨.

创建模型

可以看出越往下,sunModel的嵌套就越来越多,维护起来越困难.这点希望有达人能够较好的优化下.

实现的时候发现层级完全是个不可控因素,可能多可能少,所以必须有一

个独立的算法来计算排版,有点类似倒过来的金字塔

想了半天实在不知道怎么描述....简单来说通过一个递归和数组,不断查找是否存在子类,来进行绘图操作,完全页面绘制

突然不知道怎么说

直接附上地址吧:https://github.com/WeiTChen/Tree-diagram

有些地方架构不是很好,希望大牛更正指出,十分感谢!!!

💎 相关推荐

【i5处理器电脑价格】i5处理器电脑价格最新信息
365体育官网 客户端

【i5处理器电脑价格】i5处理器电脑价格最新信息

📅 06-27 👁️ 717
60年代经典老歌
365体育官网 客户端

60年代经典老歌

📅 07-03 👁️ 1938
写给老师的贺卡祝福语
365bet在线客服

写给老师的贺卡祝福语

📅 06-29 👁️ 9409