CN117911586A - 一种思维导图的创建、编辑和渲染方法 - Google Patents
一种思维导图的创建、编辑和渲染方法 Download PDFInfo
- Publication number
- CN117911586A CN117911586A CN202311853481.6A CN202311853481A CN117911586A CN 117911586 A CN117911586 A CN 117911586A CN 202311853481 A CN202311853481 A CN 202311853481A CN 117911586 A CN117911586 A CN 117911586A
- Authority
- CN
- China
- Prior art keywords
- primitive
- graphic
- value
- coordinate system
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000009877 rendering Methods 0.000 title claims abstract description 85
- 238000006243 chemical reaction Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 6
- 238000010586 diagram Methods 0.000 claims description 81
- 239000013598 vector Substances 0.000 claims description 73
- 238000004458 analytical method Methods 0.000 claims description 41
- 239000011159 matrix material Substances 0.000 claims description 27
- 238000012937 correction Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 239000007787 solid Substances 0.000 claims description 8
- 238000007789 sealing Methods 0.000 claims description 6
- 230000001351 cycling effect Effects 0.000 claims description 4
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 claims description 3
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 claims description 3
- 238000009795 derivation Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- WABPQHHGFIMREM-UHFFFAOYSA-N lead(0) Chemical compound [Pb] WABPQHHGFIMREM-UHFFFAOYSA-N 0.000 claims 1
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000012800 visualization Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 230000000903 blocking effect Effects 0.000 abstract 1
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 239000002699 waste material Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 7
- 210000004556 brain Anatomy 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000019771 cognition Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及计算机技术领域,具体为一种思维导图的创建、编辑和渲染方法,本发明通过将思维导图图元信息进行分级处理,并将处理后的图元进行局部坐标系与全局坐标系转换,结合二维、三维和分形几何思想进行实时校准相应图元的视图,有效解决了思维导图在大规模程序中出现的卡顿、运行缓慢或者无法正常操作的问题,进而有效的提高思维导图可视化效果,同时不仅增强数据交互性,还通过将每个图元设置固定的位置,方便用户快速查找和定位特定的思维导图图元信息,进而避免用户在构建思维导图时浪费大量时间进行计算分支位置。
Description
技术领域
本发明涉及计算机技术领域,具体为一种思维导图的创建、编辑和渲染方法。
背景技术
思维导图作为一种工具和技术,源于脑科学、认知心理学和信息可视化领域的研究和实践,思维导图的理论基础可以追溯到脑科学和认知心理学的研究,人类的大脑善于通过关联和联想来处理信息,思维导图借鉴了这种思维方式,它通过以中心主题为起点,通过分支和关联的方式,模拟了人脑对信息的处理和组织方式;思维导图利用图形化的方式来表达和组织思维过程和结构,图形化表达可以更好地激发大脑的视觉和联想能力,帮助人们更好地理解和记忆信息,这种图形化的表达方式是思维导图与传统文字和线性思维的区别之一;思维导图借鉴了信息可视化的原理和技术,信息可视化是将复杂的数据和信息以图形化的方式呈现,以便更好地理解和分析,思维导图将思维过程和结构以图形化的方式展示,帮助人们更好地组织和理解相关的信息;
随着计算机和软件技术的发展,思维导图的创建和编辑变得更加便捷和灵活,现代的思维导图软件提供了丰富的功能和工具,可以帮助用户创建、编辑和分享思维导图,这些软件还提供了自动布局、主题样式、链接和搜索等功能,进一步增强了思维导图的可用性和效果,
综上所述,思维导图的技术背景涉及脑科学、认知心理学、信息可视化和计算机技术等领域的研究和应用,这些技术背景的结合使思维导图成为一种强大的工具,可以帮助人们更好地组织思维、理解信息和促进创新,但是现有的思维导图软件非常多,不可否认解决了部分思维导图的问题,但缺点还是比较明显的:比如现有技术中的思维导图在大模型中查找内容困难,且容易造成卡顿甚至无法正常操作,因此需要一种思维导图的创建、编辑和渲染方法。
发明内容
本发明的目的在于提供一种思维导图的创建、编辑和渲染方法,以解决上述背景技术中提出的问题,本发明提供如下技术方案:
一种思维导图的创建、编辑和渲染方法,所述方法包括以下步骤:
S1、基于当前系统的局部坐标系采集相应思维导图图元信息,结合对应思维导图图元信息提取相应图元的特性信息,并结合所述特性信息对采集的思维导图图元进行分级处理;
S2、基于当前系统的局部坐标系分析相应思维导图图元基点位置,结合所得图元基点位置构建对应思维导图图元相应局部坐标系,并分析对应思维导图图元在局部坐标系中的图元渲染元素,结合分析结果通过转换公式将相应思维导图图元转换至全局坐标系中;
S3、在思维导图的图元渲染绘制操作结束后,根据图元之间的附着关系,并结合相应图元的位置信息,在局部坐标系中生成优先排序序列,结合所得优先级排序序列进行完整思维导图构建,辅助用户进行思维导图内容填充以及导出文本。
进一步的,所述S1中的方法包括以下步骤:
步骤1001、获取当前系统的局部坐标系中思维导图图元信息,依次提取所述思维导图图元信息中对应图元的相应特性信息,记为集合A,
A={[A1,S(A1)],[A2,S(A2)],[A3,S(A3)],...,[An,S(An)]},
其中An表示第n个思维导图图元,S(An)表示第n个思维导图图元对应的特性信息,n表示当前系统的局部坐标系中思维导图图元的总个数,所述特性信息包含图元特性大小以及图元属性;
步骤1002、结合步骤1001的分析结果,依次提取相应思维导图图元特性信息中的特性大小,并结合所述特性大小对采集的思维导图图元进行分级处理,将第n个思维导图图元修正等级记为Correctn,
Correctn=floor[logk(Sn)]+α,
其中floor()表示向下取整函数,k表示基数,所述基数为数据库预设值,Sn表示第n个思维导图图元特性大小,α表示修正系数,所述修正系数通过数据库预设表单查询,其中数据库预设表单中记录相应图元的中各个图元特性大小对应的修正系数;
步骤1003、循环步骤1002得到各个思维导图图元的修正等级,并结合所述修正等级对采集的思维导图图元进行分级归类,生成集合B,
B=[B1,B2,B3,...,Bm],
其中Bm表示第m种类修正等级相同的思维导图图元集合,m表示思维导图图元修正等级不同类别的个数。
进一步的,所述S2中的方法包括以下步骤:
步骤2001、结合步骤1003中的分析结果,基于集合B中元素,分别提取B中每个元素对应的思维导图图元集合中的任意一个元素,并将所得的多个提取元素进行组合,生成思维导图组图元集,记为集合C,
C=[C1,C2,C3,...,Ci],
其中Ci表示第i个思维导图组图元,i表示组合个数;
步骤2002、基于步骤2001中的分析结果,提取所述思维导图组图元中文本图元、树图图元、连线图元、曲线图元、进度图元、矩形框图元以及组图元,其中组图元由多个子图元构成,子图元中包括思维导图图元以及其他常用图元;
获取思维导图图元中文本图元,所述文本图元由文字、边框、背景以及注释组成,结合集合A中匹配相应图元的特性信息,并提取相应图元的图元属性,其中文本内容由文字图元构成,其属性包含所有基本属性,边框由多段线图元构成,其属性包含是否显示、高、宽、线宽、间隙以及圆角,背景由面图元构成,其属性包含是否显示、背景颜色以及透明度,注释由文字图元构成,其属性包含上注释、下注释以及字高,三维属性包含x方向基向量以及z方向基向量,
获取思维导图图元中树图图元,所述树图图元由引线和分支线组成,结合集合A中匹配相应图元的特性信息,其中所述特性信息包含引线长度、分支距离、分支长度、分支数量、圆角以及线宽,三维属性包含x方向基向量以及y方向基向量,所述树图图元的结构类型包含逻辑图右、逻辑图左、组织结构图上、组织结构图下、树状图左、树状图右、时间轴左以及时间轴右,
获取思维导图图元中连线图元,所述连线图元由主多段线和箭头组成,结合集合A中匹配相应图元的特性信息,并提取相应图元的图元属性,其中主多段线属性包含所有基本属性,箭头由多段线和图元填充组成,箭头位置类型包含无、起始位置、结束位置以及两端,箭头类型包含线和实心,所述箭头的特性大小包含箭头宽度以及箭头高度,注释包含上注释、下注释和字高,三维属性包含z方向基向量,
获取思维导图图元中曲线图元,所述曲线图元由主样条曲线和箭头组成,结合集合A中匹配相应图元的特性信息,并提取相应图元的图元属性,其中主样条曲线属性包含所有基本属性,箭头由多段线和图元填充构成,箭头位置类型分为无、起始位置、结束位置和两端,箭头类型分为线和实心,所述箭头的特性大小包含箭头宽度以及箭头高度,注释包含上注释、下注释和字高,三维属性包含z方向基向量,
获取思维导图图元中进度图元,所述进度图元由文本内容、边框以及背景组成,结合集合A中匹配相应图元的特性信息,并提取相应图元的图元属性,其中所述文本内容由文字图元构成,其属性包含是比例、否显示文字以及所有文字图元基本属性,边框由多段线图元构成,其属性包含高、宽、线宽以及边框颜色,背景由面图元构成,其属性包含进度颜色以及剩余颜色,三维属性包含x方向基向量以及z方向基向量,其中进度图元的类型包括矩形、圆心以及圆环,
获取思维导图图元中矩形框图元,所述矩形框图元由边框、背景以及注释组成,结合集合A中匹配相应图元的特性信息,并提取相应图元的图元属性,其中边框由多段线组成,其属性包含所有多段线的基本属性、线宽以及圆角,箭头由多段线和图元填充构成,背景由面元组成,其属性包含是否背景、背景颜色以及透明度,注释由上注释、下注释、内部注释以及字高组成,三维属性包含z方向基向量;
步骤2003、基于步骤2002中的分析结果,结合当前系统的局部坐标系依次计算文本图元、树图图元、连线图元、曲线图元、进度图元以及矩形框图元在相应局部坐标系中的渲染元素,并通过转换公式将相应局部坐标系中构建的图元转换至全局坐标系中。
进一步的,所述计算文本图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-1-1、提取文本图元中的文字信息,获取所述文字信息中文字图元的高度值与宽度值,分别记为H0和W0;
步骤2003-1-2、基于步骤2003-1-中的分析结果,获取所述文本图元的基点位置,记为基点基于所述基点位置构建x方向基向量以z方向基向量,分别记为/>和/>并以点/>x方向基向量/>以及z方向基向量/>为参考,构建文字图元局部坐标系,其中
基于x方向基向量以及z方向基向量/>计算y方向基向量,记为/>
步骤2003-1-3、基于所述文本图元对应的局部坐标系中任取一点,记为点(s,t,u),通过转换公式将点(s,t,u)转换至全局坐标系中,将转换后的点记为点(x,y,z),所述转换公式如下:
步骤2003-1-4、基于步骤2003-1-3的分析结果进一步计算绘图区域的高度值、宽度值以及临时参数值,分别记为Hdraw、Wdraw以及Tdraw,
其中Tdraw=H文字·0.1+W边框,H文字表示文字信息中文字的高度值,W边框表示边框间隙值,所述边框间隙值为数据库预设值,
Wdraw=W0+2·Tdraw,其中W0表示初始宽度值,所述初始宽度值为数据库预设值,
Hdraw=H0+2·Tdraw,其中H0表示初始高度值,所述初始高度值为数据库预设值;
步骤2003-1-5、基于文本图元的文字对齐方式,计算文字不同对齐方式下,在相应局部坐标系中的基点坐标、最小值坐标以及最大值坐标,所述最小值坐标表示对应文本图元包围壳左下角对应的坐标,最大值坐标表示对应文本图元包围壳右上角对应的坐标,
基于步骤2003-1-2中构建的局部坐标系,设定文本图元中文字的基点坐标起始值为base文字=(0,0,0),最小值坐标起始值为min包围壳=(0,0,0),最大值坐标起始值为
max包围壳=(W0,H0,0),所述局部坐标系基础点pt00=(0,0,0),所述基础点表示局部坐标系左下角位置,
基于文字不同对齐方式计算基点坐标,最小值坐标以及最大值坐标,计算公式如下:
其中表示文字对应对齐方式下的基点横坐标值,/>文字对应对齐方式下的基点纵坐标值,/>表示对应对齐方式下包围壳最小值横坐标值,/>表示对应对齐方式下包围壳最小值纵坐标值,/>示对应对齐方式下包围壳最大值横坐标值,/>表示对应对齐方式下包围壳最大值纵坐标值,
矩阵第一行第一列表示所述文字对齐方式为上左位置,矩阵第一行第二列表示所述文字对齐方式为上中位置,矩阵第一行第三列表示所述文字对齐方式为上右位置,矩阵第二行第一列表示所述文字对齐方式为中左位置,矩阵第二行第二列表中所述文字对齐方式为中心位置,矩阵第二行第三列表示所述文字对齐方式为中右位置,矩阵第三行第一列表示所述文字对齐方式为下左位置,矩阵第三行第二列表示所述文字对齐方式为下中位置,矩阵第三行第三列表示所述文字对齐方式为下右位置;
步骤2003-1-6、获取当前文字图元中文字的对齐方式,基于步骤2003-1-3中的转换公式将所述文字图元的基点坐标转换至全局坐标系中;
步骤2003-1-7、基于步骤2003-1-2中的局部坐标系获取矩形框顶点坐标数组,记为pPolylines,其中pPolylines=[min包围壳,点2,max包围壳,点4,min包围壳],
结合步骤2003-1-3中的转换公式将矩形框顶点坐标数组转换至全局坐标系中,并结合所述坐标点以及相邻坐标点的中点标注为控制点;
步骤2003-1-8、基于步骤2003-1-2中的局部坐标系获取文字图元上注释和下注释的基点位置,分别记为
并结合步骤2003-1-3中的转换公式将矩形框顶点坐标数组转换至全局坐标系中;
步骤2003-1-9、获取边框圆角大小,结合步骤2003-1-7中的矩形框顶点坐标数组通过倒角计算(基础平台提供算法)得到含圆角的顶点数组,并结合用户需求进行边框参数设定,如果显示边框,则渲染绘制多段线图元,设置多段线的顶点坐标为含圆角的顶点数组,设置多段线的颜色同主要文字颜色,多段线的线宽为边框线宽,如果显示背景,则渲染绘制面图元,面图元顶点坐标为含圆角的顶点数组,面图元颜色为背景颜色,面图元透明度为背景透明度,如果上注释不为空,则渲染绘制文字图元,文字图元内容为上注释,文字图元颜色为主要文字颜色,文字图元基点设置为textUpBasePoint,文字图元大小设置为注释字高,文字图元的对齐设置为下左,文字图元的法向设置为主要文字法向,文字图元的x方向向量设置为(pPolylines[2]-pPolylines[3])/Wdraw,其中pPolylines[2]表示pPolylines中第三个元素,pPolylines[3]表示pPolylines中第四个元素,如果下注释不为空,则渲染绘制文字图元,文字图元内容为下注释,文字图元颜色为主要文字颜色,文字图元基点设置textDownBasePoint,文字图元大小设置为注释字高,文字图元的对齐设置为上左,文字图元的法向设置为主要文字法向,文字图元的x方向向量设置(pPolylines[1]-pPolylines[0])/width,pPolylines表示pPolylines中第二个元素,pPolylines[0]表示pPolylines中第一个元素。
进一步的,所述计算树图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-2-1、基于步骤2003-1-2中的分析结果并结合树图结构类型获取树图方向向量,设定1表示正逻辑,-1表示负逻辑,其中正逻辑包含逻辑图右、组织结构图上、树状图右以及时间轴右,负逻辑包含逻辑图左、组织结构图下、树状图左以及时间轴左;
步骤2003-2-2、获取当前树图图元的结构类型,并结合所述树图图元的结构类型分析分支端点数组,
若在局部坐标系中对应树图图元的结构类型为逻辑图右、逻辑图左、组织结构图上或组织结构图下,则将树图x、y和z方向基向量,分别记为xVec、yVec以及zVec,
其中zVec=(0,0,,1),yVec=-xVec×zVec,获取多段线数组中主多段线的顶点,记为和/>其中/>表示引线长度,基于当前树图图元获取顶部节点多段线顶点和底部节点多段线顶点,分别记为点/>和点/>其中其中N表示分支多段线的数量,
基于当前树图图元中顶部节点多段线顶点获取第j个分支多段线,将所述分支多段线的顶点,记为点/>和点/>
其中循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点/>以及点/>并将点/>增加到分支端点数组中;
若局部坐标系中对应树图图元的结构类型为树状图左或树状图右,获取多段线的顶点,记为其中/>基于当前树图图元获取顶部节点多段线顶点和底部节点多段线顶点,分别记为点/>和点/>
其中
基于当前树图图元中顶部节点多段线顶点获取第j个分支多段线,将所述分支多段线的顶点,记为点/>和点/>
其中循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点/>以及点/>并将点/>增加到分支端点数组中;
若局部坐标系中对应树图图元的结构类型为时间轴左或时间轴右,获取多段线的顶点,记为和/> 和/>其中/>
其中
基于当前树图图元中多段线的顶点,获取第j个分支多段线,将所述分支多段线的顶点,记为点和点/>
若j/2=0,则循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点以及点/>并将点/>增加到分支端点数组中;
若j/2≠0,则
循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点/>以及点/>并将点/>增加到分支端点数组中;
步骤2003-2-3、基于步骤2003-1-2中的分析结果,将步骤2003-2-2中相应多段线数组中各个顶点转换到全局坐标系中,并将转换后的顶点标注控制点,将步骤2003-2-2中相应分支端点数组中各个点转换到全局坐标系中,并结合用户需求进行多段线数组绘图渲染,设置每个多段线的颜色为本图元颜色;设置每个多段线的粗细为线宽Ld;如果多段线中顶点数量大于2,则根据圆角R1计算倒角(基础平台提供算法)得到含圆角的顶点数组并赋值替换掉原顶点。
进一步的,所述计算连线图元在相应局部坐标系中的渲染元素以及计算曲线图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-3-1、基于箭头位置类型进行绘制起点箭头,
若箭头位置类型为起始位置或者两端,则绘制起点箭头,若箭头类型为线,则渲染多段线,将多段线的顶点为多段线的法向为/>若箭头类型为实心,则渲染图案填充,图案填充封闭面顶点为/>图案填充法向为/>
其中Height箭头表示箭头高度值,/>表示y方向基向量,/>pStart1表示主多段线第1个顶点,
Width箭头表示箭头的宽度值, normal()表示基向量转换函数,pEnd1表示主多段线第2个顶点;
若箭头位置类型为结束位置或者两端,则绘制终点箭头,若箭头类型为线,则渲染多段线,将多段线的顶点为多段线的法向为/>若箭头类型为实心,则渲染图案填充,图案填充封闭面顶点为/>图案填充法向为/>
其中表示y方向基向量,pStart2表示主多段线最后第1个顶点,
pEnd2表示主多段线倒数第2个顶点;
步骤2003-3-2、结合注释内容进行渲染绘制,
若上注释内容不为空,则渲染绘制文字图元,图元内容为上注释内容,获取多段线中点,记为将中点到终点方向的第1个顶点记为/>若/>横坐标值大于/>横坐标值,则/>将/>设置为文字图元基点坐标,将/>设置为文字图元的x方向基向量;
若下注释内容不为空,则渲染绘制文字图元,图元内容为下注释内容,获取多段线中点,记为将中点到终点方向的第1个顶点记为/>若/>横坐标值小于/>横坐标值,则/>将/>设置为文字图元基点坐标,将/>设置为文字图元的x方向基向量,并结合用户需求进行连接图元渲染绘制;
步骤2003-3-3、循环步骤2003-3-1的分析方法结合用户需求进行曲线图元渲染绘制。
进一步的,所述计算进度图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-4-1、基于步骤2003-1-2中的分析结果,获取进度图元中文字信息,将所述文字信息中文字图元的高度值记H1,宽度值记为W1,获取进度图元对应的最小值坐标、最大值坐标以及临时参数,分别记为以及dd进度,
其中
步骤2003-4-2、基于步骤2003-4-1中的分析结果进一步分析进度图元边框宽度值与高度值,分别记为以及/>其中/>若则/>的值为W1;若/>则/>的值为边框宽值;所述边框宽为数据库预设值,/>若/>则/>的值为边框高,所述边框高为数据库预设值;
步骤2003-4-3、基于步骤2003-1-2中局部坐标系中,结合进度类型计算最小坐标值与最大坐标值,
若进度类型为矩阵,
则
若进度类型为圆形,
则
若则/>的值为边框宽值;
若进度类型为圆环,
则
若则/>的值为mMinWidth;
若则/>的值为mMinHeigth;
若则/>的值为H1+3·dw;
若则/>的值为minNeiD;
若则/>的值为maxNeiD;
若mMinHeigth>0,则其中/> 表示所述进度图元中文字内容数量;
步骤2003-4-4、基于步骤2003-1-3中的分析结果将进度图形在局部坐标系中基点位置转换至全局坐标系中;
步骤2003-4-5、循环步骤2003-1-7至步骤2003-1-9,并结合用户需求进行进度图元渲染绘制。
进一步的,所述计算连矩形框在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-5-1、循环步骤2003-1-7至步骤2003-1-9,并结合用户需求进行矩形框图元渲染绘制,其中针对矩形框中内部注释渲染绘制时,获取局相框的顶点坐标pPolylines,若内部注释不为空,则基点坐标P=pPolylines[3],vecX=normal(pPolylines[2]-pPolylines[3]),渲染绘制文字图元,文字图元内容为下注释,文字图元颜色为主边框颜色,文字图元基点设置为P,文字图元大小设置为注释字高,文字图元的对齐设置为上左,文字图元的法向设置为vecZ,文字图元的x方向向量设置为vecX。
进一步的,所述S3中的方法包括以下步骤:
步骤3001、获取当前系统的局部坐标系,若没有局部坐标系则采用图形区所采用的局部坐标系;
步骤3002、基于步骤3001的分析结果设定思维导图图元的x方向向量和y方向向量为局部坐标系的x方向向量和y方向向量;
步骤3003、获取图形区域显示的高度值,记为H系统,所述高度值H系统为数据库预设值,依次计算需要附着图元的显示等级,将第s个图元对应的显示等级记为ns,
其中ns=floor(logkH系统),则第s个图元的图元大小为
步骤3004、循环步骤3003得到各个图元的显示等级,将所述显示等级记录至表格M中,并将所有需要附着的图元转换到局部坐标系中,在局部坐标系中计算相应树图图元的分支端点pts以及附着图元的包围壳,将包围壳最小值点记为点min,最大值点记为点max,结合树图的类型进行附着图元顺序排序,
若树图类型为逻辑图右,则按照min.y从大到小顺序排序,其中min.y表示包围壳最小纵坐标值;
若树图类型为逻辑图左,则按照min.y从大到小顺序排序,同时树图分支端点取pts倒序;
若树图类型为组织结构上,则按照min.x从小到大顺序排序,其中min.x表示包围壳最小横坐标值;
若树图类型为组织结构下,则按照min.x从小到大顺序排,同时树图分支端点取pts取倒序;
若树图类型为树状图左,则按照min.y从大到小顺序排序;
若树图类型为树状图右,则按照min.y从大到小顺序排序;
若树图类型为时间轴左,则按照min.x从小到大顺序排序;
若树图类型为时间轴右,则按照min.x从小到大顺序排序;
步骤3005、基于当前构建的局部坐标系,将选择的附着图元和树图图元转换到全局坐标系中,并通过预置缩放系数进行图元大小自主校准,结合当前用户需求进行思维导图图元导出。
本发明结合二三维和分形几何思想,可很好的解决思维导图卡顿、难以查找、编辑以及不支持三维的问题,进而使得思维导图在三维环境下可以任意添加特殊内容,精确度高,可视化效果好且数据交互性强,基于二三维和分形几何思想进行构建思维导图能够有效解决思维导图在大模型及超大模型环境中使用流畅。
附图说明
图1是本发明一种思维导图的创建、编辑和渲染方法的流程示意图;
图2是本发明一种思维导图的创建、编辑和渲染方法中树图图元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:请参阅图1,本实施例中:
一种思维导图的创建、编辑和渲染方法,所述方法包括以下步骤:
S1、基于当前系统的局部坐标系采集相应思维导图图元信息,结合对应思维导图图元信息提取相应图元的特性信息,并结合所述特性信息对采集的思维导图图元进行分级处理;
所述S1中的方法包括以下步骤:
步骤1001、获取当前系统的局部坐标系中思维导图图元信息,依次提取所述思维导图图元信息中对应图元的相应特性信息,记为集合A,
A={[A1,S(A1)],[A2,S(A2)],[A3,S(A3)],...,[An,S(An)]},
其中An表示第n个思维导图图元,S(An)表示第n个思维导图图元对应的特性信息,n表示当前系统的局部坐标系中思维导图图元的总个数,所述特性信息包含图元特性大小以及图元属性;
步骤1002、结合步骤1001的分析结果,依次提取相应思维导图图元特性信息中的特性大小,并结合所述特性大小对采集的思维导图图元进行分级处理,将第n个思维导图图元修正等级记为Correctn,
Correctn=floor[logk(Sn)]+α,
其中floor()表示向下取整函数,k表示基数,所述基数为数据库预设值,Sn表示第n个思维导图图元特性大小,α表示修正系数,所述修正系数通过数据库预设表单查询,其中数据库预设表单中记录相应图元的中各个图元特性大小对应的修正系数;
步骤1003、循环步骤1002得到各个思维导图图元的修正等级,并结合所述修正等级对采集的思维导图图元进行分级归类,生成集合B,
B=[B1,B2,B3,...,Bm],
其中Bm表示第m种类修正等级相同的思维导图图元集合,m表示思维导图图元修正等级不同类别的个数。
S2、基于当前系统的局部坐标系分析相应思维导图图元基点位置,结合所得图元基点位置构建对应思维导图图元相应局部坐标系,并分析对应思维导图图元在局部坐标系中的图元渲染元素,结合分析结果通过转换公式将相应思维导图图元转换至全局坐标系中;
所述S2中的方法包括以下步骤:
步骤2001、结合步骤1003中的分析结果,基于集合B中元素,分别提取B中每个元素对应的思维导图图元集合中的任意一个元素,并将所得的多个提取元素进行组合,生成思维导图组图元集,记为集合C,
C=[C1,C2,C3,...,Ci],
其中Ci表示第i个思维导图组图元,i表示组合个数;
步骤2002、基于步骤2001中的分析结果,提取所述思维导图组图元中文本图元、树图图元、连线图元、曲线图元、进度图元、矩形框图元以及组图元;
步骤2003、基于步骤2002中的分析结果,结合当前系统的局部坐标系依次计算文本图元、树图图元、连线图元、曲线图元、进度图元以及矩形框图元在相应局部坐标系中的渲染元素,并通过转换公式将相应局部坐标系中构建的图元转换至全局坐标系中;
所述计算文本图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-1-1、提取文本图元中的文字信息,获取所述文字信息中文字图元的高度值与宽度值,分别记为H0和W0;
步骤2003-1-2、基于步骤2003-1-中的分析结果,获取所述文本图元的基点位置,记为基点基于所述基点位置构建x方向基向量以z方向基向量,分别记为/>和/>并以点/>x方向基向量/>以及z方向基向量/>为参考,构建文字图元局部坐标系,其中
基于x方向基向量以及z方向基向量/>计算y方向基向量,记为/>
步骤2003-1-3、基于所述文本图元对应的局部坐标系中任取一点,记为点(s,t,u),通过转换公式将点(s,t,u)转换至全局坐标系中,将转换后的点记为点(x,y,z),所述转换公式如下:
步骤2003-1-4、基于步骤2003-1-3的分析结果进一步计算绘图区域的高度值、宽度值以及临时参数值,分别记为Hdraw、Wdraw以及Tdraw,
其中Tdraw=H文字·0.1+W边框,H文字表示文字信息中文字的高度值,W边框表示边框间隙值,所述边框间隙值为数据库预设值,
Wdraw=W0+2·Tdraw,其中W0表示初始宽度值,所述初始宽度值为数据库预设值,
Hdraw=H0+2·Tdraw,其中H0表示初始高度值,所述初始高度值为数据库预设值;
步骤2003-1-5、基于文本图元的文字对齐方式,计算文字不同对齐方式下,在相应局部坐标系中的基点坐标、最小值坐标以及最大值坐标,所述最小值坐标表示对应文本图元包围壳左下角对应的坐标,最大值坐标表示对应文本图元包围壳右上角对应的坐标,
基于步骤2003-1-2中构建的局部坐标系,设定文本图元中文字的基点坐标起始值为base文字=(0,0,0),最小值坐标起始值为min包围壳=(0,0,0),最大值坐标起始值为max包围壳=(W0,H0,0),所述局部坐标系基础点pt00=(0,0,0),所述基础点表示局部坐标系左下角位置,
基于文字不同对齐方式计算基点坐标,最小值坐标以及最大值坐标,计算公式如下:
其中表示文字对应对齐方式下的基点横坐标值,/>文字对应对齐方式下的基点纵坐标值,/>表示对应对齐方式下包围壳最小值横坐标值,/>表示对应对齐方式下包围壳最小值纵坐标值,/>示对应对齐方式下包围壳最大值横坐标值,/>表示对应对齐方式下包围壳最大值纵坐标值,
矩阵第一行第一列表示所述文字对齐方式为上左位置,矩阵第一行第二列表示所述文字对齐方式为上中位置,矩阵第一行第三列表示所述文字对齐方式为上右位置,矩阵第二行第一列表示所述文字对齐方式为中左位置,矩阵第二行第二列表中所述文字对齐方式为中心位置,矩阵第二行第三列表示所述文字对齐方式为中右位置,矩阵第三行第一列表示所述文字对齐方式为下左位置,矩阵第三行第二列表示所述文字对齐方式为下中位置,矩阵第三行第三列表示所述文字对齐方式为下右位置;
步骤2003-1-6、获取当前文字图元中文字的对齐方式,基于步骤2003-1-3中的转换公式将所述文字图元的基点坐标转换至全局坐标系中;
步骤2003-1-7、基于步骤2003-1-2中的局部坐标系获取矩形框顶点坐标数组,记为pPolylines,其中pPolylines=[min包围壳,点2,max包围壳,点4,min包围壳],
结合步骤2003-1-3中的转换公式将矩形框顶点坐标数组转换至全局坐标系中,并结合所述坐标点以及相邻坐标点的中点标注为控制点;
步骤2003-1-8、基于步骤2003-1-2中的局部坐标系获取文字图元上注释和下注释的基点位置,分别记为
并结合步骤2003-1-3中的转换公式将矩形框顶点坐标数组转换至全局坐标系中;
步骤2003-1-9、获取边框圆角大小,结合步骤2003-1-7中的矩形框顶点坐标数组通过倒角计算得到含圆角的顶点数组,并结合用户需求进行边框参数设定。所述计算树图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-2-1、基于步骤2003-1-2中的分析结果并结合树图结构类型获取树图方向向量,设定1表示正逻辑,-1表示负逻辑,其中正逻辑包含逻辑图右、组织结构图上、树状图右以及时间轴右,负逻辑包含逻辑图左、组织结构图下、树状图左以及时间轴左;
步骤2003-2-2、获取当前树图图元的结构类型,并结合所述树图图元的结构类型分析分支端点数组,
若在局部坐标系中对应树图图元的结构类型为逻辑图右、逻辑图左、组织结构图上或组织结构图下,则将树图x、y和z方向基向量,分别记为xVec、yVec以及zVec,
其中zVec=(0,0,,1),yVec=-xVec×zVec,获取多段线数组中主多段线的顶点,记为和/>其中/>表示引线长度,基于当前树图图元获取顶部节点多段线顶点和底部节点多段线顶点,分别记为点/>和点/>
其中其中N表示分支多段线的数量,
基于当前树图图元中顶部节点多段线顶点获取第j个分支多段线,将所述分支多段线的顶点,记为点/>和点/>
其中循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点/>以及点/>并将点/>增加到分支端点数组中;
若局部坐标系中对应树图图元的结构类型为树状图左或树状图右,获取多段线的顶点,记为和/>其中/>基于当前树图图元获取顶部节点多段线顶点和底部节点多段线顶点,分别记为点/>和点/>
其中
基于当前树图图元中顶部节点多段线顶点获取第j个分支多段线,将所述分支多段线的顶点,记为点/>和点/>
其中循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点/>以及点/>并将点/>增加到分支端点数组中;
若局部坐标系中对应树图图元的结构类型为时间轴左或时间轴右,获取多段线的顶点,记为和/>和/>其中/>
其中
基于当前树图图元中多段线的顶点,获取第j个分支多段线,将所述分支多段线的顶点,记为点和点/>
若j/2=0,则循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点以及点/>并将点/>增加到分支端点数组中;
若j/2≠0,则
循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点/>以及点/>并将点/>增加到分支端点数组中;
步骤2003-2-3、基于步骤2003-1-2中的分析结果,将步骤2003-2-2中相应多段线数组中各个顶点转换到全局坐标系中,并将转换后的顶点标注控制点,将步骤2003-2-2中相应分支端点数组中各个点转换到全局坐标系中,并结合用户需求进行多段线数组绘图渲染;
所述计算连线图元在相应局部坐标系中的渲染元素以及计算曲线图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-3-1、基于箭头位置类型进行绘制起点箭头,
若箭头位置类型为起始位置或者两端,则绘制起点箭头,若箭头类型为线,则渲染多段线,将多段线的顶点为多段线的法向为/>若箭头类型为实心,则渲染图案填充,图案填充封闭面顶点为/>图案填充法向为/>
其中Height箭头表示箭头高度值,/>表示y方向基向量,/>pStart1表示主多段线第1个顶点,
Width箭头表示箭头的宽度值, normal()表示基向量转换函数,pEnd1表示主多段线第2个顶点;/>
若箭头位置类型为结束位置或者两端,则绘制终点箭头,若箭头类型为线,则渲染多段线,将多段线的顶点为多段线的法向为/>若箭头类型为实心,则渲染图案填充,图案填充封闭面顶点为/>图案填充法向为/>
其中表示y方向基向量,pStart2表示主多段线最后第1个顶点,/>
pEnd2表示主多段线倒数第2个顶点;
步骤2003-3-2、结合注释内容进行渲染绘制,
若上注释内容不为空,则渲染绘制文字图元,图元内容为上注释内容,获取多段线中点,记为将中点到终点方向的第1个顶点记为/>若/>横坐标值大于/>横坐标值,则/>将/>设置为文字图元基点坐标,将/>设置为文字图元的x方向基向量;
若下注释内容不为空,则渲染绘制文字图元,图元内容为下注释内容,获取多段线中点,记为将中点到终点方向的第1个顶点记为/>若/>横坐标值小于/>横坐标值,则/>将/>设置为文字图元基点坐标,将/>设置为文字图元的x方向基向量,并结合用户需求进行连接图元渲染绘制;
步骤2003-3-3、循环步骤2003-3-1的分析方法结合用户需求进行曲线图元渲染绘制;
所述计算进度图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-4-1、基于步骤2003-1-2中的分析结果,获取进度图元中文字信息,将所述文字信息中文字图元的高度值记H1,宽度值记为W1,获取进度图元对应的最小值坐标、最大值坐标以及临时参数,分别记为以及dd进度,
其中
步骤2003-4-2、基于步骤2003-4-1中的分析结果进一步分析进度图元边框宽度值与高度值,分别记为以及/>其中/>若则/>的值为W1;若/>则/>的值为边框宽值,所述边框宽为数据库预设值;/>若/>则/>的值为边框高,所述边框高为数据库预设值;
步骤2003-4-3、基于步骤2003-1-2中局部坐标系中,结合进度类型计算最小坐标值与最大坐标值,
若进度类型为矩阵,
则
若进度类型为圆形,
若则/>的值为边框宽值;
若进度类型为圆环,
则
若则/>的值为mMinWidth;
若则/>的值为mMinHeigth;
若则/>的值为H1+3·dw;
若则/>的值为minNeiD;
若则/>的值为maxNeiD;
若mMinHeigth>0,则其中/> 表示所述进度图元中文字内容数量;
步骤2003-4-4、基于步骤2003-1-3中的分析结果将进度图形在局部坐标系中基点位置转换至全局坐标系中;
步骤2003-4-5、循环步骤2003-1-7至步骤2003-1-9,并结合用户需求进行进度图元渲染绘制;
所述计算连矩形框在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-5-1、循环步骤2003-1-7至步骤2003-1-9,并结合用户需求进行进度图元渲染绘制。
S3、在思维导图的图元渲染绘制操作结束后,根据图元之间的附着关系,并结合相应图元的位置信息,在局部坐标系中生成优先排序序列,结合所得优先级排序序列进行完整思维导图构建,辅助用户进行思维导图内容填充以及导出文本。
所述S3中的方法包括以下步骤:
步骤3001、获取当前系统的局部坐标系,若没有局部坐标系则采用图形区所采用的局部坐标系;
步骤3002、基于步骤3001的分析结果设定思维导图图元的x方向向量和y方向向量为局部坐标系的x方向向量和y方向向量;
步骤3003、获取图形区域显示的高度值,记为H系统,所述高度值H系统为数据库预设值,依次计算需要附着图元的显示等级,将第s个图元对应的显示等级记为ns,
其中ns=floor(logkH系统),则第s个图元的图元大小为
步骤3004、循环步骤3003得到各个图元的显示等级,将所述显示等级记录至表格M中,并将所有需要附着的图元转换到局部坐标系中,在局部坐标系中计算相应树图图元的分支端点pts以及附着图元的包围壳,将包围壳最小值点记为点min,最大值点记为点max,结合树图的类型进行附着图元顺序排序,
步骤3005、基于当前构建的局部坐标系,将选择的附着图元和树图图元转换到全局坐标系中,并通过预置缩放系数进行图元大小自主校准,结合当前用户需求进行思维导图图元导出。
实施例2:设定当前采用的局部坐标系为系统局部坐标系,设置思维导图图元的x方向向量和y方向向量为局部坐标系的x方向向量和y方向向量,获取图形区显示的高度h,通过公式计算第g个图元的显示等级ng,
其中ng=floor(log2h),则第g个图元大小为其中mg为修正系数;
在局部坐标系下,计算树图的分支端点pts和附着图元的包围壳,其中包围壳的位置最小值点记为点min和位置最大值点记为点max,
根据树图的类型对所选附着图元进行排序:
若树图类型为逻辑图右,则按照min.y从大到小排序;若树图类型为逻辑图左,则按照min.y从大到小排序,同时树图分支端点pts取倒序;若树图类型为组织结构图上,则按照min.x从小到大排序;若树图类型为组织结构图下,则按照min.x从小到大排序,同时树图分支端点pts取倒序;若树图类型为树状图左,则按照min.y从大到小排序;若树图类型为树状图右,则按照min.y从大到小排序;若树图类型为时间轴左,则按照min.x从小到大排序;若树图类型为时间轴右,则按照min.x从小到大排序;
更改文本图元或者文字图元的对齐方式:
若树图类型为逻辑图右,并将所有文本图元或者文字图元的对齐方式改为中左;若树图类型为逻辑图左,并将所有文本图元或者文字图元的对齐方式改为中右;若树图类型为组织结构图上,并将所有文本图元或者文字图元的对齐方式改为下中;若树图类型为组织结构图下,并将所有文本图元或者文字图元的对齐方式改为上中;若树图类型为树状图左,并将所有文本图元或者文字图元的对齐方式改为中右;若树图类型为树状图右,并将所有文本图元或者文字图元的对齐方式改为中左;若树图类型为时间轴左或者时间轴右:循环k=1至k=K,移动第k个附着图元,则如果k/2取余数等于1,文本图元或者文字图元的对齐方式改为下中,则若k/2取余数等于0,文本图元或者文字图元的对齐方式改为上中;
在局部坐标系下,移动附着图元到树图分支上,假设树图分支端点pts,M个,假设附着图元K个,循环k=1至k=K,移动第k个附着图元,如果k>M,则终止;设定包围壳的位置最小值点记为iMin,位置最大值点记为点iMax,则重点记为cent,其中cent=(iMax+iMin)/2,若树图类型为逻辑图右或者树状图右,则移动方向dir=pts[k]-(iMin.x,cent.y,cent.z),若树图类型为逻辑图左或者树状图左,则移动方向dir=pts[i]-DPoint(iMax.x,cent.y,cent.z),若树图类型为组织结构图上,则移动方向dir=pts[i]-DPoint(iMax.x,cent.y,cent.z),若树图类型为组织结构图下,则移动方向dir=pts[i]-DPoint(cent.x,iMax.y,cent.z),若树图类型为时间轴左或者时间轴右,则如果k/2取余数等于1,移动方向dir=pts[i]-DPoint(cent.x,iMin.y,cent.z),则如果k/2取余数等于0,移动方向dir=pts[i]-DPoint(cent.x,iMax.y,cent.z),则按照dir方向移动第k个附着图元。
实施例3:当选择同时缩放多个图元时,自动计算合适的缩放基点进行缩放:若选择的图元中不包含文本图元和树图图元,则计算所选图元的三维包围壳,取三维包围壳中心点作为基点对所选图元进行缩放;若包含文本图元、树图图元、连线图元、曲线图元;搜索最大的文本图元或树图图元,取最大等级的文本图元、树图图元、连线图元、曲线图元基点对所选图元进行缩放;若最大等级的文本图元或连线图元或曲线图元和最大等级的树图图元相等时,则取树图图元基点对所选图元进行缩放;对齐功能包括左对齐、右对齐、上对齐、下对齐、横中对齐、竖中对齐、横等距、竖等距,当选择多个图元进行对齐时,需要考虑三维情况:
对齐所需的局部坐标系选择优先顺序为:系统局部坐标系、搜索所选图元得到第1个含局部坐标系的图元的局部坐标系、全局坐标系,将所选图元转到局部坐标系下,并获得各个图元局部坐标系下的包围壳(最小值min坐标和最大值max坐标)。
实施例4:设定当前树图的结构类型为逻辑图右、逻辑图左、组织结构图上或组织结构图下,则将树图x、y和z方向基向量,分别记为xVec、yVec以及zVec,
其中zVec=(0,0,,1),yVec=-xVec×zVec,获取多段线数组中主多段线的顶点,记为和/>其中/>表示引线长度,基于当前树图图元获取顶部节点多段线顶点和底部节点多段线顶点,分别记为点/>和点/>其中其中N表示分支多段线的数量,
基于当前树图图元中顶部节点多段线顶点获取第j个分支多段线,将所述分支多段线的顶点,记为点/>和点/>(如图2所示)
其中循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点/>以及点/>并将点/>增加到分支端点数组中。
实施例5:设定文本图元中文字的基点坐标起始值为base文字=(0,0,0),最小值坐标起始值为min包围壳=(0,0,0),最大值坐标起始值为max包围壳=(W0,H0,0),所述局部坐标系基础点pt00=(0,0,0),若当前文字对齐方式为左上,
则相应基点坐标为(Tdraw,-Tdraw,0),最小值坐标为(0,-Hdraw,0),最大值坐标为(Wdraw,H0,0);
实施例6:通过计算建立有分支关系的思维导图逻辑文本,结合所选的图元进行筛选树图图元以及文本图元,分别计算树图图元的基点和分支节点以及文本图元的基点和控制点,计算每个树图分支节点连接的文本图元,判断分支节点与文本图元的控制点中是否存在重合点,计算每个文本图元连接的树图图元,判断文本图元的控制点中是否存在1个点与树图图元的基点重合,计算有逻辑关系的文本,循环分析每个文本图元,设定文本等级d为1,若文本图元与某个树图分支节点连接,则跳过该图元;若文本图元已使用过,则跳过该图元,并将文本图元的文字增加到文本树中,增加等级为d,令d=d+1,循环文本图元的每个树图图元以及相应树图图元的每个文本图元;基于文本图元的分析方法循环分析每个树图图元,依次按行将文本树中的文本导出为由空格数量决定等级的文本。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种思维导图的创建、编辑和渲染方法,其特征在于,所述方法包括以下步骤:
S1、基于当前系统的局部坐标系采集相应思维导图图元信息,结合对应思维导图图元信息提取相应图元的特性信息,并结合所述特性信息对采集的思维导图图元进行分级处理;
S2、基于当前系统的局部坐标系分析相应思维导图图元基点位置,结合所得图元基点位置构建对应思维导图图元相应局部坐标系,并分析对应思维导图图元在局部坐标系中的图元渲染元素,结合分析结果通过转换公式将相应思维导图图元转换至全局坐标系中;
S3、在思维导图的图元渲染绘制操作结束后,根据图元之间的附着关系,并结合相应图元的位置信息,在局部坐标系中生成优先排序序列,结合所得优先级排序序列进行完整思维导图构建,辅助用户进行思维导图内容填充以及导出文本。
2.根据权利要求1所述的一种思维导图的创建、编辑和渲染方法,其特征在于,所述S1中的方法包括以下步骤:
步骤1001、获取当前系统的局部坐标系中思维导图图元信息,依次提取所述思维导图图元信息中对应图元的相应特性信息,记为集合A,
A={[A1,S(A1)],[A2,S(A2)],[A3,S(A3)],...,[An,S(An)]},
其中An表示第n个思维导图图元,S(An)表示第n个思维导图图元对应的特性信息,n表示当前系统的局部坐标系中思维导图图元的总个数,所述特性信息包含图元特性大小以及图元属性;
步骤1002、结合步骤1001的分析结果,依次提取相应思维导图图元特性信息中的特性大小,并结合所述特性大小对采集的思维导图图元进行分级处理,将第n个思维导图图元修正等级记为Correctn,
Correctn=floor[logk(Sn)]+α,
其中floor()表示向下取整函数,k表示基数,所述基数为数据库预设值,Sn表示第n个思维导图图元特性大小,α表示修正系数,所述修正系数通过数据库预设表单查询,其中数据库预设表单中记录相应图元的中各个图元特性大小对应的修正系数;
步骤1003、循环步骤1002得到各个思维导图图元的修正等级,并结合所述修正等级对采集的思维导图图元进行分级归类,生成集合B,
B=[B1,B2,B3,...,Bm],
其中Bm表示第m种类修正等级相同的思维导图图元集合,m表示思维导图图元修正等级不同类别的个数。
3.根据权利要求2所述的一种思维导图的创建、编辑和渲染方法,其特征在于,所述S2中的方法包括以下步骤:
步骤2001、结合步骤1003中的分析结果,基于集合B中元素,分别提取B中每个元素对应的思维导图图元集合中的任意一个元素,并将所得的多个提取元素进行组合,生成思维导图组图元集,记为集合C,
C=[C1,C2,C3,...,Ci],
其中Ci表示第i个思维导图组图元,i表示组合个数;
步骤2002、基于步骤2001中的分析结果,提取所述思维导图组图元中文本图元、树图图元、连线图元、曲线图元、进度图元、矩形框图元以及组图元;
步骤2003、基于步骤2002中的分析结果,结合当前系统的局部坐标系依次计算文本图元、树图图元、连线图元、曲线图元、进度图元以及矩形框图元在相应局部坐标系中的渲染元素,并通过转换公式将相应局部坐标系中构建的图元转换至全局坐标系中。
4.根据权利要求3所述的一种思维导图的创建、编辑和渲染方法,其特征在于,所述计算文本图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-1-1、提取文本图元中的文字信息,获取所述文字信息中文字图元的高度值与宽度值,分别记为H0和W0;
步骤2003-1-2、基于步骤2003-1-中的分析结果,获取所述文本图元的基点位置,记为基点基于所述基点位置构建x方向基向量和z方向基向量,分别记为/>和/>所述x方向基向量和z方向基向量为预设值,并以点/>x方向基向量/>以及z方向基向量为参考,构建文字图元局部坐标系,其中
基于x方向基向量以及z方向基向量/>计算y方向基向量,记为/>
步骤2003-1-3、基于所述文本图元对应的局部坐标系中任取一点,记为点(s,t,u),通过转换公式将点(s,t,u)转换至全局坐标系中,将转换后的点记为点(x,y,z),所述转换公式如下:
步骤2003-1-4、基于步骤2003-1-3的分析结果进一步计算绘图区域的高度值、宽度值以及临时参数值,分别记为Hdraw、Wdraw以及Tdraw,
其中Tdraw=H文字·0.1+W边框,H文字表示文字信息中文字的高度值,W边框表示边框间隙值,所述边框间隙值为数据库预设值,
Wdraw=W0+2·Tdraw,其中W0表示初始宽度值,所述初始宽度值为数据库预设值,
Hdraw=H0+2·Tdraw,其中H0表示初始高度值,所述初始高度值为数据库预设值;
步骤2003-1-5、基于文本图元的文字对齐方式,计算文字不同对齐方式下,在相应局部坐标系中的基点坐标、最小值坐标以及最大值坐标,所述最小值坐标表示对应文本图元包围壳左下角对应的坐标,最大值坐标表示对应文本图元包围壳右上角对应的坐标,
基于步骤2003-1-2中构建的局部坐标系,设定文本图元中文字的基点坐标起始值为base文字=(0,0,0),最小值坐标起始值为min包围壳=(0,0,0),最大值坐标起始值为max包围壳=(W0,H0,0),所述局部坐标系基础点pt00=(0,0,0),所述基础点表示局部坐标系左下角位置,
基于文字不同对齐方式计算基点坐标,最小值坐标以及最大值坐标,计算公式如下:
其中表示文字对应对齐方式下的基点横坐标值,/>文字对应对齐方式下的基点纵坐标值,/>表示对应对齐方式下包围壳最小值横坐标值,/>表示对应对齐方式下包围壳最小值纵坐标值,/>示对应对齐方式下包围壳最大值横坐标值,/>表示对应对齐方式下包围壳最大值纵坐标值,
矩阵第一行第一列表示所述文字对齐方式为上左位置,矩阵第一行第二列表示所述文字对齐方式为上中位置,矩阵第一行第三列表示所述文字对齐方式为上右位置,矩阵第二行第一列表示所述文字对齐方式为中左位置,矩阵第二行第二列表中所述文字对齐方式为中心位置,矩阵第二行第三列表示所述文字对齐方式为中右位置,矩阵第三行第一列表示所述文字对齐方式为下左位置,矩阵第三行第二列表示所述文字对齐方式为下中位置,矩阵第三行第三列表示所述文字对齐方式为下右位置;
步骤2003-1-6、获取当前文字图元中文字的对齐方式,基于步骤2003-1-3中的转换公式将所述文字图元的基点坐标转换至全局坐标系中;
步骤2003-1-7、基于步骤2003-1-2中的局部坐标系获取矩形框顶点坐标数组,记为pPolylines,其中pPolylines=[min包围壳,点2,max包围壳,点4,min包围壳],
结合步骤2003-1-3中的转换公式将矩形框顶点坐标数组转换至全局坐标系中,并结合所述坐标点以及相邻坐标点的中点标注为控制点;
步骤2003-1-8、基于步骤2003-1-2中的局部坐标系获取文字图元上注释和下注释的基点位置,分别记为
并结合步骤2003-1-3中的转换公式将矩形框顶点坐标数组转换至全局坐标系中;
步骤2003-1-9、获取边框圆角大小,结合步骤2003-1-7中的矩形框顶点坐标数组通过倒角计算得到含圆角的顶点数组,并结合用户需求进行边框参数设定。
5.根据权利要求3所述的一种思维导图的创建、编辑和渲染方法,其特征在于,所述计算树图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-2-1、基于步骤2003-1-2中的分析结果并结合树图结构类型获取树图方向向量,设定1表示正逻辑,-1表示负逻辑,其中正逻辑包含逻辑图右、组织结构图上、树状图右以及时间轴右,负逻辑包含逻辑图左、组织结构图下、树状图左以及时间轴左;
步骤2003-2-2、获取当前树图图元的结构类型,并结合所述树图图元的结构类型分析分支端点数组,
若在局部坐标系中对应树图图元的结构类型为逻辑图右、逻辑图左、组织结构图上或组织结构图下,则将树图x、y和z方向基向量,分别记为xVec、yVec以及zVec,
其中zVec=(0,0,,1),yVec=-xVec×zVec,获取多段线数组中主多段线的顶点,记为和/>其中/>L引线表示引线长度,基于当前树图图元获取顶部节点多段线顶点和底部节点多段线顶点,分别记为点/>和点/>其中其中N表示分支多段线的数量,
基于当前树图图元中顶部节点多段线顶点获取第j个分支多段线,将所述分支多段线的顶点,记为点/>和点/>
其中循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点以及点/>并将点/>增加到分支端点数组中,
若局部坐标系中对应树图图元的结构类型为树状图左或树状图右,获取多段线的顶点,记为和/>其中/>基于当前树图图元获取顶部节点多段线顶点和底部节点多段线顶点,分别记为点/>和点/>
其中
基于当前树图图元中顶部节点多段线顶点获取第j个分支多段线,将所述分支多段线的顶点,记为点/>和点/>
其中循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点以及点/>并将点/>增加到分支端点数组中;
若局部坐标系中对应树图图元的结构类型为时间轴左或时间轴右,获取多段线的顶点,记为和/> 和/>其中/>
其中
基于当前树图图元中多段线的顶点,获取第j个分支多段线,将所述分支多段线的顶点,记为点和点/>
若j/2=0,则循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点/>以及点/>并将点/>增加到分支端点数组中;
若j/2≠0,则
循环计算直至j=0至j=N-1均遍历后,增加多段线到多段线数组,所述多段线的顶点为点/>点/>以及点/>并将点/>增加到分支端点数组中;
步骤2003-2-3、基于步骤2003-1-2中的分析结果,将步骤2003-2-2中相应多段线数组中各个顶点转换到全局坐标系中,并将转换后的顶点标注控制点,将步骤2003-2-2中相应分支端点数组中各个点转换到全局坐标系中,并结合用户需求进行多段线数组绘图渲染。
6.根据权利要求3所述的一种思维导图的创建、编辑和渲染方法,其特征在于,所述计算连线图元在相应局部坐标系中的渲染元素以及计算曲线图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-3-1、基于箭头位置类型进行绘制起点箭头,
若箭头位置类型为起始位置或者两端,则绘制起点箭头;若箭头类型为线,则渲染多段线,将多段线的顶点为多段线的法向为/>若箭头类型为实心,则渲染图案填充,图案填充封闭面顶点为/>图案填充法向为/>其中Height箭头表示箭头高度值,/>表示y方向基向量,/>pStart1表示主多段线第1个顶点,
Width箭头表示箭头的宽度值,normal()表示基向量转换函数,pEnd1表示主多段线第2个顶点;
若箭头位置类型为结束位置或者两端,则绘制终点箭头;若箭头类型为线,则渲染多段线,将多段线的顶点为多段线的法向为/>若箭头类型为实心,则渲染图案填充,图案填充封闭面顶点为/>图案填充法向为/>
其中 表示y方向基向量,pStart2表示主多段线最后第1个顶点,/>
pEnd2表示主多段线倒数第2个顶点;
步骤2003-3-2、结合注释内容进行渲染绘制
若上注释内容不为空,则渲染绘制文字图元,图元内容为上注释内容,获取多段线中点,记为将中点到终点方向的第1个顶点记为/>若/>横坐标值大于/>横坐标值,则/>将/>设置为文字图元基点坐标,将设置为文字图元的x方向基向量;
若下注释内容不为空,则渲染绘制文字图元,图元内容为下注释内容,获取多段线中点,记为将中点到终点方向的第1个顶点记为/>若/>横坐标值小于/>横坐标值,则/>将/>设置为文字图元基点坐标,将设置为文字图元的x方向基向量,并结合用户需求进行连接图元渲染绘制;
步骤2003-3-3、循环步骤2003-3-1的分析方法结合用户需求进行曲线图元渲染绘制。
7.根据权利要求3所述的一种思维导图的创建、编辑和渲染方法,其特征在于,所述计算进度图元在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-4-1、基于步骤2003-1-2中的分析结果,获取进度图元中文字信息,将所述文字信息中文字图元的高度值记H1,宽度值记为W1,获取进度图元对应的最小值坐标、最大值坐标以及临时参数,分别记为以及dd进度,
其中
步骤2003-4-2、基于步骤2003-4-1中的分析结果进一步分析进度图元边框宽度值与高度值,分别记为以及/>其中/>若/>则/>的值为W1;若/>则/>的值为边框宽值,所述边框宽为数据库预设值,/>若/>则/>的值为边框高,所述边框高为数据库预设值;
步骤2003-4-3、基于步骤2003-1-2中局部坐标系中,结合进度类型计算最小坐标值与最大坐标值,
若进度类型为矩阵,
则
若进度类型为圆心,
则
若则/>的值为边框宽值;
若进度类型为圆环,
则
若则/>的值为mMinWidth;
若则/>的值为mMinHeigth;
若则/>的值为H1+3·dw;
若则/>的值为minNeiD;
若则/>的值为maxNeiD;
若mMinHeigth>0,则其中/> 表示所述进度图元中文字内容数量;
步骤2003-4-4、基于步骤2003-1-3中的分析结果将进度图形在局部坐标系中基点位置转换至全局坐标系中;
步骤2003-4-5、循环步骤2003-1-7至步骤2003-1-9,并结合用户需求进行进度图元渲染绘制。
8.根据权利要求3所述的一种思维导图的创建、编辑和渲染方法,其特征在于,所述计算矩形框在相应局部坐标系中的渲染元素的方法包含以下步骤:
步骤2003-5-1、循环步骤2003-1-7至步骤2003-1-9,并结合用户需求进行矩形框图元渲染绘制。
9.根据权利要求1所述的一种思维导图的创建、编辑和渲染方法,其特征在于,所述S3中的方法包括以下步骤:
步骤3001、获取当前系统的局部坐标系,若没有局部坐标系则采用图形区所采用的局部坐标系;
步骤3002、基于步骤3001的分析结果设定思维导图图元的x方向向量和y方向向量为局部坐标系的x方向向量和y方向向量;
步骤3003、获取图形区域显示的高度值,记为H系统,所述高度值H系统为数据库预设值,依次计算需要附着图元的显示等级,将第s个图元对应的显示等级记为ns,
其中ns=floor(logkH系统),则第s个图元的图元大小为
步骤3004、循环步骤3003得到各个图元的显示等级,将所述显示等级记录至表格M中,并将所有需要附着的图元转换到局部坐标系中,在局部坐标系中计算相应树图图元的分支端点pts以及附着图元的包围壳,将包围壳最小值点记为点min,最大值点记为点max,结合树图的类型进行附着图元顺序排序;
步骤3005、基于当前构建的局部坐标系,将选择的附着图元和树图图元转换到全局坐标系中,并通过预置缩放系数进行图元大小自主校准,结合当前用户需求进行思维导图图元导出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311853481.6A CN117911586A (zh) | 2023-12-29 | 2023-12-29 | 一种思维导图的创建、编辑和渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311853481.6A CN117911586A (zh) | 2023-12-29 | 2023-12-29 | 一种思维导图的创建、编辑和渲染方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117911586A true CN117911586A (zh) | 2024-04-19 |
Family
ID=90693116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311853481.6A Pending CN117911586A (zh) | 2023-12-29 | 2023-12-29 | 一种思维导图的创建、编辑和渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117911586A (zh) |
-
2023
- 2023-12-29 CN CN202311853481.6A patent/CN117911586A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Stahnke et al. | Probing projections: Interaction techniques for interpreting arrangements and errors of dimensionality reductions | |
WO2020192463A1 (zh) | 一种展示方法及装置 | |
Burch et al. | The state of the art in empirical user evaluation of graph visualizations | |
US5751852A (en) | Image structure map data structure for spatially indexing an imgage | |
US11386589B2 (en) | Method and device for image generation and colorization | |
Wu et al. | ViSizer: a visualization resizing framework | |
CN109849576B (zh) | 一种参考灰度图辅助绘画的方法 | |
US20050234323A1 (en) | Gaze guidance degree calculation system, gaze guidance degree calculation program, storage medium, and gaze guidance degree calculation method | |
Do | Drawing marks, acts, and reacts: Toward a computational sketching interface for architectural design | |
JPH07160827A (ja) | 手書きストローク編集装置及び方法 | |
Demir et al. | Proceduralization for editing 3d architectural models | |
US8543902B2 (en) | Converting a drawing into multiple matrices | |
CN111967533B (zh) | 一种基于场景识别的草图图像翻译方法 | |
CN114863408A (zh) | 文档内容分类方法、系统、装置及计算机可读存储介质 | |
Tu et al. | Balloon focus: a seamless multi-focus+ context method for treemaps | |
CN115861609A (zh) | 遥感图像的分割标注方法、电子设备及存储介质 | |
Song et al. | Vividgraph: Learning to extract and redesign network graphs from visualization images | |
CN105808682A (zh) | 一种关系图展示的方法和装置 | |
Götzelmann et al. | Form Follows Function: Aesthetic Interactive Labels. | |
CN117911586A (zh) | 一种思维导图的创建、编辑和渲染方法 | |
Gross | The fat pencil, the cocktail napkin, and the slide library | |
Trinh et al. | A multi-scale embossed map authoring tool for indoor environments | |
US6430583B1 (en) | Scenario editing apparatus for performing editing of multimedia using figure feature points | |
CN109785434A (zh) | 一种绘制三维立体图形的方法、装置和存储介质 | |
Zhou et al. | Automated generation of graphic sketches by example |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |