CN110598331A - 一种屋顶建模的方法和装置 - Google Patents
一种屋顶建模的方法和装置 Download PDFInfo
- Publication number
- CN110598331A CN110598331A CN201910874190.2A CN201910874190A CN110598331A CN 110598331 A CN110598331 A CN 110598331A CN 201910874190 A CN201910874190 A CN 201910874190A CN 110598331 A CN110598331 A CN 110598331A
- Authority
- CN
- China
- Prior art keywords
- roof
- intersection
- vertex
- point
- generating
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
一种屋顶建模的方法和装置,包括:预处理输入的外墙轮廓线;离散所述外墙轮廓线中的圆弧;根据预处理和离散后的多边形计算并生成屋顶的直骨架;计算直骨架节点的Z坐标;基于生成的所述直骨架及其坐标生成线框和屋顶多面体模型;在输入的所述外墙轮廓线中包含圆弧时生成圆锥面;生成屋顶下表面模型;生成屋檐。通过加强直骨架算法,以处理圆弧、山墙和不同坡面角的情况,可以高效准确地生成屋顶模型,能够实现稳定可靠、满足用户的不同需求的屋顶建模方式。
Description
技术领域
本申请属于计算机建筑建模技术领域,特别涉及一种屋顶建模的方法和装置。
背景技术
屋顶建模是建筑建模中不可或缺的重要组成部分,稳定高效准确的屋顶建模方法有利于提高建筑建模系统的性能和稳定性。屋顶建模一般以建筑外墙中心线构成的闭合二维轮廓线(位于xoy平面)为输入,输出为屋顶的实体模型。轮廓线的每一条边都对应一个坡面角(定义了屋顶面与屋顶底面之间的夹角),每条边和其对应的坡面角定义了一个屋顶平面,所有屋顶平面构成了屋顶的表面。屋顶的上下两个表面定义了屋顶的实体模型。
屋顶建模在商业建筑建模工具和BIM工具都有实现,但其技术实现都秘而不宣,无法得知其技术细节。在这些工具中,屋顶建模存在一定的缺陷,例如有时会生成无效的结果;外墙轮廓线有内环时,其结果有时并不满足用户需求。学术领域也有学者提出使用多边形直骨架生成屋顶的算法,但这些方法并不完整,例如无法处理圆弧,没有屋檐处理方法以及缺少处理退化情况的方法等。
发明内容
本申请提供了一种屋顶建模的方法和装置,通过加强直骨架算法,以处理圆弧、山墙和不同坡面角的情况,可以高效准确地生成屋顶模型,能够实现稳定可靠、满足用户的不同需求的屋顶建模方式。
本申请提供的一种屋顶建模方法,包括如下步骤:
步骤一:预处理输入的外墙轮廓线;
步骤二:离散所述外墙轮廓线中的圆弧;
步骤三:根据预处理和离散后的多边形计算并生成屋顶的直骨架;
步骤四:计算直骨架节点的Z坐标;
步骤五:基于生成的所述直骨架及其坐标生成线框和屋顶多面体模型;
步骤六:在输入的所述外墙轮廓线中包含圆弧时生成圆锥面;
步骤七:生成屋顶下表面模型;
步骤八:生成屋檐。
所述预处理用于修复输入的所述外墙轮廓线的瑕疵,具体包括:
(1)删除极短边;
(2)合并共线的相邻边;
(3)通过微调线段的端点或延长求交,使相邻的边首尾相接;
(4)删除重复边和往返边。
所述离散所述外墙轮廓线中的圆弧包括:采用均匀采样来离散所述外墙轮廓线中的圆弧,使用多段直线段来逼近所述外墙轮廓线中的圆弧。
所述计算并生成屋顶的直骨架的步骤包括:
针对所述外墙轮廓线上的每一个顶点vi,保存数据结构:角分线bi、前一条边Ea和后一条边Eb,其中vi表示第i个顶点,所述外墙轮廓线上的顶点根据凹凸性的不同,需要做不同的处理,所述处理包括凸顶点的处理和凹顶点的处理。
所述凸顶点的处理具体包括:
对每个凸顶点vi,所述凸顶点vi的角分线bi与后面顶点vi+1的角分线bi+1求交得到交点ni,ni的Ea和Eb分别设置为vi的Ea和vi+1的Eb,对边Eo设为vi的Eb,计算ni与其对边Eo的距离并将ni存入队列Q;针对所有凸顶点都进行同样的处理,在所有凸顶点计算完毕后,将队列Q按照距离从小到大排序,然后进行如下计算:
(1)从队列中取出到对边距离最近的点ni,如果ni的Ea的末端点或Eb的前端点已被处理过,则忽略该点,从队列中取下一个点,直到取得有效点;
(2)将线段(vi,ni)和(vi+1,ni)加入直骨架列表S中;
(3)根据ni的Ea和Eb或者Ea和Eb的延长线计算其角分线,并将Ea的前端点vi和Eb的后端点vi+1设置标志,表明已被处理过;
(4)ni的角分线与其前后的角分线bi-1,bi+1求交,得到两个交点,计算交点到对边的距离并将交点存入Q中;
(5)重复执行步骤1)-4)直到Q为空,即针对队列中所有的点计算完毕。
所述凹顶点的处理具体包括:
对于每个凹顶点vi,除了计算所述凹顶点vi与其相邻前后两个顶点vi-1和vi+1的角分线的交点之外,还需要计算凹顶点vi与对边的交点,具体为:
(1)将所述凹顶点vi的前一条边Ea和后一条边Eb延长并与对边Ed相交,获得Ea和Eb与对边Ed的交点Ba、Bb,计算Ea和Eb延长线与对边Ed的交线,并计算在交点Ba、Bb处的角分线;
(2)计算三角形(Ba,Bb,vi)的内心ni,计算ni与对边Ed的距离,并将ni存入Q中;
(3)如果Q中距离对边最近的顶点为凹点,将其内心ni分解为两个位置相同的点ni及Ni,设置ni的Ea和Eb分别为vi的Ea和Ed,Ni的Ea和Eb为Ed和vi的Eb,参见图4(b)所示;
(4)将线段(vi,ni)和(vi,Ni)加入直骨架列表S中;
(5)根据ni和Ni的Ea和Eb分别计算其角分线,并与相邻角分线求交,交点信息压入队列Q;
对于Ea和Eb的坡面角不相同的情况,bi将不再是角分线,bi的计算需要考虑Ea和Eb对应的坡面角α和β:如果相邻坡面角不同,则上述角分线求交,变为下面定义的bi之间的求交:
bi=(xa+τxb,ya+τyb);
其中,(xa,ya)(xb,yb)分别表示相邻边Ea和Eb的单位向量。
所述计算直骨架节点的Z坐标具体为:
直骨架列表中的线段之间的交点称为直骨架节点,每个直骨架结点都有一个对边Eo,根据节点ni到Eo的距离d以及对应的坡面角α,可以计算出该节点的Z坐标nz,其中:
nz=d×tan(α)。
所述生成屋顶下表面模型具体为:
当所有的平面和圆锥面都生成之后,屋顶的上表面构建完毕,屋顶的下表面通过对上表面做偏移操作完成,所述偏移操作包括:
(1)记录每个面的拓扑信息;
(2)对每个面进行偏移;
(3)根据面的拓扑信息,将偏移后的面缝补成一个整体。
所述生成屋檐包括三种具体的方式,包括:
(1)将上下屋顶表面的侧边用平面缝补起来,屋顶边缘与屋面底部垂直;
(2)用户指定屋檐标高,超出标高的部分被切掉;
(3)屋顶边缘与屋顶所在平面垂直,超出标高的部分被切掉。
本申请还提供了一种屋顶建模装置,所述装置包括处理单元、离散单元、直骨架生成单元、Z坐标计算单元、多面体模型生成单元、圆锥面生成单元、下表面模型生成单元和屋檐生成单元,其中:
所述处理单元,用于预处理输入的外墙轮廓线;
所述离散单元,用于离散所述外墙轮廓线中的圆弧;
所述直骨架生成单元,用于根据所述处理单元预处理和所述离散单元离散后形成的多边形计算并生成屋顶的直骨架;
所述Z坐标计算单元,用于计算直骨架节点的Z坐标;
所述多面体模型生成单元,用于基于生成的所述直骨架及其坐标生成线框和屋顶多面体模型;
所述圆锥面生成单元,用于在输入的所述外墙轮廓线中包含圆弧时生成圆锥面;
所述下表面模型生成单元,用于生成屋顶下表面模型;
所述屋檐生成单元,用于生成屋檐。
所述处理单元,具体用于:
(1)删除极短边;
(2)合并共线的相邻边;
(3)通过微调线段的端点或延长求交,使相邻的边首尾相接;
(4)删除重复边和往返边。
所述离散单元,具体用于:采用均匀采样来离散所述外墙轮廓线中的圆弧,使用多段直线段来逼近所述外墙轮廓线中的圆弧。
所述直骨架生成单元,具体用于:
针对所述外墙轮廓线上的每一个顶点vi,保存数据结构:角分线bi、前一条边Ea和后一条边Eb,其中vi表示第i个顶点,所述外墙轮廓线上的顶点根据凹凸性的不同,需要做不同的处理,所述处理包括凸顶点的处理和凹顶点的处理。
所述凸顶点的处理具体包括:
对每个凸顶点vi,所述凸顶点vi的角分线bi与后面顶点vi+1的角分线bi+1求交得到交点ni,ni的Ea和Eb分别设置为vi的Ea和vi+1的Eb,对边Eo设为vi的Eb,计算ni与其对边Eo的距离并将ni存入队列Q;针对所有凸顶点都进行同样的处理,在所有凸顶点计算完毕后,将队列Q按照距离从小到大排序,然后进行如下计算:
(1)从队列中取出到对边距离最近的点ni,如果ni的Ea的末端点或Eb的前端点已被处理过,则忽略该点,从队列中取下一个点,直到取得有效点;
(2)将线段(vi,ni)和(vi+1,ni)加入直骨架列表S中;
(3)根据ni的Ea和Eb或者Ea和Eb的延长线计算其角分线,并将Ea的前端点vi和Eb的后端点vi+1设置标志,表明已被处理过;
(4)ni的角分线与其前后的角分线bi-1,bi+1求交,得到两个交点,计算交点到对边的距离并将交点存入Q中;
(5)重复执行步骤1)-4)直到Q为空,即针对队列中所有的点计算完毕。
所述凹顶点的处理具体包括:
对于每个凹顶点vi,除了计算所述凹顶点vi与其相邻前后两个顶点vi-1和vi+1的角分线的交点之外,还需要计算凹顶点vi与对边的交点,具体为:
(1)将所述凹顶点vi的前一条边Ea和后一条边Eb延长并与对边Ed相交,获得Ea和Eb与对边Ed的交点Ba、Bb,计算Ea和Eb延长线与对边Ed的交线,并计算在交点Ba、Bb处的角分线;
(2)计算三角形(Ba,Bb,vi)的内心ni,计算ni与对边Ed的距离,并将ni存入Q中;
(3)如果Q中距离对边最近的顶点为凹点,将其内心ni分解为两个位置相同的点ni及Ni,设置ni的Ea和Eb分别为vi的Ea和Ed,Ni的Ea和Eb为Ed和vi的Eb,参见图4(b)所示;
(4)将线段(vi,ni)和(vi,Ni)加入直骨架列表S中;
(5)根据ni和Ni的Ea和Eb分别计算其角分线,并与相邻角分线求交,交点信息压入队列Q;
对于Ea和Eb的坡面角不相同的情况,bi将不再是角分线,bi的计算需要考虑Ea和Eb对应的坡面角α和β:如果相邻坡面角不同,则上述角分线求交,变为下面定义的bi之间的求交:
bi=(xa+τxb,ya+τyb);
其中,(xa,ya)(xb,yb)分别表示相邻边Ea和Eb的单位向量。
所述Z坐标计算单元,具体用于:
直骨架列表中的线段之间的交点称为直骨架节点,每个直骨架结点都有一个对边Eo,根据节点ni到Eo的距离d以及对应的坡面角α,可以计算出该节点的Z坐标nz,其中:
nz=d×tan(α)。
所述下表面模型生成单元,具体用于:
当所有的平面和圆锥面都生成之后,屋顶的上表面构建完毕,屋顶的下表面通过对上表面做偏移操作完成,所述偏移操作包括:
(1)记录每个面的拓扑信息;
(2)对每个面进行偏移;
(3)根据面的拓扑信息,将偏移后的面缝补成一个整体。
所述生成屋檐包括三种具体的方式,包括:
(1)将上下屋顶表面的侧边用平面缝补起来,屋顶边缘与屋面底部垂直;
(2)用户指定屋檐标高,超出标高的部分被切掉;
(3)屋顶边缘与屋顶所在平面垂直,超出标高的部分被切掉。
本申请还提供了一种电子设备,所述电子设备包括:
存储装置;
一个或多个处理器;
所述存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被执行时,实现如上所述的方法。
本申请提供的一种根据外墙二维轮廓线生成屋顶建模的方法和装置,利用多边形直骨架技术或算法生成屋顶模型,巧妙地运用了屋顶脊线与直骨架的对应关系,将三维建模问题转化为二维建模问题,利用直骨架的性质,利用屋顶的坡面角映射回三维空间,将二维直骨架精确快速地映射回三维空间,生成三维屋顶模型,完成建模操作,极大减少了建模复杂度。该方法涉及的计算只有二维角平分线、二维直线求交及少量的圆锥与平面求交计算,计算复杂度低。直骨架节点的坐标是通过该节点到直线的距离以及坡面角计算得出的,该坐标是精确无误差的。通过以上分析,基于直骨架的屋顶模型方法具有高效精确的特点。
附图说明
为了便于本领域普通技术人员理解和实施本申请,下面结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请的外墙轮廓线、屋顶及坡面角的示意图。
图2是本申请的外墙轮廓线预处理示意图。
图3是本申请的圆弧的离散示意图。
图4(a)是本申请的凸顶点的处理示意图。
图4(b)是本申请的凹顶点的处理示意图。
图4(c)是本申请的直骨架和直骨架节点的生成示意图。
图5是本申请的坡面角不同时角分线的计算示意图。
图6是本申请的直骨架节点Z坐标计算示意图。
图7是本申请的直骨架线框模型和多面体模型示意图。
图8是本申请的圆锥面的处理示意图。
图9是本申请的屋顶下表面的生成示意图。
图10是本申请的屋檐的生成示意图。
图11是本申请的一种屋顶建模方法的步骤流程图。
图12是本申请的一种屋顶建模装置的模块组成示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
实施例一:
参见图11,本申请的实施例一提供了一种屋顶建模方法,用户输入一个封闭的外墙轮廓线(所述外墙轮廓线只包含直线和圆弧)及每条边对应的坡面角,利用多边形直骨架作为辅助手段生成屋顶模型,参见图1。本申请采用的技术方案主要内容包括直骨架生成,圆弧的处理以及屋檐的处理等。
本申请实施例一中的所述屋顶建模方法,包括如下步骤:
步骤一:预处理输入的外墙轮廓线,所述预处理用于修复输入的所述外墙轮廓线的瑕疵,参见图2。
用户输入的外墙轮廓线可能会包含各种瑕疵,例如非常小的短边,共线的邻接边,首尾不相接的邻接边,重复边等,该步骤主要是修复这些输入的外墙轮廓线的瑕疵,该步骤的预处理包括:
(1)删除极短边;
(2)合并共线的相邻边;
(3)通过微调线段的端点或延长求交,使相邻的边首尾相接;
(4)删除重复边和往返边。
步骤二:离散所述外墙轮廓线中的圆弧,采用均匀采样来离散所述外墙轮廓线中的圆弧,使用多段直线段来逼近所述外墙轮廓线中的圆弧,参见图3。
离散的主要目的是将输入的多边形转成简单多边形,以便正确求出直骨架。因为直骨架适应于只包含直线的简单多边形,如果用户输入的轮廓线包含圆弧,需要把圆弧离散,用多段直线段来逼近轮廓线中的圆弧。
步骤三:生成直骨架,即根据预处理和离散后的多边形计算并生成屋顶的直骨架,该直骨架反应了屋顶脊线在屋顶平面的投影。
所述计算并生成屋顶的直骨架的步骤包括:
针对所述外墙轮廓线上的每一个顶点vi,保存以下数据结构:角分线bi、前一条边Ea和后一条边Eb,参见图4(a)左图,其中vi表示第i个顶点,轮廓线上的顶点根据凹凸性的不同,需要做不同的处理,所述处理包括:
(1)凸顶点的处理:对每个凸顶点vi,所述凸顶点vi的角分线bi与后面顶点vi+1的角分线bi+1求交得到交点ni,ni的Ea和Eb分别设置为vi的Ea和vi+1的Eb,对边Eo设为vi的Eb,计算ni与其对边Eo的距离并将ni存入队列Q;针对所有凸顶点都进行同样的处理,在所有凸顶点计算完毕后,将队列Q按照距离从小到大排序,然后进行如下计算:
1)从队列中取出到对边距离最近的点ni,如果ni的Ea的末端点或Eb的前端点已被处理过,则忽略该点,从队列中取下一个点,直到取得有效点;
2)将线段(vi,ni)和(vi+1,ni)加入直骨架列表S中;
3)根据ni的Ea和Eb或者Ea和Eb的延长线计算其角分线,并将Ea的前端点vi和Eb的后端点vi+1设置标志,表明已被处理过;
4)ni的角分线与其前后的角分线bi-1,bi+1求交,得到两个交点,计算交点到对边的距离并将交点存入Q中;
5)重复执行步骤1)-4)直到Q为空,即针对队列中所有的点计算完毕。
(2)凹顶点的处理:对于每个凹顶点vi,除了计算所述凹顶点vi与其相邻前后两个顶点vi-1和vi+1的角分线的交点之外,还需要计算凹顶点vi与对边的交点,参见图4(b),具体为:
1)将所述凹顶点vi的前一条边Ea和后一条边Eb延长并与对边Ed相交,获得Ea和Eb与对边Ed的交点Ba、Bb,计算Ea和Eb延长线与对边Ed的交线,并计算在交点Ba、Bb处的角分线;
2)计算三角形(Ba,Bb,vi)的内心ni,计算ni与对边Ed的距离,并将ni存入Q中;
3)如果Q中距离对边最近的顶点为凹点,将其内心ni分解为两个位置相同的点ni及Ni,设置ni的Ea和Eb分别为vi的Ea和Ed,Ni的Ea和Eb为Ed和vi的Eb,参见图4(b)所示;
4)将线段(vi,ni)和(vi,Ni)加入直骨架列表S中;
5)根据ni和Ni的Ea和Eb分别计算其角分线,并与相邻角分线求交,交点信息压入队列Q;
对于Ea和Eb的坡面角不相同的情况,bi将不再是角分线,bi的计算需要考虑Ea和Eb对应的坡面角α和β:如果相邻坡面角不同,则上述角分线求交,变为下面定义的bi之间的求交:
bi=(xa+τxb,ya+τyb) 式(2)
其中,(xa,ya)(xb,yb)分别表示相邻边Ea和Eb的单位向量,参见图5。
如果轮廓线中的某条线段对应的坡面角是直角(山墙),则式(1)是奇异的。为了处理这类情况,山墙的坡面角被定义为89.99度。用户在输入外墙轮廓线时,该轮廓线先进行偏移操作,偏移后的轮廓线会比原来的轮廓线大,这时0.01度的误差并不影响用户使用。
步骤四:计算直骨架节点的Z坐标;
所述直骨架是由多条直线段构成,直线段间的交点称为节点,每个节点对应外墙轮廓线的一条边,根据节点到该边的距离及该边对应的坡面角,可以计算出该节点的Z坐标。
直骨架列表中的线段之间的交点称为直骨架节点,每个直骨架结点都有一个对边Eo,根据节点ni到Eo的距离d以及对应的坡面角α,可以计算出该节点的Z坐标nz,参见图6:
nz=d×tan(α) 式(3)
至此每个节点的三维坐标计算完毕。
步骤五:基于生成的所述直骨架及其坐标生成线框屋顶多面体模型;
当所有的直骨架节点坐标计算完毕,直骨架列表中的线段由二维变成三维,直骨架与输入的外墙轮廓线一起构成一个三维线框模型(见图7)。所述外墙轮廓线中的每一条边都是某些直骨架顶点的Ea和Eb,这些直骨架顶点集合构成一个多边形的顶点,进而构成一个平面。这些平面构成了该轮廓线的多面体模型,参见图7。所有共享同一条轮廓边的节点构成一个面,根据该规则,可以将线框模型转换成多面体模型。
步骤六:在输入的外墙轮廓线中包含圆弧时生成圆锥面;
如果输入的轮廓线中包含圆弧,需要用圆锥面替换圆弧离散后生成的平面。至此,屋顶的上表面生成完毕。步骤二中被离散的圆弧在步骤五中是以平面的形式存在的,需要将这些平面用相应的圆锥面替换。这些平面首先被删除,然后利用圆锥与平面或圆锥与圆锥求交算法将圆锥面缝补到多面体模型中,参见图8。
步骤七:生成屋顶下表面模型;
当所有的平面和圆锥面都生成之后,屋顶的上表面(外表面)构建完毕。屋顶的下表面可以通过对上表面做偏移操作完成。上下表面共同构成屋顶的实体模型。偏移操作方法如下:
1)记录每个面的拓扑信息;
2)对每个面进行偏移;
3)根据面的拓扑信息,将偏移后的面缝补成一个整体,参见图9。
步骤八:生成屋檐;
本文提供三种不同类型的屋檐以满足不同的用户需求。三种不同类型的屋檐生成方式如下,参见图10:
1)将上下屋顶表面的侧边用平面缝补起来,屋顶边缘与屋面底部垂直;
2)用户指定屋檐标高,超出标高的部分被切掉;
3)屋顶边缘与屋顶所在平面垂直,超出标高的部分被切掉。
实施例二:
参见图12,本申请的实施例二提供了一种屋顶建模装置,所述装置包括处理单元、离散单元、直骨架生成单元、Z坐标计算单元、多面体模型生成单元、圆锥面生成单元、下表面模型生成单元和屋檐生成单元。
所述预处理单元,用于预处理输入的外墙轮廓线,所述预处理用于修复输入的所述外墙轮廓线的瑕疵,参见图2。
用户输入的外墙轮廓线可能会包含各种瑕疵,例如非常小的短边,共线的邻接边,首尾不相接的邻接边,重复边等,该步骤主要是修复这些输入的外墙轮廓线的瑕疵,所述预处理单元具体用于:
(1)删除极短边;
(2)合并共线的相邻边;
(3)通过微调线段的端点或延长求交,使相邻的边首尾相接;
(4)删除重复边和往返边。
所述离散单元,用于离散所述外墙轮廓线中的圆弧,采用均匀采样来离散所述外墙轮廓线中的圆弧,使用多段直线段来逼近所述外墙轮廓线中的圆弧,参见图3。
离散的主要目的是将输入的多边形转成简单多边形,以便正确求出直骨架。因为直骨架适应于只包含直线的简单多边形,如果用户输入的轮廓线包含圆弧,需要把圆弧离散,用多段直线段来逼近轮廓线中的圆弧。
所述直骨架生成单元,用于生成直骨架,即用于根据所述处理单元预处理和所述离散单元离散后形成的多边形计算并生成屋顶的直骨架,该直骨架反应了屋顶脊线在屋顶平面的投影。
所述计算并生成屋顶的直骨架包括:
针对所述外墙轮廓线上的每一个顶点vi,保存以下数据结构:角分线bi、前一条边Ea和后一条边Eb,参见图4(a)左图,其中vi表示第i个顶点,轮廓线上的顶点根据凹凸性的不同,需要做不同的处理,所述处理包括:
(1)凸顶点的处理:对每个凸顶点vi,所述凸顶点vi的角分线bi与后面顶点vi+1的角分线bi+1求交得到交点ni,ni的Ea和Eb分别设置为vi的Ea和vi+1的Eb,对边Eo设为vi的Eb,计算ni与其对边Eo的距离并将ni存入队列Q;针对所有凸顶点都进行同样的处理,在所有凸顶点计算完毕后,将队列Q按照距离从小到大排序,然后进行如下计算:
1)从队列中取出到对边距离最近的点ni,如果ni的Ea的末端点或Eb的前端点已被处理过,则忽略该点,从队列中取下一个点,直到取得有效点;
2)将线段(vi,ni)和(vi+1,ni)加入直骨架列表S中;
3)根据ni的Ea和Eb或者Ea和Eb的延长线计算其角分线,并将Ea的前端点vi和Eb的后端点vi+1设置标志,表明已被处理过;
4)ni的角分线与其前后的角分线bi-1,bi+1求交,得到两个交点,计算交点到对边的距离并将交点存入Q中;
5)重复执行步骤1)-4)直到Q为空,即针对队列中所有的点计算完毕。
(2)凹顶点的处理:对于每个凹顶点vi,除了计算所述凹顶点vi与其相邻前后两个顶点vi-1和vi+1的角分线的交点之外,还需要计算凹顶点vi与对边的交点,参见图4(b),具体为:
1)将所述凹顶点vi的前一条边Ea和后一条边Eb延长并与对边Ed相交,获得Ea和Eb与对边Ed的交点Ba、Bb,计算Ea和Eb延长线与对边Ed的交线,并计算在交点Ba、Bb处的角分线;
2)计算三角形(Ba,Bb,vi)的内心ni,计算ni与对边Ed的距离,并将ni存入Q中;
3)如果Q中距离对边最近的顶点为凹点,将其内心ni分解为两个位置相同的点ni及Ni,设置ni的Ea和Eb分别为vi的Ea和Ed,Ni的Ea和Eb为Ed和vi的Eb,参见图4(b)所示;
4)将线段(vi,ni)和(vi,Ni)加入直骨架列表S中;
5)根据ni和Ni的Ea和Eb分别计算其角分线,并与相邻角分线求交,交点信息压入队列Q;
对于Ea和Eb的坡面角不相同的情况,bi将不再是角分线,bi的计算需要考虑Ea和Eb对应的坡面角α和β:如果相邻坡面角不同,则上述角分线求交,变为下面定义的bi之间的求交:
bi=(xa+τxb,ya+τyb) 式(2)
其中,(xa,ya)(xb,yb)分别表示相邻边Ea和Eb的单位向量,参见图5。
如果轮廓线中的某条线段对应的坡面角是直角(山墙),则式(1)是奇异的。为了处理这类情况,山墙的坡面角被定义为89.99度。用户在输入外墙轮廓线时,该轮廓线先进行偏移操作,偏移后的轮廓线会比原来的轮廓线大,这时0.01度的误差并不影响用户使用。
所述Z坐标计算单元,用于计算直骨架节点的Z坐标;
所述直骨架是由多条直线段构成,直线段间的交点称为节点,每个节点对应外墙轮廓线的一条边,根据节点到该边的距离及该边对应的坡面角,可以计算出该节点的Z坐标。
直骨架列表中的线段之间的交点称为直骨架节点,每个直骨架结点都有一个对边Eo,根据节点ni到Eo的距离d以及对应的坡面角α,可以计算出该节点的Z坐标nz,参见图6:
nz=d×tan(α) 式(3)
至此每个节点的三维坐标计算完毕。
所述多面体模型生成单元,用于基于生成的所述直骨架及其坐标生成线框屋顶多面体模型;
当所有的直骨架节点坐标计算完毕,直骨架列表中的线段由二维变成三维,直骨架与输入的外墙轮廓线一起构成一个三维线框模型,参见图7。所述外墙轮廓线中的每一条边都是某些直骨架顶点的Ea和Eb,这些直骨架顶点集合构成一个多边形的顶点,进而构成一个平面。这些平面构成了该轮廓线的多面体模型,参见图7。所有共享同一条轮廓边的节点构成一个面,根据该规则,可以将线框模型转换成多面体模型。
所述圆锥面生成单元,用于在输入的外墙轮廓线中包含圆弧时生成圆锥面;
如果输入的外墙轮廓线中包含圆弧,需要用圆锥面替换圆弧离散后生成的平面。至此,屋顶的上表面生成完毕。步骤二中被离散的圆弧在步骤五中是以平面的形式存在的,需要将这些平面用相应的圆锥面替换。这些平面首先被删除,然后利用圆锥与平面或圆锥与圆锥求交算法将圆锥面缝补到多面体模型中,参见图8。
所述下表面模型生成单元,用于生成屋顶下表面模型;
当所有的平面和圆锥面都生成之后,屋顶的上表面(外表面)构建完毕。屋顶的下表面可以通过对上表面做偏移操作完成。上下表面共同构成屋顶的实体模型。偏移操作方法如下:
1)记录每个面的拓扑信息;
2)对每个面进行偏移;
3)根据面的拓扑信息,将偏移后的面缝补成一个整体,参见图9。
所述屋檐生成单元,用于生成屋檐;
本文提供三种不同类型的屋檐以满足不同的用户需求。三种不同类型的屋檐生成方式如下,参见图10:
1)将上下屋顶表面的侧边用平面缝补起来,屋顶边缘与屋面底部垂直;
2)用户指定屋檐标高,超出标高的部分被切掉;
3)屋顶边缘与屋顶所在平面垂直,超出标高的部分被切掉;
另外,本申请实施例还公开了一种电子设备,其包括存储装置和一个或多个处理器,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如实施例一的方法。
本申请实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如实施例一的方法。
附图中的流程图和框图显示了根据本申请的多个实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图和框图中的每个方框可以代表一个单元、模块、程序段或代码的一部分,包含一个或多个用于实现逻辑功能的计算机可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。也要注意的是,框图和流程图中的每个方框或方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请不限制于任何特定形式的硬件和软件的结合。综上所述,以上仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种屋顶建模方法,其特征在于,包括如下步骤:
步骤一:预处理输入的外墙轮廓线;
步骤二:离散所述外墙轮廓线中的圆弧;
步骤三:根据预处理和离散后的多边形计算并生成屋顶的直骨架;
步骤四:计算直骨架节点的Z坐标;
步骤五:基于生成的所述直骨架及其坐标生成线框和屋顶多面体模型;
步骤六:在输入的所述外墙轮廓线中包含圆弧时生成圆锥面;
步骤七:生成屋顶下表面模型;
步骤八:生成屋檐。
2.根据权利要求1所述的方法,其特征在于,所述预处理用于修复输入的所述外墙轮廓线的瑕疵,具体包括:
(1)删除极短边;
(2)合并共线的相邻边;
(3)通过微调线段的端点或延长求交,使相邻的边首尾相接;
(4)删除重复边和往返边。
3.根据权利要求1或2所述的方法,其特征在于,所述离散所述外墙轮廓线中的圆弧包括:采用均匀采样来离散所述外墙轮廓线中的圆弧,使用多段直线段来逼近所述外墙轮廓线中的圆弧。
4.根据权利要求1或2所述的方法,其特征在于,所述计算并生成屋顶的直骨架的步骤包括:
针对所述外墙轮廓线上的每一个顶点vi,保存数据结构:角分线bi、前一条边Ea和后一条边Eb,其中vi表示第i个顶点,所述外墙轮廓线上的顶点根据凹凸性的不同,需要做不同的处理,所述处理包括凸顶点的处理和凹顶点的处理。
5.根据权利要求4所述的方法,其特征在于,所述凸顶点的处理具体包括:
对每个凸顶点vi,所述凸顶点vi的角分线bi与后面顶点vi+1的角分线bi+1求交得到交点ni,ni的Ea和Eb分别设置为vi的Ea和vi+1的Eb,对边Eo设为vi的Eb,计算ni与其对边Eo的距离并将ni存入队列Q;针对所有凸顶点都进行同样的处理,在所有凸顶点计算完毕后,将队列Q按照距离从小到大排序,然后进行如下计算:
(1)从队列中取出到对边距离最近的点ni,如果ni的Ea的末端点或Eb的前端点已被处理过,则忽略该点,从队列中取下一个点,直到取得有效点;
(2)将线段(vi,ni)和(vi+1,ni)加入直骨架列表S中;
(3)根据ni的Ea和Eb或者Ea和Eb的延长线计算其角分线,并将Ea的前端点vi和Eb的后端点vi+1设置标志,表明已被处理过;
(4)ni的角分线与其前后的角分线bi-1,bi+1求交,得到两个交点,计算交点到对边的距离并将交点存入Q中;
(5)重复执行步骤1)-4)直到Q为空,即针对队列中所有的点计算完毕。
6.根据权利要求4所述的方法,其特征在于,所述凹顶点的处理具体包括:
对于每个凹顶点vi,除了计算所述凹顶点vi与其相邻前后两个顶点vi-1和vi+1的角分线的交点之外,还需要计算凹顶点vi与对边的交点,具体为:
(1)将所述凹顶点vi的前一条边Ea和后一条边Eb延长并与对边Ed相交,获得Ea和Eb与对边Ed的交点Ba、Bb,计算Ea和Eb延长线与对边Ed的交线,并计算在交点Ba、Bb处的角分线;
(2)计算三角形(Ba,Bb,vi)的内心ni,计算ni与对边Ed的距离,并将ni存入Q中;
(3)如果Q中距离对边最近的顶点为凹点,将其内心ni分解为两个位置相同的点ni及Ni,设置ni的Ea和Eb分别为vi的Ea和Ed,Ni的Ea和Eb为Ed和vi的Eb,参见图4(b)所示;
(4)将线段(vi,ni)和(vi,Ni)加入直骨架列表S中;
(5)根据ni和Ni的Ea和Eb分别计算其角分线,并与相邻角分线求交,交点信息压入队列Q;
对于Ea和Eb的坡面角不相同的情况,bi将不再是角分线,bi的计算需要考虑Ea和Eb对应的坡面角α和β:如果相邻坡面角不同,则上述角分线求交,变为下面定义的bi之间的求交:
bi=(xa+τxb,ya+τyb);
其中,(xa,ya)(xb,yb)分别表示相邻边Ea和Eb的单位向量。
7.根据权利要求1或2所述的方法,其特征在于,所述计算直骨架节点的Z坐标具体为:
直骨架列表中的线段之间的交点称为直骨架节点,每个直骨架结点都有一个对边Eo,根据节点ni到Eo的距离d以及对应的坡面角α,可以计算出该节点的Z坐标nz,其中:
nz=d×tan(α)。
8.根据权利要求1或2所述的方法,其特征在于,所述生成屋顶下表面模型具体为:
当所有的平面和圆锥面都生成之后,屋顶的上表面构建完毕,屋顶的下表面通过对上表面做偏移操作完成,所述偏移操作包括:
(1)记录每个面的拓扑信息;
(2)对每个面进行偏移;
(3)根据面的拓扑信息,将偏移后的面缝补成一个整体。
9.根据权利要求1或2所述的方法,其特征在于,所述生成屋檐包括三种具体的方式,包括:
(1)将上下屋顶表面的侧边用平面缝补起来,屋顶边缘与屋面底部垂直;
(2)用户指定屋檐标高,超出标高的部分被切掉;
(3)屋顶边缘与屋顶所在平面垂直,超出标高的部分被切掉。
10.一种屋顶建模装置,其特征在于,所述装置包括处理单元、离散单元、直骨架生成单元、Z坐标计算单元、多面体模型生成单元、圆锥面生成单元、下表面模型生成单元和屋檐生成单元,其中:
所述处理单元,用于预处理输入的外墙轮廓线;
所述离散单元,用于离散所述外墙轮廓线中的圆弧;
所述直骨架生成单元,用于根据所述处理单元预处理和所述离散单元离散后形成的多边形计算并生成屋顶的直骨架;
所述Z坐标计算单元,用于计算直骨架节点的Z坐标;
所述多面体模型生成单元,用于基于生成的所述直骨架及其坐标生成线框和屋顶多面体模型;
所述圆锥面生成单元,用于在输入的所述外墙轮廓线中包含圆弧时生成圆锥面;
所述下表面模型生成单元,用于生成屋顶下表面模型;
所述屋檐生成单元,用于生成屋檐。
11.根据权利要求10所述的装置,其特征在于,所述处理单元,具体用于:
(1)删除极短边;
(2)合并共线的相邻边;
(3)通过微调线段的端点或延长求交,使相邻的边首尾相接;
(4)删除重复边和往返边。
12.根据权利要求10或11所述的装置,其特征在于,所述离散单元,具体用于:采用均匀采样来离散所述外墙轮廓线中的圆弧,使用多段直线段来逼近所述外墙轮廓线中的圆弧。
13.根据权利要求10或11所述的装置,其特征在于,所述直骨架生成单元,具体用于:
针对所述外墙轮廓线上的每一个顶点vi,保存数据结构:角分线bi、前一条边Ea和后一条边Eb,其中vi表示第i个顶点,所述外墙轮廓线上的顶点根据凹凸性的不同,需要做不同的处理,所述处理包括凸顶点的处理和凹顶点的处理。
14.根据权利要求13所述的装置,其特征在于,所述凸顶点的处理具体包括:
对每个凸顶点vi,所述凸顶点vi的角分线bi与后面顶点vi+1的角分线bi+1求交得到交点ni,ni的Ea和Eb分别设置为vi的Ea和vi+1的Eb,对边Eo设为vi的Eb,计算ni与其对边Eo的距离并将ni存入队列Q;针对所有凸顶点都进行同样的处理,在所有凸顶点计算完毕后,将队列Q按照距离从小到大排序,然后进行如下计算:
(1)从队列中取出到对边距离最近的点ni,如果ni的Ea的末端点或Eb的前端点已被处理过,则忽略该点,从队列中取下一个点,直到取得有效点;
(2)将线段(vi,ni)和(vi+1,ni)加入直骨架列表S中;
(3)根据ni的Ea和Eb或者Ea和Eb的延长线计算其角分线,并将Ea的前端点vi和Eb的后端点vi+1设置标志,表明已被处理过;
(4)ni的角分线与其前后的角分线bi-1,bi+1求交,得到两个交点,计算交点到对边的距离并将交点存入Q中;
(5)重复执行步骤1)-4)直到Q为空,即针对队列中所有的点计算完毕。
15.根据权利要求13所述的装置,其特征在于,所述凹顶点的处理具体包括:
对于每个凹顶点vi,除了计算所述凹顶点vi与其相邻前后两个顶点vi-1和vi+1的角分线的交点之外,还需要计算凹顶点vi与对边的交点,具体为:
(1)将所述凹顶点vi的前一条边Ea和后一条边Eb延长并与对边Ed相交,获得Ea和Eb与对边Ed的交点Ba、Bb,计算Ea和Eb延长线与对边Ed的交线,并计算在交点Ba、Bb处的角分线;
(2)计算三角形(Ba,Bb,vi)的内心ni,计算ni与对边Ed的距离,并将ni存入Q中;
(3)如果Q中距离对边最近的顶点为凹点,将其内心ni分解为两个位置相同的点ni及Ni,设置ni的Ea和Eb分别为vi的Ea和Ed,Ni的Ea和Eb为Ed和vi的Eb,参见图4(b)所示;
(4)将线段(vi,ni)和(vi,Ni)加入直骨架列表S中;
(5)根据ni和Ni的Ea和Eb分别计算其角分线,并与相邻角分线求交,交点信息压入队列Q;
对于Ea和Eb的坡面角不相同的情况,bi将不再是角分线,bi的计算需要考虑Ea和Eb对应的坡面角α和β:如果相邻坡面角不同,则上述角分线求交,变为下面定义的bi之间的求交:
bi=(xa+τxb,ya+τyb);
其中,(xa,ya)(xb,yb)分别表示相邻边Ea和Eb的单位向量。
16.根据权利要求10或11所述的装置,其特征在于,所述Z坐标计算单元,具体用于:
直骨架列表中的线段之间的交点称为直骨架节点,每个直骨架结点都有一个对边Eo,根据节点ni到Eo的距离d以及对应的坡面角α,可以计算出该节点的Z坐标nz,其中:
nz=d×tan(α)。
17.根据权利要求10或11所述的装置,其特征在于,所述下表面模型生成单元,具体用于:
当所有的平面和圆锥面都生成之后,屋顶的上表面构建完毕,屋顶的下表面通过对上表面做偏移操作完成,所述偏移操作包括:
(1)记录每个面的拓扑信息;
(2)对每个面进行偏移;
(3)根据面的拓扑信息,将偏移后的面缝补成一个整体。
18.根据权利要求10或11所述的装置,其特征在于,所述生成屋檐包括三种具体的方式,包括:
(1)将上下屋顶表面的侧边用平面缝补起来,屋顶边缘与屋面底部垂直;
(2)用户指定屋檐标高,超出标高的部分被切掉;
(3)屋顶边缘与屋顶所在平面垂直,超出标高的部分被切掉。
19.一种电子设备,其特征在于,所述电子设备包括:
存储装置;
一个或多个处理器;
所述存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-9之一所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被执行时,实现如权利要求1-9之一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910874190.2A CN110598331B (zh) | 2019-09-17 | 2019-09-17 | 一种屋顶建模的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910874190.2A CN110598331B (zh) | 2019-09-17 | 2019-09-17 | 一种屋顶建模的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110598331A true CN110598331A (zh) | 2019-12-20 |
CN110598331B CN110598331B (zh) | 2023-05-26 |
Family
ID=68860302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910874190.2A Active CN110598331B (zh) | 2019-09-17 | 2019-09-17 | 一种屋顶建模的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110598331B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112528353A (zh) * | 2020-12-18 | 2021-03-19 | 深圳须弥云图空间科技有限公司 | 一种基于cad图纸进行三维场景重建的方法及装置 |
WO2021142978A1 (zh) * | 2020-01-19 | 2021-07-22 | 杭州群核信息技术有限公司 | 一种综合性的轮廓曲线偏置方法 |
CN113761639A (zh) * | 2021-10-12 | 2021-12-07 | 中建安装集团有限公司 | 一种河底管道铺设石块填充找平模拟系统 |
CN117725663A (zh) * | 2024-02-18 | 2024-03-19 | 粤港澳大湾区数字经济研究院(福田) | 曲面屋顶的建模方法、装置、设备及存储介质 |
CN112528353B (zh) * | 2020-12-18 | 2024-06-07 | 深圳须弥云图空间科技有限公司 | 一种基于cad图纸进行三维场景重建的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968524A (zh) * | 2012-11-06 | 2013-03-13 | 西北工业大学 | 一种二维变曲率型材零件工艺模型的建模方法 |
TW201500841A (zh) * | 2013-02-22 | 2015-01-01 | Aselta Nanographics | 用於電子或光學微影術之自由形狀裂開方法 |
US20180089833A1 (en) * | 2016-09-27 | 2018-03-29 | Xactware Solutions, Inc. | Computer Vision Systems and Methods for Detecting and Modeling Features of Structures in Images |
CN108009353A (zh) * | 2017-12-01 | 2018-05-08 | 北京航空航天大学 | 一种用于飞机结构件复杂槽腔内面间最短距离计算方法 |
-
2019
- 2019-09-17 CN CN201910874190.2A patent/CN110598331B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968524A (zh) * | 2012-11-06 | 2013-03-13 | 西北工业大学 | 一种二维变曲率型材零件工艺模型的建模方法 |
TW201500841A (zh) * | 2013-02-22 | 2015-01-01 | Aselta Nanographics | 用於電子或光學微影術之自由形狀裂開方法 |
US20180089833A1 (en) * | 2016-09-27 | 2018-03-29 | Xactware Solutions, Inc. | Computer Vision Systems and Methods for Detecting and Modeling Features of Structures in Images |
CN108009353A (zh) * | 2017-12-01 | 2018-05-08 | 北京航空航天大学 | 一种用于飞机结构件复杂槽腔内面间最短距离计算方法 |
Non-Patent Citations (2)
Title |
---|
张辉等: ""一种构建任意发生元 Voronoi 图的实用算法"", 《地理与地理信息科学》 * |
王飞,李成名: ""利用多边形骨架线生成房屋模型算法研究"", 《测绘通报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021142978A1 (zh) * | 2020-01-19 | 2021-07-22 | 杭州群核信息技术有限公司 | 一种综合性的轮廓曲线偏置方法 |
CN112528353A (zh) * | 2020-12-18 | 2021-03-19 | 深圳须弥云图空间科技有限公司 | 一种基于cad图纸进行三维场景重建的方法及装置 |
CN112528353B (zh) * | 2020-12-18 | 2024-06-07 | 深圳须弥云图空间科技有限公司 | 一种基于cad图纸进行三维场景重建的方法及装置 |
CN113761639A (zh) * | 2021-10-12 | 2021-12-07 | 中建安装集团有限公司 | 一种河底管道铺设石块填充找平模拟系统 |
CN113761639B (zh) * | 2021-10-12 | 2024-03-08 | 中建安装集团有限公司 | 一种河底管道铺设石块填充找平模拟系统 |
CN117725663A (zh) * | 2024-02-18 | 2024-03-19 | 粤港澳大湾区数字经济研究院(福田) | 曲面屋顶的建模方法、装置、设备及存储介质 |
CN117725663B (zh) * | 2024-02-18 | 2024-06-11 | 粤港澳大湾区数字经济研究院(福田) | 曲面屋顶的建模方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110598331B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4381743B2 (ja) | 境界表現データからボリュームデータを生成する方法及びそのプログラム | |
WO2017166687A1 (zh) | 一种三维交叉道路模型生成的方法、装置及存储介质 | |
Shephard et al. | Automatic three‐dimensional mesh generation by the finite octree technique | |
Zhao et al. | A robust hole-filling algorithm for triangular mesh | |
JP2642070B2 (ja) | 四角形メッシュの生成方法及びシステム | |
Turkiyyah et al. | An accelerated triangulation method for computing the skeletons of free-form solid models | |
Sheffer et al. | Robust spherical parameterization of triangular meshes | |
WO2021203711A1 (zh) | 一种基于几何重建模型的等几何分析方法 | |
CN107622530B (zh) | 一种高效鲁棒的三角网切割方法 | |
Rabinovich et al. | Modeling curved folding with freeform deformations | |
CN110598331A (zh) | 一种屋顶建模的方法和装置 | |
CN114494648B (zh) | 基于有限元网格划分的网格调整方法、设备和存储介质 | |
Athanasiadis et al. | Feature-based 3D morphing based on geometrically constrained spherical parameterization | |
Piegl | Geometric method of intersecting natural quadrics represented in trimmed surface form | |
Kaul | Computing Minkowski sums | |
Kim et al. | A hexahedral-dominant FE meshing technique using trimmed hexahedral elements preserving sharp edges and corners | |
CN112509141A (zh) | 一种建筑室内三维点云数据中正交平面对的提取方法 | |
JP2920195B2 (ja) | 形状変換方法及び装置 | |
Xian et al. | Efficient and effective cage generation by region decomposition | |
Quadros | An approach for extracting non-manifold mid-surfaces of thin-wall solids using chordal axis transform | |
Nielson | MC/sup*: star functions for marching cubes | |
JP2000251095A (ja) | ポリゴンメッシュの領域分割方法及びその装置並びに情報記録媒体 | |
JP2008533614A (ja) | 整合輪郭プロファイルを生成するシステム及び方法 | |
CN116883624B (zh) | 骨骼快速绑定方法和装置、电子设备及存储介质 | |
JPH04155585A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |