CN107871333B - 线描画方法及装置、计算机设备及计算机存储介质 - Google Patents
线描画方法及装置、计算机设备及计算机存储介质 Download PDFInfo
- Publication number
- CN107871333B CN107871333B CN201711242998.6A CN201711242998A CN107871333B CN 107871333 B CN107871333 B CN 107871333B CN 201711242998 A CN201711242998 A CN 201711242998A CN 107871333 B CN107871333 B CN 107871333B
- Authority
- CN
- China
- Prior art keywords
- line
- drawn
- lines
- projection
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Abstract
一种线描画方法及装置、计算机设备及计算机存储介质,通过将任意两个待画线条分别对应的一个端点投影到预设投影面,以及将其他待画线条分别对应的两个端点分别投影到预设投影面,再根据各待画线条的端点以及各投影点进行线描画,确定一条初始描画线,然后,通过去除初始描画线在预设投影面上的线段,并将初始描画线中与各投影点连接的线段投影到各待画线条所在平面中待画线条对应描画线上,即可获得各待画线条分别对应的描画线。如此,根据各待画线条的端点以及各投影点,可一次描画完成得到包括待画线条的描画线的初始描画线,再通过去除多余的线条即可,无需分次进行串行描画,即可实现互相不相接的各待画线条的并行描画,提高了描画效率。
Description
技术领域
本发明涉及计算机信息处理技术领域,特别涉及一种线描画方法及装置、计算机设备及计算机存储介质。
背景技术
线描画指用线条的变化来描绘对象及其形体结构的绘画方式,通过计算机设备的图像处理器(GPU)进行线描画时,首先需要获知各线条端点的位置坐标信息,然后根据位置坐标信息连接成线,从而实现线描画。
目前,在对不相接的线条进行线描画时,需要分别将不相接的各线条的首末端点以及折点的位置坐标信息传递给GPU,然后对不相接的各线条依次进行描画,即各线条的位置坐标信息需要依次按照顺序传递,然后依次作画。GPU是串行处理的,从而导致线描画的效率低。
发明内容
基于此,有必要针对现有线描画方法效率低的问题,提出一种线描画方法及装置、计算机设备及计算机存储介质。
一种线描画方法,包括:
获取相互不相接的各待画线条分别对应的端点的位置坐标信息;
获取各所述待画线条中任意两个待画线条分别对应的一个端点在预设投影面的投影点,以及其他待画线条的两个端点在所述预设投影面的投影点;其中,所述其他待画线条为各所述待画线条中除所述任意两个待画线条以外的线条;
根据各所述待画线条的端点以及各投影点进行线描画,确定一条初始描画线;其中,所述初始描画线包括所述待画线条对应的描画线;
去除所述初始描画线在所述预设投影面上的线段,并将所述初始描画线中与各所述投影点连接的线段投影到描画平面中所述待画线条对应描画线上,获得各所述待画线条分别对应的描画线,其中,所述描画平面为各所述待画线条对应的描画线所在平面。
一种线描画装置,包括:
坐标信息获取模块,用于获取相互不相接的各待画线条分别对应的端点的位置坐标信息;
投影点获取模块,用于获取各所述待画线条中任意两个待画线条分别对应的一个端点在预设投影面的投影点,以及其他待画线条的两个端点在所述预设投影面的投影点;其中,所述其他待画线条为各所述待画线条中除所述任意两个待画线条以外的线条;
描画模块,用于根据各所述待画线条的端点以及各投影点进行线描画,确定一条初始描画线;其中,所述初始描画线包括所述待画线条对应的描画线;
描画线获取模块,用于去除所述初始描画线在所述预设投影面上的线段,并将所述初始描画线中与各所述投影点连接的线段投影到描画平面中所述待画线条对应描画线上,获得各所述待画线条分别对应的描画线,其中,所述描画平面为各所述待画线条对应的描画线所在平面。
一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时可用于执行上述方法的步骤。
一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可用于执行上述方法的步骤。
上述线描画方法及装置、计算机设备及计算机存储介质,通过将任意两个待画线条分别对应的一个端点投影到预设投影面,以及将其他待画线条分别对应的两个端点分别投影到预设投影面,再根据各待画线条的端点以及各投影点进行线描画,确定一条初始描画线,然后,通过去除初始描画线在预设投影面上的线段,并将初始描画线中与各投影点连接的线段投影到各待画线条所在平面中待画线条对应描画线上,即可获得各待画线条分别对应的描画线。如此,根据各待画线条的端点以及各投影点,可一次描画完成得到包括待画线条的描画线的初始描画线,再通过去除多余的线条即可,无需分次进行串行描画,即可实现互相不相接的各待画线条的并行描画,提高了描画效率。
附图说明
图1为一个实施例的线描画方法的流程示意图;
图2为另一个实施例的线描画方法中根据线条的各端点以及各投影点进行线描画的流程示意图;
图3为另一个实施例的线描画方法中根据线条的各端点以及各投影点进行线描画的流程示意图;
图4为一具体实施例中通过线描画方法进行描画的原理图;
图5为另一具体实施例中通过线描画方法进行描画的原理图;
图6为一个实施例的线描画装置的模块示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
如图1所示,提供一种实施例的线描画方法,包括:
S110:获取相互不相接的各待画线条分别对应的各端点的位置坐标信息。
各端点包括首端(起点)和末端(终点),在对线条进行描画时,首先需获知对应的各端点的位置坐标信息,根据待画线条的各端点的位置坐标信息进行连线,可实现该待画线条的线描画。例如,待画线条A1对应的首端a1的位置坐标信息为(1,1),对应的末端a2的位置坐标信息为(2,2),在后续进行描画时,将待画线条A1对应两个端点连接即可实现线描画,得到待画线条A1对应的描画线。
在进行线描画的过程中,可以描画多个待画线条,然而,多个待画线条中难免会出现不相接的待画线条,为避免对不相接的各待画线条进行串行描画导致描画效率低的问题,在本实施例中,主要针对不相接的各待画线条采用一次性描画方式(即并列描画方式)进行描画,以提高描画效率,则首先需要获取相互不相接的各待画线条分别对应的各端点的位置坐标信息,为后续执行并行描画提供数据基础。
S120:获取各待画线条中任意两个待画线条分别对应的一个端点在预设投影面的投影点,以及其他待画线条的两个端点在预设投影面的投影点。
其中,其他待画线条为各待画线条中除任意两个待画线条以外的线条。
在对端点进行投影前,预先创建了预设投影面,以便对端点投影。在获的各待画线条分别对应的各端点的位置坐标信息后,从各待画线条中选择任意两个待画线条作为后续描画时的首末线条,即任意两个待画线条中的其中一个线条为首线条时,另一个线条为末线条,任意两个待画线条中的其中一个线条为末线条时,另一个线条为首线条。需要将任意两个待画线条分别对应的一个端点分别投影到预设投影面得到对应的投影点,即首线条和末线条分别可以只需将一个端点投影到预设投影面。另外,其他待画线条作为描画在任意两个待画线条之间的线条,为使后续将各端点以及各投影点连线呈一条描画线,需要将其对应的两个端点分别投影到预设投影面获得对应的投影点。其中,任意两个待画线条分别对应的一个端点可以是首端,也可以是末端。
互相不相接的各待画线条的数量可以大于2或等于2,在数量大于2时,上述其他待画线条的数据为各待画线条的数量减去2,在数量等于2时,则表示上述任意两个待画线条即为互相不相接的各待画线条,此时,其他待画线条的数量为零,即没有其他待画线条,对应地,上述其他待画线条的两个端点在预设投影面的投影点为零。
S130:根据各待画线条的端点以及各投影点进行线描画,确定一条初始描画线。
其中,初始描画线包括待画线条对应的描画线。
上述各投影点包括任意两个待画线条分别对应的一个端点在预设投影面的投影点以及其他待画线条的两个端点在预设投影面的投影点。即在获知各待画线条的各端点以及各投影点之后,即可进行一次性线描画得到一条初始描画线,也就是根据各端点和各投影点进行一次性点连线,获得一条初始描画线,即各端点和各投影点在一条初始描画线上,可避免先进行一条待画线条的描画,再获取下一条待画线条的端点进行下一条待画线条的描画导致描画效率低的问题。
S140:去除初始描画线在预设投影面上的线段,并将初始描画线中与各投影点连接的线段投影到描画平面中待画线条对应描画线上,获得各待画线条分别对应的描画线。
其中,描画平面为各待画线条对应的描画线所在平面。即在根据各待画线条的端点以及各投影点进行线描画,可确定一条初始描画线,且初始描画线包括待画线条对应的描画线,即描画得到初始描画线后,待画线条对应的描画线也已完成描画,则对应的描画线所在平面及为描画平面。可以理解,描画平面为描画各待画线条所需的平面,上述各端点的坐标位置信息即为各端点在描画平面上的坐标位置信息。
得到的一条初始描画线中包括在预设投影面上各投影点连接的线段,然而,所需的是各待画线条对应的描画线,从而需要将初始描画线在预设投影面上的线段去除,即去除各投影点之间的连线,并且将各投影点分别与对应端点之间的线段投影到描画平面中待画线条对应的描画线上,可以是将初始描画线中与投影点连接的线段投影到描画平面中待画线条对应的描画线上与该投影点连接的端点上。
上述线描画方法,通过将任意两个待画线条分别对应的一个端点投影到预设投影面,以及将其他待画线条分别对应的两个端点分别投影到预设投影面,再根据各待画线条的端点以及各投影点进行线描画,确定一条初始描画线,然后,通过去除初始描画线在预设投影面上的线段,并将初始描画线中与各投影点连接的线段投影到各待画线条所在平面中待画线条对应描画线上,即可获得各待画线条分别对应的描画线。如此,根据各待画线条的端点以及各投影点,可一次描画完成得到包括待画线条的描画线的初始描画线,再通过去除多余的线条即可,无需分次进行串行描画,即可实现互相不相接的各待画线条的并行描画,提高了描画效率。
在其中一个实施例中,去除初始描画线在预设投影面上的线段,包括:创建处于描画平面与预设投影面之间的剪切面;将初始描画线中处于剪切面上的点以及处于剪切面远离描画平面一侧的线段去除。
将初始描画线中与各投影点连接的线段投影到描画平面中待画线条对应描画线上,包括:将初始描画线中与各投影点连接的线段对应的未去除的线段投影到描画平面所在平面中待画线条对应描画线上。
通过剪切面进行线段的去除,则首先创建一个剪切面,且处于描画平面与预设投影面之间,如此,可将初始描画线中处于剪切面上的点以及处于剪切面远离描画平面一侧的线段去除,由于在预设投影面上的线段是属于剪切面远离描画平面一侧的线段,从而可实现在预设投影面上的线段的去除,另外,与投影点连接的线段中部分线段(投影点到剪切面的线段)属于剪切面远离描画平面一侧的线段,从而也可一并去除,将初始描画线中与各投影点连接的线段对应的未去除的线段投影到描画平面所在平面中待画线条对应描画线上,如此,与各投影点连接的线段对应的未去除的线段在描画平面上呈现为与待描画线对应的描画线重合,实现将初始描画中除待画线条对应描画线以外的描画线去除。
在其中一个实施例中,预设投影面、剪切面以及描画平面相互平行。
如此,上述投影为正投影,各投影点分别与对应的端点连接的线段分别垂直预设投影面、剪切面以及描画平面,则初始描画线中各投影点分别与对应的端点连接的线段投影到描画平面上时呈现为点的形式,具体是投影到描画平面上与投影点对应的端点上。
在其中一个实施例中,根据线条的各端点以及各投影点进行线描画,包括:
依照以下顺序进行线描画:任意两个待画线条中的当前线条、当前线条对应描画在后的端点与其对应的投影点之间的线条、第一投影点与第二投影点之间的线条、第二投影点与其他待画线条中未描画过的一个线条的一个端点之间的线条。其中,第一投影点为当前线条的描画在后的端点对应的投影点,第二投影点为一个线条的一个端点对应的投影点;
将一个线条作为当前线条,且一个线条的一个端点作为描画时描画在前的端点,根据上述顺序进行描画,直到各其他待画线条描画完毕,描画任意两个待画线条中的另一个线条。
通过上述描画任意两个待画线条中的当前线条、描画当前线条对应描画在后的端点与其对应的投影点之间的线条、描画第一投影点与第二投影点之间的线条、描画第二投影点与其他待画线条中未描画过的一个线条的一个端点之间的线条的顺序描画过程,即可实现将各待画线条通过一次性描画过程实现线描画,提高描画效率。在一个示例中,在各待画线条的数量为2时,表示没有其他待画线条,此时,第二投影点为任意两个待画线条中另一个线条的一个端点对应的投影点,第二投影点与其他待画线条中未描画过的一个线条的一个端点之间的线条即为第二投影点与任意两条待画线条种另一个线条的一个端点之间的线条。
在本实施例中,如图2所示,以各待画线条的数量大于2为例,上述根据线条的各端点以及各投影点进行线描画,包括:
S231:从各待画线条中任意选择两个待画线条,获得任意两个待画线条,并从任意两个待画线条中任意选择一条作为当前线条;
S232:描画任意两个待画线条中的当前线条;
S233:描画当前线条对应描画在后的端点与其对应的投影点之间的线条;
S234:描画第一投影点与第二投影点之间的线条;
S235:描画第二投影点与其他待画线条中未描画过的一个线条的一个端点之间的线条;
S236:判断其他线条中是否有未描画过的线条;
若是,则执行以下步骤:
S237:将其他待画线条中未描画过的一个线条作为当前线条,且一个线条的一个端点作为描画时描画在前的端点;并返回描画两个待画线条中的当前线条的步骤S232继续描画;
若否,则执行以下步骤:
S238:描画任意两个待画线条中的另一个线条。
由于包含其他线条,在进行描画过程中,首先描画任意两个待画线条中的当前线条,然后依次按照上述S232-S237的步骤执行,直到各其他线条描画完毕时,再描画任意两个待画线条中的另一个线条,得到一条初始描画线。
在各待画线条的数量为2时,上述步骤S235具体为描画第二投影点与任意两个待画线条中另一个线条的一个端点之间的线条,此时,其他线条中没有未描画过的线条,即步骤S236的判断结果为否,则执行步骤S238,将任意两个待画线条中的另一个线条描画完成,实现任意两条待画线条的描画(即实现各待画线条的描画)。
在其中一个实施例中,依照以下顺序进行线描画之前,包括:对各待画线条进行排序,获得排序后的待画线条。其中,任意两个待画线条的其中一个线条排列在首,另一个线条排列在末。
依照以下顺序进行线描画包括:排序后的待画线条中的首待画线条、首待画线条对应描画在后的端点与其对应的投影点之间的线条、第一投影点和第二投影点之间的线条、第二投影点和首待画线相邻的线条的一个端点之间的线条。其中,第一投影点为首待画线条的描画在后的端点对应的投影点,第二投影点为与首待画线条相邻的线条的一个端点对应的投影点;
将首待画线相邻的线条作为首待画线条,且首待画线条相邻的线条的一个端点作为描画时描画在前的端点,根据上述顺序进行线描画,直到各其他待画线条描画分别描画完毕,描画任意两个待画线条中的另一个线条。
由于在描画之前,对各待画线条进行排序,得到排序后的待画线条,则在进行描画时,根据排序后的顺序进行描画即可,减少判断线条是否描画过的过程,进一步提高描画效率,且可使待画线条有序描画,避免混乱出错。
在本实施例中,如图3所示,以各待画线条的数量大于2为例,排序后的待画线条中的首待画线条即为上述任意两个待画线条中的其中一个线条。上述根据线条的各端点以及各投影点进行线描画,包括:
S331:对各待画线条进行排序,获得排序后的待画线条;
S332:描画排序后的待画线条中的首待画线条;
S333:描画首待画线条对应描画在后的端点与其对应的投影点之间的线条;
S334:描画第一投影点和第二投影点之间的线条;
S335:第二投影点和首待画线相邻的线条的一个端点之间的线条;
S336:判断各待画线条中是否有未描画过的线条;
若是,则执行以下步骤:
S337:将首待画线相邻的线条作为首待画线条,且首待画线条相邻的线条的一个端点作为描画时描画在前的端点;并返回描画排序后的待画线条中的首待画线条的步骤S332继续描画。
若各待画线条均已描画完毕,则描画结束,然后在执行后续的去除步骤,直到获得待画线条对应的描画线。
在其中一个实施例中,上述待画线条可以是直线,也可以是折线(端点之间有折点)。在待画线条为折线时,对待画线条进行描画时,还需获取端点之间的折点,根据端点以及折点对待画线条进行描画,然后在描画待画线条对应描画在后的端点与其对应的投影点之间的线条。
下面以一具体实施例对上述线描画方法的过程加以具体说明,如图4所示,以各待画线条的数量等于2,各待画线条包括A点与B点之间的线条以及C点和D点之间的线条,以及将各待画线条绘制在描画平面上且描画平面为由相互垂直的X轴和Y轴组成的平面(可以理解为由相互垂直的X轴、Y轴和Z轴组成的空间中Z=0的平面)为例,其中,描画平面为A点、B点、C点和D点共享的平面。
首先,创建一个预设投影面(在本实施例中,预设投影面为Z=-2的平面),将B点投影到预设投影面上得到对应的投影点b,将C点投影到预设投影面得到对应的投影点c。
然后,根据A点、B点、投影点b、投影点c、C点以及D点、进行一次性描画线,具体地,依次描画A点与B点之间的线条、描画B点与投影点b之间的线条、描画投影点b与投影点c之间的线条、描画投影点c与C点之间的线条以及描画C点与D点之间的线条,如此,实现在3D空间中绘制出了一条由5条线段组成的一条初始描画线。
其次,创建一个处于描画平面与预设投影平面之间的剪切面(在本实施例中,剪切面为Z=-1的平面),描画平面、预设投影平面以及剪切面相互平行,将预设投影平面上的线段bc去除,并将与投影点b连接的线段中处在剪切面上的点b1以及与投影点c连接的线段中处在剪切面上的点c1去除,且将与投影点b连接的线段中位于剪切面远离描画平面一侧的线段以及与投影点c连接的线段中位于剪切面远离描画平面一侧的线段去除(即去除线段bb1和线段cc1),从而得到各待画线条对应描画线AB和CD,实现对互不相接的待画线条的描画。
如图5所示,以各待画线条的数量等于4,各待画线条包括A点与B点之间的线条、C点和D点之间的线条、E点和F点之间的线条以及G点和H点之间的线条,以及将各待画线条绘制在描画平面上为例,其中,描画平面为A点、B点、C点、D点、E点、F点、G点以及H点共享的平面。
首先,创建一个预设投影面,将B点投影到预设投影面上得到对应的投影点b,将C点投影到预设投影面得到对应的投影点c,将D点投影到预设投影面上得到对应的投影点d,将E点投影到预设投影面得到对应的投影点e,将F点投影到预设投影面上得到对应的投影点f,将G点投影到预设投影面得到对应的投影点g。
然后,根据A点、B点、投影点b、投影点c、C点、D点、投影点d、投影点e、E点、F点、投影点f、投影点g、G点以及H点进行一次性描画线,具体地,依次描画A点与B点之间的线条、描画B点与投影点b之间的线条、描画投影点b与投影点c之间的线条、描画投影点c与C点之间的线条、描画C点与D点之间的线条、描画D点与投影点d之间的线条、描画投影点d与投影点e之间的线条、描画投影点e与E点之间的线条、描画E点与F点之间的线条、描画F点与投影点f之间的线条、描画头投影点f与投影点g之间的线条、描画投影点g与G点之间的线条以及描画G点与H点之间的线条,如此,实现在3D空间中绘制出了一条由13条线段组成的一条初始描画线。
其次,创建一个处于描画平面与预设投影平面之间的剪切面,描画平面、预设投影平面以及剪切面相互平行,将预设投影平面上的线段bc、线段de以及线段fg去除,并将与投影点b连接的线段中处在剪切面上的点b1、与投影点c连接的线段中处在剪切面上的点c1、与投影点d连接的线段中处在剪切面上的点d1、与投影点e连接的线段中处在剪切面上的点e1、与投影点f连接的线段中处在剪切面上的点f1以及与投影点g连接的线段中处在剪切面上的点g1去除,且将与投影点b连接的线段中位于剪切面远离描画平面一侧的线段、与投影点c连接的线段中位于剪切面远离描画平面一侧的线段、与投影点d连接的线段中位于剪切面远离描画平面一侧的线段、与投影点e连接的线段中位于剪切面远离描画平面一侧的线段、与投影点f连接的线段中位于剪切面远离描画平面一侧的线段以及与投影点g连接的线段中位于剪切面远离描画平面一侧的线段去除(即去除线段bb1、线段cc1、线段dd1、线段ee1、线段ff1以及、线段gg1),从而得到各待画线条对应描画线AB、CD、EF以及GH,实现对互不相接的待画线条的描画。
如图6所示,本发明还提供一种实施例的线描画装置,包括:
坐标信息获取模块610,用于获取相互不相接的各待画线条分别对应的端点的位置坐标信息。
投影点获取模块620,用于获取各待画线条中任意两个待画线条分别对应的一个端点在预设投影面的投影点,以及其他待画线条的两个端点在预设投影面的投影点。其中,其他待画线条为各待画线条中除任意两个待画线条以外的线条。
描画模块630,用于根据各待画线条的端点以及各投影点进行线描画,确定一条初始描画线。其中,初始描画线包括待画线条对应的描画线。
描画线获取模块640,用于去除初始描画线在预设投影面上的线段,并将初始描画线中与各投影点连接的线段投影到描画平面中待画线条对应描画线上,获得各待画线条分别对应的描画线,其中,描画平面为各待画线条对应的描画线所在平面。
上述线描画装置,
通过将任意两个待画线条分别对应的一个端点投影到预设投影面,以及将其他待画线条分别对应的两个端点分别投影到预设投影面,再根据各待画线条的端点以及各投影点进行线描画,确定一条初始描画线,然后,通过去除初始描画线在预设投影面上的线段,并将初始描画线中与各投影点连接的线段投影到各待画线条所在平面中待画线条对应描画线上,即可获得各待画线条分别对应的描画线。如此,根据各待画线条的端点以及各投影点,可一次描画完成得到包括待画线条的描画线的初始描画线,再通过去除多余的线条即可,无需分次进行串行描画,即可实现互相不相接的各待画线条的并行描画,提高了描画效率。
在其中一个实施例中,上述描画线获取模块640,包括:线段去除模块以及投影模块。
线段去除模块,用于创建处于描画平面与预设投影面之间的剪切面。将初始描画线中处于剪切面上的点以及处于剪切面远离描画平面一侧的线段去除。
投影模块,用于将初始描画线中与各投影点连接的线段对应的未去除的线段投影到描画平面中待画线条对应描画线上。
在其中一个实施例中,预设投影面、剪切面以及描画平面相互平行。
在其中一个实施例中,描画模块630,用于依照以下顺序进行线描画:任意两个待画线条中的当前线条、当前线条对应描画在后的端点与其对应的投影点之间的线条、第一投影点与第二投影点之间的线条、第二投影点与其他待画线条中未描画过的一个线条的一个端点之间的线条。其中,第一投影点为当前线条的描画在后的端点对应的投影点,第二投影点为一个线条的一个端点对应的投影点。
还用于将一个线条作为当前线条,且一个线条的一个端点作为描画时描画在前的端点,根据上述顺序进行描画,直到各其他待画线条描画完毕,描画任意两个待画线条中的另一个线条。
在其中一个实施例中,上述描画模块630,还用于依照以下顺序进行线描画之前,对各待画线条进行排序,获得排序后的待画线条。其中,任意两个待画线条的其中一个线条排列在首,另一个线条排列在末。
上述描画模块630,用于依照以下顺序进行线描画:排序后的待画线条中的首待画线条、首待画线条对应描画在后的端点与其对应的投影点之间的线条、第一投影点和第二投影点之间的线条、第二投影点和首待画线相邻的线条的一个端点之间的线条。其中,第一投影点为首待画线条的描画在后的端点对应的投影点,第二投影点为与首待画线条相邻的线条的一个端点对应的投影点。
还用于将首待画线相邻的线条作为首待画线条,且首待画线条相邻的线条的一个端点作为描画时描画在前的端点,根据上述顺序进行线描画,直到各其他待画线条描画分别描画完毕,描画任意两个待画线条中的另一个线条。
在其中一个实施例中,上述待画线条可以是直线,也可以是折线。
上述线描画装置为上述线描画方法对应的装置,其技术特征对应,在此不再赘述。
本发明还提供一种实施例的计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时可用于执行上述方法的步骤。
本发明还提供一种实施例的计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可用于执行上述方法的步骤。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种线描画方法,其特征在于,包括:
获取相互不相接的各待画线条分别对应的各端点的位置坐标信息;
获取各所述待画线条中任意两个待画线条分别对应的一个端点在预设投影面的投影点,以及其他待画线条的两个端点在所述预设投影面的投影点;其中,所述其他待画线条为各所述待画线条中除所述任意两个待画线条以外的线条;
根据各所述待画线条的端点以及各投影点进行线描画,确定一条初始描画线;其中,所述初始描画线包括所述待画线条对应的描画线;
去除所述初始描画线在所述预设投影面上的线段,并将所述初始描画线中与各所述投影点连接的线段投影到描画平面中所述待画线条对应描画线上,获得各所述待画线条分别对应的描画线,其中,所述描画平面为各所述待画线条对应的描画线所在平面。
2.根据权利要求1所述的线描画方法,其特征在于,
所述去除所述初始描画线在所述预设投影面上的线段,包括:创建处于所述描画平面与所述预设投影面之间的剪切面;将所述初始描画线中处于所述剪切面上的点以及处于所述剪切面远离所述描画平面一侧的线段去除;
所述将所述初始描画线中与各所述投影点连接的线段投影到所述描画平面中所述待画线条对应描画线上,包括:将所述初始描画线中与各所述投影点连接的线段对应的未去除的线段投影到所述描画平面所在平面中所述待画线条对应描画线上。
3.根据权利要求2所述的线描画方法,其特征在于,所述预设投影面、所述剪切面以及所述描画平面相互平行。
4.根据权利要求1-3中任意一项所述的线描画方法,其特征在于,所述根据所述线条的各端点以及各所述投影点进行线描画,包括:
依照以下顺序进行线描画:所述任意两个待画线条中的当前线条、所述当前线条对应描画在后的端点与其对应的投影点之间的线条、第一投影点与第二投影点之间的线条、所述第二投影点与所述其他待画线条中未描画过的一个线条的一个端点之间的线条;其中,所述第一投影点为所述当前线条的描画在后的端点对应的投影点,所述第二投影点为所述一个线条的一个端点对应的投影点;
将所述一个线条作为所述当前线条,且所述一个线条的一个端点作为描画时描画在前的端点,根据上述顺序进行描画,直到各所述其他待画线条描画完毕,描画所述任意两个待画线条中的另一个线条。
5.根据权利要求4所述的线描画方法,其特征在于,所述依照以下顺序进行线描画之前,包括:对各所述待画线条进行排序,获得排序后的待画线条;其中,所述任意两个待画线条的其中一个线条排列在首,另一个线条排列在末;
所述依照以下顺序进行线描画包括:所述排序后的待画线条中的首待画线条、所述首待画线条对应描画在后的端点与其对应的投影点之间的线条、所述第一投影点和第二投影点之间的线条、所述第二投影点和所述首待画线相邻的线条的一个端点之间的线条;其中,所述第一投影点为所述首待画线条的描画在后的端点对应的投影点,所述第二投影点为与所述首待画线条相邻的线条的一个端点对应的投影点;
将所述首待画线相邻的线条作为首待画线条,且所述首待画线条相邻的线条的一个端点作为描画时描画在前的端点,根据上述顺序进行线描画,直到各所述其他待画线条描画分别描画完毕,描画所述任意两个待画线条中的另一个线条。
6.一种线描画装置,其特征在于,包括:
坐标信息获取模块,用于获取相互不相接的各待画线条分别对应的端点的位置坐标信息;
投影点获取模块,用于获取各所述待画线条中任意两个待画线条分别对应的一个端点在预设投影面的投影点,以及其他待画线条的两个端点在所述预设投影面的投影点;其中,所述其他待画线条为各所述待画线条中除所述任意两个待画线条以外的线条;
描画模块,用于根据各所述待画线条的端点以及各投影点进行线描画,确定一条初始描画线;其中,所述初始描画线包括所述待画线条对应的描画线;
描画线获取模块,用于去除所述初始描画线在所述预设投影面上的线段,并将所述初始描画线中与各所述投影点连接的线段投影到描画平面中所述待画线条对应描画线上,获得各所述待画线条分别对应的描画线,其中,所述描画平面为各所述待画线条对应的描画线所在平面。
7.根据权利要求6所述的线描画装置,其特征在于,所述描画线获取模块,包括:
线段去除模块,用于创建处于所述描画平面与所述预设投影面之间的剪切面;将所述初始描画线中处于所述剪切面上的点以及处于所述剪切面远离所述描画平面一侧的线段去除;
投影模块,用于将所述初始描画线中与各所述投影点连接的线段对应的未去除的线段投影到所述描画平面中所述待画线条对应描画线上。
8.根据权利要求6-7中任意一项所述的线描画装置,其特征在于,所述描画模块,用于依照以下顺序进行线描画:所述任意两个待画线条中的当前线条、所述当前线条对应描画在后的端点与其对应的投影点之间的线条、第一投影点与第二投影点之间的线条、所述第二投影点与所述其他待画线条中未描画过的一个线条的一个端点之间的线条;其中,所述第一投影点为所述当前线条的描画在后的端点对应的投影点,所述第二投影点为所述一个线条的一个端点对应的投影点;
还用于将所述一个线条作为所述当前线条,且所述一个线条的一个端点作为描画时描画在前的端点,根据上述顺序进行描画,直到各所述其他待画线条描画完毕,描画所述任意两个待画线条中的另一个线条。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时可用于执行上述权利要求1-5中任意一项所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时可用于执行上述权利要求1-5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711242998.6A CN107871333B (zh) | 2017-11-30 | 2017-11-30 | 线描画方法及装置、计算机设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711242998.6A CN107871333B (zh) | 2017-11-30 | 2017-11-30 | 线描画方法及装置、计算机设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107871333A CN107871333A (zh) | 2018-04-03 |
CN107871333B true CN107871333B (zh) | 2021-04-16 |
Family
ID=61754875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711242998.6A Active CN107871333B (zh) | 2017-11-30 | 2017-11-30 | 线描画方法及装置、计算机设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107871333B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111489411B (zh) * | 2019-01-29 | 2023-06-20 | 北京百度网讯科技有限公司 | 线条绘制方法、装置、图像处理器、显卡及车辆 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3556969B2 (ja) * | 1994-06-20 | 2004-08-25 | 富士通株式会社 | 投影図作成方法 |
JP4400667B2 (ja) * | 2007-10-04 | 2010-01-20 | セイコーエプソン株式会社 | 描画装置、画像出力装置及びプログラム |
JP5520804B2 (ja) * | 2010-12-20 | 2014-06-11 | 本田技研工業株式会社 | 境界要素法の計算で用いる表面メッシュモデルを生成する表面メッシュモデル生成装置、表面メッシュモデル生成方法およびコンピュータプログラム |
JPWO2012165238A1 (ja) * | 2011-05-30 | 2015-02-23 | アイシン精機株式会社 | 描画装置、描画方法及びプログラム |
CN104252715B (zh) * | 2014-09-05 | 2017-05-03 | 北京大学 | 一种基于单幅线条图像的三维立体重建方法 |
CN106095139B (zh) * | 2016-05-30 | 2018-10-12 | 安徽慧视金瞳科技有限公司 | 一种在投影交互系统中提升线条绘制速度的方法 |
CN106127778B (zh) * | 2016-06-27 | 2019-01-04 | 安徽慧视金瞳科技有限公司 | 一种用于投影交互系统的直线检测方法 |
CN106775429A (zh) * | 2017-03-08 | 2017-05-31 | 青岛海信电器股份有限公司 | 一种基于触摸屏上画线存储的方法和装置 |
-
2017
- 2017-11-30 CN CN201711242998.6A patent/CN107871333B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107871333A (zh) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11615090B2 (en) | Method, apparatus and system for determining accessible paths between two nodes | |
CN107871333B (zh) | 线描画方法及装置、计算机设备及计算机存储介质 | |
CN111921202A (zh) | 虚拟场景的数据处理方法、装置、设备及可读存储介质 | |
CN110333971B (zh) | Ssd坏块表备份方法、装置、计算机设备及存储介质 | |
US11574511B2 (en) | Vehicle performance evaluation method, device and terminal | |
CN113313747B (zh) | 一种基于stl格式的三维模型支撑点获取方法 | |
US11423546B2 (en) | Apparatus for recognizing object based on LiDAR sensor and method thereof | |
CN113034663B (zh) | Gim模型轻量化处理方法和装置、设备及存储介质 | |
CN112269848A (zh) | 一种众包轨迹数据融合方法及装置 | |
CN111158594A (zh) | 元数据落盘方法、装置、设备及存储介质 | |
CN109658985B (zh) | 一种基因参考序列的去冗余优化方法及系统 | |
CN107423488B (zh) | 一种平面胎架图自动生成系统及方法 | |
CN108205563B (zh) | 电子地图信息标注方法、装置及终端 | |
US8682078B2 (en) | Moving image processing apparatus, moving image processing method, and program | |
CN116129136A (zh) | 矿山勘查剖面线提取方法、装置、计算机设备及存储介质 | |
CN111325854B (zh) | 形状模型修正装置及形状模型修正方法以及存储介质 | |
CN109544689B (zh) | 确定三维模型的方法及装置 | |
CN112580746B (zh) | 一种众包数据多道路片段的连续划分方法与装置 | |
CN114170235A (zh) | 一种楼层多边形平面分割方法及系统 | |
TW201643826A (zh) | 點雲精簡方法及系統 | |
JP5251494B2 (ja) | プログラム、有用性判定装置及び有用性判定方法 | |
CN117717782A (zh) | 游戏地图生成方法、装置、电子设备和存储介质 | |
CN117688512A (zh) | 空间数据的融合方法、装置、电子设备和存储介质 | |
JP2020077232A (ja) | 3次元情報処理装置、データ構造、及びプログラム | |
CN117829081A (zh) | 一种eda模型器件的凹多边形区域生成方法及装置 |
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: 201807 Shanghai City, north of the city of Jiading District Road No. 2258 Applicant after: Shanghai Lianying Medical Technology Co., Ltd Address before: 201807 Shanghai City, north of the city of Jiading District Road No. 2258 Applicant before: SHANGHAI UNITED IMAGING HEALTHCARE Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |