一种三维球体绘制方法及系统的制作方法_2

文档序号:9930122阅读:来源:国知局
三维坐标显示图的俯视图;
图6为一级节点与二级节点的三维坐标显示图的主视图;
图7为一级节点与二级节点的三维坐标显示图的俯视图;
图8为一级节点与二级节点及三级节点的三维坐标显示图的主视图;
图9为一级节点与二级节点及三级节点的三维坐标显示图的俯视图;
图10为绘制的三维球体的主视图;
图11为绘制的三维球体的俯视图;
图12为绘制的三维球体的局部放大图。
【具体实施方式】
[0020]为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
[0021]本发明提出了一种三维球体绘制方法,所述方法通过确定一级节点二维坐标,并通过二维与三维坐标的转换公式,进而确定二级节点和三级节点的三维坐标并分别标识所有节点属性,循环遍历每个三级节点,顺次连接每个三级节点与其节点属性中的二级节点与三级节点,即可得到三维球体。本发明还提供了相应的系统结构,通过本发明,能够绘制出美观清晰独特的以六边形为构型基本单元的球体,解决了以往传统网格绘制球体的单一性。
[0022]一种三维球体绘制方法,如图1所示,包括:
5101:确定每个一级节点的二维坐标,具体方法为:
预设总列数值为m,总行数值为n,则当i为偶数时,则第i行j列的坐标为A (i,j)= (_180+j*360/m,-90+i*180/n);当 i 为奇数时,则第 i 行 j 列的坐标为 A (i,j) =(_180+j*360/m+360/(2*m),-90+i*180/n);
具体地,假设m=22,n=ll,则一级节点的二维坐标显示图如图3 ;
5102:通过二维与三维坐标的转换公式,计算出每个一级节点的三维坐标分别为A.X,A.y,A.z ;则一级节点的三维坐标显示图的主视图与俯视图如图4、图5所示。
[0023]S103:确定二级节点的三维坐标,具体方法为:找出三个所需的一级节点,其中,当P为奇数时,三个所需的一级节点为:[A(p, q),A(p,q+1), A(p+l,q+l)],当p为偶数时,三个所需的一级节点为[A(p, q),A(p,q+1), A(p+l,q)];则一级节点与二级节点的三维坐标显示图的主视图与俯视图如图6、图7所示。
[0024]S104:根据找出的三个所需的一级节点的三维坐标计算出二级节点的三维坐标;
5105:确定三级节点的三维坐标,具体方法为:通过对所有已确定的一级节点的三维坐标与二级节点的三维坐标进行计算得到三级节点的三维坐标;则一级节点与二级节点及三级节点的三维坐标显示图的主视图与俯视图如图8、图9所示;
5106:依次标识所有一级节点、二级节点与三级节点的属性;所述节点属性包括:节点所在层级,节点ID,相邻一级节点,相邻二级节点以及相邻三级节点。
[0025]具体地,一级节点属性如下:
{
Level:1, //节点所在层级为第一层级;
ID: 12, //表示第一层级第13个创建的节点(将该层级第一个创建的节点ID设为
O)
AdjoinNodeLevel_l: [O, I, 2,13,23,11], // 表示第一层级内相邻节点 ID AdjoinNodeLevel_2: [O, I, 20, 22, 3, 2], // 表示第二层级内相邻节点 ID AdjoinNodeLevel_3: [O, I, 2,3, 4, 5], // 表示第三层级内相邻节点 ID
}
二级节点属性如下:
{
Level:2, //表示所在层级为第二层级
ID: 3,//表示第一层级第4个创建的节点(将该层级第一个创建的节点ID设为O)AdjoinNodeLevel_l: [2,12,13],// 表示第一层级内相邻节点 ID
}
三级节点属性如下:
{
Level:2, //表示所在层级为第三层级;
ID:0,//表示第一层级第一个创建的节点(将该层级第一个创建的节点ID设为O)AdjoinNodeLevel_l: [O, I, 12],// 表示第一层级内相邻节点 ID AdjoinNodeLevel_2: [0], //表示第二层级内相邻节点ID AdjoinNodeLevel_l: [I, 5], //表示第三层级内相邻节点ID
}
S107:循环遍历每个三级节点,顺次连接每个三级节点与其节点属性中的二级节点与三级节点,即可得到三维球体。绘制的三维球体的主视图、俯视图与局部放大图分为如图
10、图11、图12所示。
[0026]进一步地,根据找出的三个所需的一级节点的三维坐标计算出二级节点的三维坐标,计算公式为:
二级节点 X 轴坐标:Β.χ= (A(p,q).χ+ A(p,q+1).x+ A(p+1,q+1).x)/3;
二级节点 Y 轴坐标:Β.y= (A(ρ, q).y+ Α(ρ,q+1).y+ Α(ρ+1,q+1).y)/3;
二级节点 Z 轴坐标:Β.z= (A(p, q).z+ A(p,q+1).z+ A(p+1,q+1).z)/3。
[0027]进一步地,通过对所有已确定的一级节点的三维坐标与二级节点的三维坐标进行计算的计算公式为:
三级节点 X 坐标:C.χ=Α.χ+ (B.χ-Α.χ) *0.25;
三级节点 Y 坐标:C.y=A.y+ (B.y-A.y) *0.25;
三级节点 Z 坐标:C.z=A.z+(B.z-A.ζ)*0.25。
[0028]一种三维球体绘制系统,如图2所示,包括:
一级节点绘制模块201,用于确定每个一级节点的二维坐标,具体方法为:
预设总列数值为m,总行数值为η,则当i为偶数时,则第i行j列的坐标为A (i,j)= (_180+j*360/m,-90+i*180/n);当 i 为奇数时,则第 i 行 j 列的坐标为 A (i,j) =(_180+j*360/m+360/(2*m),-90+i*180/n);
转换模块202,用于通过二维与三维坐标的转换公式,计算出每个一级节点的三维坐标分别为A.X,A.y, A.z,并依次标识所有一级的节点属性;所述节点属性包括:节点所在层级,节点ID,相邻一级节点,相邻二级节点以及相邻三级节点。
[0029]二级节点绘制模块203,用于确定二级节点的三维坐标,具体方法为:找出三个所需的一级节点,其中,当P为奇数时,三个所需的一级节点为:[A(p, q),A(p,q+l), A(p+1,q+1)],当P为偶数时,三个所需的一级节点为[A(p, q),A(p,q+1), A(p+l,q)];
根据找出的三个所需的一级节点的三维坐标计算出二级节点的三维坐标并依次标识所有二级的节点属性;
三级节点绘制模块204,用于确定三级节点的三维坐标,具体方法为:通过对所有已确定的一级节点的三维坐标与二级节点的三维坐标进行计算得到三级节点的三维坐标并依次标识所有三级的节点属性;
标记模块205,用于依次标识所有一级节点、二级节点与三级节点的属性;所述节点属性包括:节点所在层级,节点ID,相邻一级节点,相邻二级节点以及相邻三级节点。
[0030]连接模块206,用于循环遍历每个三级节点,顺次连接每个三级节点与其节点属性中的二级节点与三级节点,即可得到三维球体。
[0031]进一步地,还包括计算模块一,用于根据找出的三个所需的一级节点的三维坐标计算出二级节点的三维坐标,计算公式为:
二级节点 X 轴坐标:Β.χ= (A(p,q).χ+ A(p,q+1).x+ A(p+1,q+1).x)/3; 二级节点 Y 轴坐标
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1