CN106709982B - 一种基于连续折线形三维管道的绘制方法及系统 - Google Patents

一种基于连续折线形三维管道的绘制方法及系统 Download PDF

Info

Publication number
CN106709982B
CN106709982B CN201610913741.8A CN201610913741A CN106709982B CN 106709982 B CN106709982 B CN 106709982B CN 201610913741 A CN201610913741 A CN 201610913741A CN 106709982 B CN106709982 B CN 106709982B
Authority
CN
China
Prior art keywords
preset
nodes
drawn
node
pipeline
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.)
Active
Application number
CN201610913741.8A
Other languages
English (en)
Other versions
CN106709982A (zh
Inventor
谷雨
王亮
孙晋超
杨祖明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Antiy Technology Group Co Ltd
Original Assignee
Harbin Antian Science And Technology Group Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Antian Science And Technology Group Co ltd filed Critical Harbin Antian Science And Technology Group Co ltd
Priority to CN201610913741.8A priority Critical patent/CN106709982B/zh
Publication of CN106709982A publication Critical patent/CN106709982A/zh
Application granted granted Critical
Publication of CN106709982B publication Critical patent/CN106709982B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Abstract

本发明提出一种基于连续折线形三维管道的绘制方法及系统,通过确定待绘制管道的所有预设节点的三维坐标;分别计算待绘制管道的所有预设节点的左/右补点的三维坐标以及所有预设节点与其左补点及右补点的切线、法线、次法线的单位向量;计算待绘制管道的待绘制节点的三维坐标;基于待绘制节点的三维坐标绘制三维管道。

Description

一种基于连续折线形三维管道的绘制方法及系统
技术领域
本发明涉及三维空间图形绘制领域,尤其涉及一种基于连续折线形三维管道的绘制方法及系统。
背景技术
随着计算机技术的发展,三维管道的创建方法根据实际应用的场景与目的不同,而大量的涌现出来。但现有三维管道的创建方法,多采用样条曲线或贝塞尔曲线作为三维管道的路径,从而进行创建管道的方式。而对于折线形管道的创建,则需要由多个直线形管道进行拼接组合形成,使得在折线弯角处,存在无法闭合的现象。由于以上两种方法,很难满足很多用户的使用,和场景的需求。因此本次发明将对于构建三维连续折线形直管道给出切实可行的创建方法。
发明内容
针对上述现有技术存在的不足和缺陷,本发明提出一种基于连续折线形三维管道的绘制方法及系统,确定待绘制管道的所有预设节点的三维坐标;分别计算待绘制管道的所有预设节点的左/右补点的切线的单位向量及三维坐标;分别计算所有预设节点与其左/右补点法线、次法线的单位向量;基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标;基于待绘制节点的三维坐标绘制三维管道;
具体发明内容包括:
一种基于连续折线形三维管道的绘制方法包括:
确定待绘制管道的所有预设节点的三维坐标;
分别计算待绘制管道的所有预设节点的左/右补点的切线的单位向量及三维坐标,所述计算待绘制管道的所有预设节点的左补点的三维坐标的方法具体为:bosi1={Li*Qi1+posi};所述计算待绘制管道的所有预设节点的右补点的三维坐标的方法具体为:bosi2={Li*Qi2+posi};其中:Li为预设节点i与其左/右补点的距离,Li=R*sin(phi/2);其中R为待绘制管道的半径,phi为左补点的切线与右补点的切线间的夹角;所述phi的计算方法具体为:phi=arcos(Qi1·Qi2),其中Qi1为预设节点i的左补点的切线,Qi2为预设节点i的右补点的切线。其中,Q01,Q02,bos01,bos02是不存在的;
分别计算所有预设节点与其左/右补点法线、次法线的单位向量;
基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标;
基于待绘制节点的三维坐标绘制三维管道;
其中,所述预设节点的三维坐标为posi={posi.x,posi.y,posi.z},其中i为预设节点的标号,posi.x代表预设节点i在X轴上的坐标,,posi.y代表预设节点i在Y轴上的坐标,posi.z代表预设节点i在Z轴上的坐标。其中i属于[0,1,2,……m],m为整数。
进一步地,所述待绘制管道的横截面包括多边形。
进一步地,所述基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标方法为:
基于预设节点计算其周围的待绘制节点的三维坐标为:
Posi.x=posi.x+cx*pnormali.x+cy*pbinormali.x;
Posi.y=posi.y+cx*pnormali.y+cy*pbinormali.y;
Posi.z=posi.z+cx*pnormali.z+cy*pbinormali.z;
其中,pnormali为预设节点i的法线坐标,pbinormali为预设节点i的次法线坐标;
基于左右补点计算其周围的待绘制节点的三维坐标为:
Posi.x=bosi.x+cx*bnormali.x+cy*bbinormali.x;
Posi.y=bosi.y+cx*bnormali.y+cy*bbinormali.y;
Posi.z=bosi.z+cx*bnormali.z+cy*bbinormali.z;
其中,bnormali为补点i的法线坐标,bbinormali为补点i的次法线坐标;
cx=-R*cos(v);cy=R*sin(v);其中,v=2PI*j/n,j表示待绘制管道的第j个绘制节点,n为待绘制管道的多边形的边数。
一种基于连续折线形三维管道的绘制系统,包括:
预设模块,用于确定待绘制管道的所有预设节点的三维坐标;
第一计算模块,用于计算待绘制管道的所有预设节点的左/右补点的切线的单位向量及三维坐标;
第二计算模块,用于计算所有预设节点与其左/右补点法线、次法线的单位向量,所述计算待绘制管道的所有预设节点的左补点的三维坐标的方法具体为:bosi1={Li*Qi1+posi};所述计算待绘制管道的所有预设节点的右补点的三维坐标的方法具体为:bosi2={Li*Qi2+posi};其中:Li为预设节点i与其左/右补点的距离,Li=R*sin(phi/2);其中R为待绘制管道的半径,phi为左补点的切线与右补点的切线间的夹角;所述phi的计算方法具体为:phi=arcos(Qi1·Qi2),其中Qi1为预设节点i的左补点的切线,Qi2为预设节点i的右补点的切线。其中,Q01,Q02,bos01,bos02是不存在的;
第三计算模块,用于基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标;
绘制模块,用于基于待绘制节点的三维坐标绘制三维管道;
所述预设节点的三维坐标为posi={posi.x,posi.y,posi.z},其中i为预设节点的标号,posi.x代表预设节点i在X轴上的坐标,,posi.y代表预设节点i在Y轴上的坐标,posi.z代表预设节点i在Z轴上的坐标。
进一步地,待绘制管道的横截面包括多边形。
进一步地,所述基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标方法为:
基于预设节点计算其周围的待绘制节点的三维坐标为:
Posi.x=posi.x+cx*pnormali.x+cy*pbinormali.x;
Posi.y=posi.y+cx*pnormali.y+cy*pbinormali.y;
Posi.z=posi.z+cx*pnormali.z+cy*pbinormali.z;
其中,pnormali为预设节点i的法线坐标,pbinormali为预设节点i的次法线坐标;
基于左右补点计算其周围的待绘制节点的三维坐标为:
Posi.x=bosi.x+cx*bnormali.x+cy*bbinormali.x;
Posi.y=bosi.y+cx*bnormali.y+cy*bbinormali.y;
Posi.z=bosi.z+cx*bnormali.z+cy*bbinormali.z;
其中,bnormali为补点i的法线坐标,bbinormali为补点i的次法线坐标;
cx=-R*cos(v);cy=R*sin(v);其中,v=2PI*j/n,j表示待绘制管道的第j个绘制节点,n为待绘制管道的多边形的边数。
本发明的有益效果是:
1、首先,能够使管道按照预先设定的路径进行绘制,不会偏离预设路径。解决了现有技术中折线形三维管道在绘制过程中出现的弯折、管道半径大小不一,导致管道膨胀或收缩变形的问题;
2、其次,绘制的三维管道在通过预设节点的折线的拐角连接处能够闭合,不会出现尖角、断节等情况,应用到更多场景,更加真实贴切,达到了良好的视觉效果。
3、最后,该绘制方法绘制的三维管道是通过一次绘制而成,并不是现有技术中将多段管道拼接而成,而绘制过程中,每调用一次WebGL API都会占用CPU的内存影响CPU的效率,每个调用都会使得CPU进行额外的处理和数据复制,而通过本方法提供的数据已经转换成CPU提供的是大批可并行处理的数据,提升了运行CPU的效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于连续折线形三维管道的绘制方法实施例1流程图;
图2为本发明一种于连续折线形三维管道的系统结构图;
图3为本发明绘制的三维管道的效果图的主视图;
图4为本发明绘制的三维管道的效果图的侧视图;
图5为现有技术绘制的三维管道的效果图的主视图;
图6为现有技术绘制的三维管道的效果图的侧视图;
图7为本发明三维管道所有预设节点的示意图;
图8为本发明三维管道所有预设节点的左补点以及右补点的示意图;
图9为本发明基于预设节点Y0计算出的待绘制节点的分布示意图;
图10为本发明三维管道所有待绘制节点的分布示意图;
图11为本发明三维管道预设节点的切线、法线、次法线的向量示意图;
图12为本发明三维管道预设节点的右补点切线、法线、次法线的向量示意图;
图13为本发明基于所有待绘制节点绘制的三维管道效果示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明给出了一种基于连续折线形三维管道的绘制方法实施例1如图1所示,包括:
S101:确定待绘制管道的所有预设节点的三维坐标;
S102:分别计算待绘制管道的所有预设节点的左/右补点的切线的单位向量及三维坐标;若待绘制管道上的预设节点的个数为n,设定此时待绘制管道上的节点总数量为(n-2)*3+2,,其中补点的数量为节点总数量与预设节点之差。待绘制管道上节点的排列顺序为:预设节点Y0,左补点B11(代表预设节点1的左补点),预设节点Y1,右补点B12(预设节点1的右补点),左补点B21(预设节点2的左补点),预设节点Y2,右补点B22(预设节点的右补点)……左补点B(n-1)1(预设节点n-1的左补点),预设节点Yn-1,右补点B(n-1)2(预设节点n-1的右补点),预设节点n;
S103:分别计算所有预设节点与其左补点及右补点的切线、法线、次法线的单位向量;
S104:基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标;
S105:基于待绘制节点的三维坐标绘制三维管道,如图3和4所示。
其中,预设节点的三维坐标为posi={posi.x,posi.y,posi.z},其中i为预设节点的标号,posi.x代表预设节点i在X轴上的坐标,posi.y代表预设节点i在Y轴上的坐标,posi.z代表预设节点Yi在Z轴上的坐标。
优选地,所述计算待绘制管道的所有预设节点的左补点的三维坐标的方法具体为:bosi1={Li*Qi1+posi};所述计算待绘制管道的所有预设节点的右补点的三维坐标的方法具体为:bosi2={Li*Qi2+posi};其中:Li为预设节点i与其左/右补点的距离,Li=R*sin(phi/2);其中R为待绘制管道的半径,phi为左补点的切线与右补点的切线间的夹角;所述phi的计算方法具体为:phi=arcos(Qi1·Qi2),其中Qi1为预设节点i的左补点的切线,Qi2为预设节点i的右补点的切线。其中,Q01,Q02,bos01,bos02是不存在的。
优选地,所述待绘制管道的横截面包括多边形。
优选地,所述基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标方法为:
基于预设节点计算其周围的待绘制节点的三维坐标为:
Posi.x=posi.x+cx*pnormali.x+cy*pbinormali.x;
Posi.y=posi.y+cx*pnormali.y+cy*pbinormali.y;
Posi.z=posi.z+cx*pnormali.z+cy*pbinormali.z;
其中,pnormali为预设节点i的法线坐标,pbinormali为预设节点i的次法线坐标;
基于左右补点计算其周围的待绘制节点的三维坐标为:
Posi.x=bosi.x+cx*bnormali.x+cy*bbinormali.x;
Posi.y=bosi.y+cx*bnormali.y+cy*bbinormali.y;
Posi.z=bosi.z+cx*bnormali.z+cy*bbinormali.z;
其中,bnormali为补点i的法线坐标,bbinormali为补点i的次法线坐标;
cx=-R*cos(v);cy=R*sin(v);其中,v=2PI*j/n,j表示待绘制管道的第j个绘制节点,n为待绘制管道的多边形的边数。
本发明给出了一种基于连续折线形三维管道的绘制方法实施例如下:
S101:确定待绘制管道的所有预设节点的三维坐标;
其中,预设节点可分为首节点,尾节点以及中间预设节点,则待绘制管道的所有预设节点至少为2个,若为2个,则所有预设节点即首尾预设节点。
所述预设节点的三维坐标为posi={posi.x,posi.y,posi.z},其中i为预设节点的标号,posi.x代表预设节点i在X轴上的坐标,,posi.y代表预设节点i在Y轴上的坐标,posi.z代表预设节点i在Z轴上的坐标。其中,i=0,1,2,…..整数。
在此,设定预设节点为5个,分别为预设节点Y0,Y1,Y2,Y3,Y4,如图7所示,则预设节点的三维坐标为
pos0={pos0.x,pos0.y,pos0.z},
pos1={pos1.x,pos1.y,pos1.z},
pos2={pos2.x,pos2.y,pos2.z},
pos3={pos3.x,pos3.y,pos3.z},
pos4={pos4.x,pos4.y,pos4.z},
S102:分别计算待绘制管道的所有预设节点的左/右补点的切线的单位向量及三维坐标;
其中,添加的补点是为了在绘制过程中的夹角为锐角的拐点处,使得转折更加自然,避免由于两个预设节点间的距离过长而使管道变形也避免了绘制管道拐角处出现缝隙或者缺口,影响真实美观性。补点的添加方式是在除了首尾两个预设节点外的所有中间预设中间节点的两侧各添加一个补点,分别为左补点、右补点。
若待绘制管道上的预设节点的个数为5,设定此时带绘制管道上的节点总数量为11,,其中补点的数量为节点总数量与预设节点之差。待绘制管道上节点的排列顺序为:如图8所示,预设节点Y0,左补点B11(预设节点1的左补点),预设节点Y1,右补点B12(预设节点1的右补点),
左补点B21(预设节点2的左补点),预设节点Y2,右补点B22(预设节点的右补点),
左补点B31(预设节点3的左补点),预设节点Y3,右补点B32(预设节点3的右补点),预设节点Y4。
在此,以预设节点Y1及其左补点B11、右补点B12为例:
计算预设节点Y1的左补点B11的切线Q11=pos0-pos1,右补点B12的切线Q12=pos2-pos1。分别求出Q11与Q12单位向量。
计算左补点B11的切线Q11与右补点B12的切线Q12的空间夹角为phi=phi=arcos(Q11·Q12),其中,Q11与Q12的点积值在-1到1之间。
则左补点B11的三维坐标bos11={L1*Q11+pos1};其中:L1代表第1个预设节点与其左补点的距离;Q11代表预设节点Y1的左补点B11的切线;所述L1的计算方法具体为:L1=R/sin(phi/2);其中R为待绘制管道的半径,phi为左补点的切线Q11与右补点的切线Q12间的夹角;所述phi的计算方法具体为:phi=arcos(Q11·Q12)。
同理,可以按照上述方法计算其他预设节点的左补点以及右补点。
S103:分别计算所有预设节点与其左/右补点法线、次法线的单位向量;
以预设节点Y1为例:
首先计算预设节点Y0与预设节点Y1之间的距离S01,预设节点Y1与预设节点Y2之间的距离S12,若S12<S01,则在预设节点Y0与预设节点Y1间的线段截取点C使得S1c=S12,则预设节点Y1的切线Q1为pos2-posc的方向向量,并对该切线进行归一化。若S12>S01,在预设节点Y1与预设节点Y2间的线段截取点C使得S1c=S01,则预设节点1的切线Q1为pos2-posc的方向向量,并对该切线进行归一化。若S12=S01,则预设节点1的切线Q1为pos2-pos0的方向向量,并对该切线进行归一化。
预设节点0的切线Q0为pos1-pos0的方向向量,并对该切线进行归一化。
预设节点i的切线Qi为posi-posi-1的方向向量,并对该切线进行归一化。
在此,预设节点个数为5,分别为预设节点Y0、预设节点Y1、预设节点Y2、预设节点Y3、预设节点Y4,则预设节点Y4的切线Q4为pos4-pos3的方向向量,并对该切线进行归一化。
接下来,计算预设节点的法线与次法线;
以预设节点Y0为例:
求取预设节点Y0的归一化后的切线在x,y,z轴上的最小值,使单位向量(1,0,0)或(0,1,0)或(0,0,1)设为临时法线temNormal;即当预设节点0的单位切线在x轴方向的绝对值最小则将向量(1,0,0)作为预设节点0的临时法线normal_tem。
通过对预设节点Y0的切线Q0与其临时法线temNormal进行叉积计算,得出其临时次法线temBinormal:temBinormal=Q0*temNormal。并对其进行归一化
计算预设节点Y0的法线值为:normals0=Q0*temBinormal;
计算预设节点Y0的次法线值为:binormals0=Q0*normal0
图11为预设节点的切线、法线以及次法线的示意图。
其余预设节点的法线计算方法为:
A.计算两个相邻预设节点的切线叉积的值的单位向量vec。
B.计算两个相邻预设节点的切线间的夹角theta=acos(Qi-1,Qi);
C.获取预设节点Yi的旋转轴矩阵,通过单位向量vec与夹角theta得旋转轴矩阵
tx*x+c,tx*y-s*z,tx*z+s*y,0
tx*y+s*z,ty*y+c,ty*z-s*x,0
tx*z-s*y,ty*z+s*x,t*z*z+c,0
0 ,0 ,0 ,1
其中c=cos(theta),s=sin(theta),t=1-c,x=vec.x,y=vec.y,z=vec.z,tx=t*x,ty=t*y。使用预设节点Y(i-1)的单位法线乘以旋转轴矩阵得到预设节点Yi的法线,并进行归一化;
通过预设节点Yi的切线与其法线的叉积计算得出预设节点Yi的次法线单位向量:具体如下:
预设节点的次法线单位向量:binormalsi=Qi*normalsi
左补点的次法线单位向量:binormals(i-1)1=Qi1*normals(i-1)1
左补点的次法线单位向量:binormalsi2=Qi2*normalsi2
左补点Bi1,右补点Bi2的切线即为预设节点Yi与预设节点Y(i-1)的向量做差的结果的归一化。
左补点Bi1,右补点Bi2的法线与其次法线的计算方法与预设节点相同,再次不再赘述。
S104:所述基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标方法为:基于预设节点计算其周围的待绘制节点的三维坐标为:
Posi.x=posi.x+cx*pnormali.x+cy*pbinormali.x;
Posi.y=posi.y+cx*pnormali.y+cy*pbinormali.y;
Posi.z=posi.z+cx*pnormali.z+cy*pbinormali.z;
其中,pnormali为预设节点i的法线坐标,pbinormali为预设节点i的次法线坐标;
基于左右补点计算其周围的带绘制节点的三维坐标为:
Posi.x=bosi.x+cx*bnormali.x+cy*bbinormali.x;
Posi.y=bosi.y+cx*bnormali.y+cy*bbinormali.y;
Posi.z=bosi.z+cx*bnormali.z+cy*bbinormali.z;
其中,bnormali为补点i的法线坐标,bbinormali为补点i的次法线坐标;
cx=-R*cos(v);cy=R*sin(v);其中,v=2PI*j/n,j表示待绘制管道的第j个绘制节点,n为待绘制管道的多边形的边数。
优选地,所述待绘制管道的横截面包括多边形。
假设:绘制的管道为四边形;
则n=4;当j=1时则v=90°;j=2时则v=180°;j=3时则v=270°;j=4时则v=360°,如图9所示,为本发明基于预设节点Y0计算出的待绘制节点的分布示意图,以此类推,全部的绘制节点效果图如图10所示。
S105:基于待绘制节点的三维坐标绘制三维管道,如图13所示。
本发明还给出了一种基于连续折线形三维管道的系统实施例,如图2所示,包括:
预设模块,用于确定待绘制管道的所有预设节点的三维坐标;
第一计算模块,用于计算待绘制管道的所有预设节点的左/右补点的切线的单位向量及三维坐标;
第二计算模块,用于计算所有预设节点与其左/右补点法线、次法线的单位向量;
第三计算模块,用于基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标;绘制模块,用于基于待绘制节点的三维坐标绘制三维管道;
本说明书中方法的实施例采用递进的方式描述,对于系统的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本发明提出一种基于连续折现形三维管道的方法及系统,根据预设路径上的预设节点的三维坐标,选定每个预设节点的左补点以及右补点,通过求切线、法线以及次法线来计算出绘三维管道的绘制节点。通过本发明,不仅能够使管道按照预先设定的路径进行绘制,不会偏离预设路径。解决了现有技术中折线形三维管道在绘制过程中出现的弯折、管道半径大小不一,导致管道膨胀或收缩变形的问题;而且绘制的三维管道在通过预设节点的折线的拐角连接处能够闭合,不会出现尖角、断节等情况,应用到更多的场景,更加真实贴切,达到了良好的视觉效果。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

Claims (6)

1.一种基于连续折线形三维管道的绘制方法,其特征在于,包括:
确定待绘制管道的所有预设节点的三维坐标;
分别计算待绘制管道的所有预设节点的左/右补点的切线的单位向量及三维坐标,所述计算待绘制管道的所有预设节点的左补点的三维坐标的方法具体为:bosi1={Li*Qi1+posi};所述计算待绘制管道的所有预设节点的右补点的三维坐标的方法具体为:bosi2={Li*Qi2+posi};其中:Li为预设节点i与其左/右补点的距离,Li=R*sin(phi/2);其中R为待绘制管道的半径,phi为左补点的切线与右补点的切线间的夹角;所述phi的计算方法具体为:phi=arcos(Qi1·Qi2),其中Qi1为预设节点i的左补点的切线,Qi2为预设节点i的右补点的切线;其中,Q01,Q02,bos01,bos02是不存在的;
分别计算所有预设节点与其左/右补点法线、次法线的单位向量;
基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标;
基于待绘制节点的三维坐标绘制三维管道;
其中,所述预设节点的三维坐标为posi={posi.x,posi.y,posi.z},其中i为预设节点的标号,posi.x代表预设节点i在X轴上的坐标,posi.y代表预设节点i在Y轴上的坐标,posi.z代表预设节点i在Z轴上的坐标, 其中i属于[0,1,2,……m],m为整数。
2.如权利要求1所述的方法,其特征在于,所述待绘制管道的横截面包括多边形。
3.如权利要求1所述的方法,其特征在于,所述基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标方法为:
基于预设节点计算其周围的待绘制节点的三维坐标为:
Posi.x=posi.x+cx*pnormali.x+cy*pbinormali.x;
Posi.y=posi.y+cx*pnormali.y+cy*pbinormali.y;
Posi.z=posi.z+cx*pnormali.z+cy*pbinormali.z;
其中,pnormali为预设节点i的法线坐标,pbinormali为预设节点i的次法线坐标;
基于左右补点计算其周围的待绘制节点的三维坐标为:
Posi.x=bosi.x+cx*bnormali.x+cy*bbinormali.x;
Posi.y=bosi.y+cx*bnormali.y+cy*bbinormali.y;
Posi.z=bosi.z+cx*bnormali.z+cy*bbinormali.z;
其中,bnormali为补点i的法线坐标,bbinormali为补点i的次法线坐标;
cx=-R*cos(v);cy=R*sin(v);其中,v=2PI*j/n,j表示待绘制管道的第j个绘制节点,n为待绘制管道的多边形的边数。
4.一种基于连续折线形三维管道的绘制系统,其特征在于,包括:
预设模块,用于确定待绘制管道的所有预设节点的三维坐标;
第一计算模块,用于计算待绘制管道的所有预设节点的左/右补点的切线的单位向量及三维坐标;
第二计算模块,用于计算所有预设节点与其左/右补点法线、次法线的单位向量;
第三计算模块,用于基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标,所述计算待绘制管道的所有预设节点的左补点的三维坐标的方法具体为:bosi1={Li*Qi1+posi};所述计算待绘制管道的所有预设节点的右补点的三维坐标的方法具体为:bosi2={Li*Qi2+posi};其中:Li为预设节点i与其左/右补点的距离,Li=R*sin(phi/2);其中R为待绘制管道的半径,phi为左补点的切线与右补点的切线间的夹角;所述phi的计算方法具体为:phi=arcos(Qi1·Qi2),其中Qi1为预设节点i的左补点的切线,Qi2为预设节点i的右补点的切线;其中,Q01,Q02,bos01,bos02是不存在的;
绘制模块,用于基于待绘制节点的三维坐标绘制三维管道;
所述预设节点的三维坐标为posi={posi.x,posi.y,posi.z},其中i为预设节点的标号,posi.x代表预设节点i在X轴上的坐标,posi.y代表预设节点i在Y轴上的坐标,posi.z代表预设节点i在Z轴上的坐标。
5.如权利要求4所述的系统,其特征在于,所述待绘制管道的横截面包括多边形。
6.如权利要求4所述的系统,其特征在于,所述计算待绘制管道的绘制节点的三维坐标的方法为:
所述基于预设节点或其左/右补点计算其周围的待绘制节点的三维坐标方法为:
基于预设节点计算其周围的待绘制节点的三维坐标为:
Posi.x=posi.x+cx*pnormali.x+cy*pbinormali.x;
Posi.y=posi.y+cx*pnormali.y+cy*pbinormali.y;
Posi.z=posi.z+cx*pnormali.z+cy*pbinormali.z;
其中,pnormali为预设节点i的法线坐标,pbinormali为预设节点i的次法线坐标;
基于左右补点计算其周围的待绘制节点的三维坐标为:
Posi.x=bosi.x+cx*bnormali.x+cy*bbinormali.x;
Posi.y=bosi.y+cx*bnormali.y+cy*bbinormali.y;
Posi.z=bosi.z+cx*bnormali.z+cy*bbinormali.z;
其中,bnormali为补点i的法线坐标,bbinormali为补点i的次法线坐标;
cx=-R*cos(v);cy=R*sin(v);其中,v=2PI*j/n,j表示待绘制管道的第j个绘制节点,n为待绘制管道的多边形的边数。
CN201610913741.8A 2016-10-20 2016-10-20 一种基于连续折线形三维管道的绘制方法及系统 Active CN106709982B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610913741.8A CN106709982B (zh) 2016-10-20 2016-10-20 一种基于连续折线形三维管道的绘制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610913741.8A CN106709982B (zh) 2016-10-20 2016-10-20 一种基于连续折线形三维管道的绘制方法及系统

Publications (2)

Publication Number Publication Date
CN106709982A CN106709982A (zh) 2017-05-24
CN106709982B true CN106709982B (zh) 2020-03-17

Family

ID=58940434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610913741.8A Active CN106709982B (zh) 2016-10-20 2016-10-20 一种基于连续折线形三维管道的绘制方法及系统

Country Status (1)

Country Link
CN (1) CN106709982B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073775B (zh) * 2017-12-29 2021-05-25 武汉智博创享科技股份有限公司 一种绘制弯头及管网连通设备的方法及绘制装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102859556A (zh) * 2009-12-30 2013-01-02 意大利电信股份公司 矢量图形形状的限界框的计算方法
CN105676800A (zh) * 2014-11-20 2016-06-15 中国科学院沈阳计算技术研究所有限公司 一种用于动态模拟工业管线控制关系的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8436854B2 (en) * 2009-05-29 2013-05-07 Qualcomm Incorporated Graphics processing unit with deferred vertex shading
KR102104057B1 (ko) * 2013-07-09 2020-04-23 삼성전자 주식회사 점별로 테셀레이션 팩터를 할당하는 방법과 상기 방법을 수행할 수 있는 장치들

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102859556A (zh) * 2009-12-30 2013-01-02 意大利电信股份公司 矢量图形形状的限界框的计算方法
CN105676800A (zh) * 2014-11-20 2016-06-15 中国科学院沈阳计算技术研究所有限公司 一种用于动态模拟工业管线控制关系的方法

Also Published As

Publication number Publication date
CN106709982A (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
Pottmann et al. The focal geometry of circular and conical meshes
CN106649817B (zh) 地理信息系统三维管模型构建放样方法及装置
WO2016206343A1 (zh) 一种非对称船型的光顺方法
US20090213119A1 (en) Remeshing method and apparatus for restoring sharp features of mesh made smooth enough
CN106709982B (zh) 一种基于连续折线形三维管道的绘制方法及系统
CN112231844A (zh) 零件模型的曲面离散方法、装置、设备及存储介质
US20200193704A1 (en) A screen tile pair-based binocular rendering pipeline process and method
Li et al. G1 continuity of four pieces of developable surfaces with Bézier boundaries
Ginnis et al. A CATIA® ship-parametric model for isogeometric hull optimization with respect to wave resistance
EP1846833A1 (en) Apparatus and method for determining intersections
CN112052641B (zh) 大规模集成电路版图非结构网格偏心中点生成方法和系统
Malsch et al. Algebraic construction of smooth interpolants on polygonal domains
WO2013116859A1 (en) Computer process for determining best-fitting materials for constructing architectural surfaces
Jia et al. Computing self-intersection curves of rational ruled surfaces
Rand et al. Collars and intestines: Practical conforming Delaunay refinement
Ba et al. Research on 3D medial axis transform via the saddle point programming method
Zhang et al. Extracting skeletons of two-manifold triangular mesh surface for planning skeleton-guided five-axis surface inspection path
CN111597648A (zh) 一种航空发动机机匣弧面管路的参数化建模方法
KR20160115284A (ko) 3차원 형상의 처리방법
Lin Parallel Computing for Gray Image Matching System
Wang et al. T-spline surface smoothing based on 1-ring neighborhood space angle
CN116167171B (zh) 前体设计方法、装置、计算机设备、存储介质和程序产品
El-Ahmady et al. On Null Curves in Minkowski 3-Space and Its Fractal Folding
Ngo et al. Mathematical simulation for compensation capacities area of pipeline routes in ship systems
JP2002183227A (ja) 点群データから直接に自由曲面を創成する方法および装置

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 150028 Building 7, Innovation Plaza, Science and Technology Innovation City, Harbin Hi-tech Industrial Development Zone, Heilongjiang Province (838 Shikun Road)

Applicant after: Harbin antiy Technology Group Limited by Share Ltd

Address before: 506 room 162, Hongqi Avenue, Nangang District, Harbin Development Zone, Heilongjiang, 150090

Applicant before: Harbin Antiy Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Heilongjiang Province (No. 838, Shikun Road)

Patentee after: Antan Technology Group Co.,Ltd.

Address before: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Heilongjiang Province (No. 838, Shikun Road)

Patentee before: Harbin Antian Science and Technology Group Co.,Ltd.