[0030] 下面结合附图和具体实施方式对本发明做进一步阐述和说明。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。
[0031] 本发明的基于中轴线的三维构筑物加固方法,其基本做法如下:
[0032] 首先,基于待加固的三维构筑物构建与其对应的3D多面体模型(本发明中简称为3D模型),3D模型是一种由顶点、边和面所构建的模型,由此对现实中具有实体的三维构筑物进行虚拟化。
[0033] 然后,针对3D模型获取其中轴线。需要注意的是,本发明中所述的中轴线并非是一条直线或线段,而是将3D模型中与模型边缘有三个及以上切点的所有最大内切球的球心所共同构成的线定义为3D模型的其中轴线。模型边缘是指构成模型外表面的点、边或面元素。
[0034] 在二维图形中,中轴线为与图形边缘有两个及以上切点的最大圆的圆心所共同构成的线。将中轴线这一思路推广到三维空间中,本发明中的多面体三维中轴线实际上为所有与多面体有三个或三个以上元素(可以是多面体的一顶点,一条边或一个面)相切的内切球的球心组成的轨迹。在二维结构中较为稳定的结构为三角形,而三维结构中较为稳定得形状为锥形,中轴线当中的点都可以与其球体的三个及以上的切点共同组成锥形大大增加了,模型的稳定性。
[0035] 最后,获取到3D模型的中轴线后,即可将3D模型中的中轴线重新映射回三维构筑物,并在三维构筑物内部沿该中轴线的映射轨迹设置加固框架。
[0036] 本发明所说的三维构筑物可以是任意的3D空间结构物体,其中包括3D打印模型,建筑领域中的建筑结构、建筑模型等等,在各种三维构筑物加固领域均可使用该加固方案。但由于三维构筑物加固框架是设在构筑物内部的,因此三维构筑物需要是内部中空的多面体或者杆件框架,以便于有空间布置加固框架。
[0037] 经过测试,该中轴线在添加入3D模型中作为整体框架后,模型的稳定性极大幅度的提升。事实上,自然界中的植物叶子的脉络也对应于本发明中所述的中轴线,这个中轴结构是植物叶子长期受风吹雨打而进化的结果,侧面说明了中轴线结构能够增加植物叶片的强度。
[0038] 另外,由于所有模型都存在有其对应的中轴线,因此将中轴线作为3D模型的框架的加固方案将会是一个针对所有模型都有效的性能优异的通用方案。
[0039] 在上述技术方案中,针对3D模型获取中轴线是本发明的关键所在。本发明以不含内洞的3D多面体模型(下简称为3D模型)为例进行相应的讨论。在实现的过程中,如何获得中轴线是一个较为复杂困难的问题,因为在复杂3D多面体模型的中轴线是与图形边缘有三个及以上切点的最大内切球的球心所构成的点的合集。若3D模型含有内洞,则找出一个内切球,可以将含有内洞的情形转化为不含内洞的情形,其含义就是将含有的内环在某一点处断开,使得形式上不再存在内环。
[0040] 较为常规的产生3D模型的中轴线的方法为:追踪法。由于在3D模型的中轴线为Voronoi图的子集,因此只需要先求得其Voronoi图,接着再去掉非中轴线部分,即可得到3D模型的中轴线。其具体实现为:首先产生该模型的Voronoi图,接着对Voronoi图的每条线段进行追踪,判断其是不是中轴线,若不是则去掉该线段,直到整个模型去除掉所有不属于中轴上的部分,剩下的便是对应的中轴线(若出现中轴面则只考虑对应的边缘曲线)。
[0041] 而本发明提出了一种较为简单可行的3D模型中轴线获取方法,该方法的核心做法是:通过获得3D模型中的所有顶点,并且通过算法判断其为凸顶点还是凹点,中轴线具有一个重要性质:必定通过凸顶点,并且向模型内部延伸,即只需以每个凸顶点为端点做一条线,使得这条线上的每个点都与该凸顶点相邻的三个元素的距离相等,即可以构建中轴线。在端点上的中轴线经过延伸后将会与其他的中轴线相交,此时将交点作为新的端点重复上述步骤则可以求得整个3D模型的中轴线。
[0042] 下面具体描述本发明中提出的3D模型的中轴线获取方法,其具体的步骤如下:
[0043] S1:获得3D模型中的所有顶点,并判断每个顶点的凹凸性。
[0044] 在本发明中,每个顶点的凹凸性可以通过以下方法判断:
[0045] 若存在与该顶点直接相连的三个元素(两两之间均不存在包含关系)对应的内切球的球心轨迹落在3D模型内部,且对应的切点落在三个元素内部,则该顶点为凸顶点,否则该顶点为凹顶点。对于3D模型而言,元素可以为模型的点、边或面。若元素为点,该点到球心距离等于球体半径,则认为该点与球相切。若元素为边,若球心到该边的距离等于球体半径,则认为该边与球相切。若元素为面,若球心到该面的距离等于球体半径,则认为该面与球相切。
[0046] S2:由于中轴线必定通过凸顶点,因此仅需要对3D模型的每个凸顶点,以该凸顶点作为中轴线的一个起始点,作经过该点的中轴线分支,模型的凹顶点无需作中轴线。对于一个凸顶点作中轴线分支时,首先遍历该凸顶点相邻的所有面元素与边元素的组合,以两两之间均不存在包含关系的三个元素为一组,检查与三个元素均相切的球体是否为3D模型的内切球,若为内切球,则从起始点(也就是该凸顶点)开始沿这三个元素的所有内切球球心轨迹延伸形成该凸顶点的中轴线分支。
[0047] 需要注意的是,用于延伸形成中轴线分支的三个元素之间,任意两个元素均不能存在包含关系,所谓包含关系也就是某一元素全部属于另一元素的一部分,比如某一点位于直线上或者面上,则两者存在包含关系。满足要求的三个元素,存在不止一个内切球,而且这些内切球的球心是连续的,连接起来能够形成一条线,因此本发明正是沿着所有内切球球心轨迹延伸形成该凸顶点的中轴线分支。图5中列出了2个不同的元素组合后,到两个元素距离相等的轨迹形式。而本发明是三个元素组合来形成轨迹的,因此其轨迹在图5所示的轨迹基础上进行更为复杂的交叉,图6中列出了常见的以3个元素为基础,所形成的到三个元素距离相等的轨迹分类。
[0048] 另外,在本步骤中,某一凸顶点直接相连的所有面元素与边元素的组合中,可能存在多组符合要求的三个元素组合,对于每一组符合要求的三个元素,均需要作中轴线分支。
[0049] S3:每个凸顶点分别延伸出中轴线分支后,这些中轴线分支会出现相交的情况。当多条中轴线分支经过延伸后交于一点时,需要将交于一点的所有分支合并成一个新分支,并将这一交点作为中轴线新分支的起始顶点继续延伸。且每条新分支继续延伸时,首先将交于该新分支起始顶点的所有分支都共有的相切元素去除,以剩下的所有分支的相切元素作为新分支的相切元素,沿着这些相切元素的所有内切球球心轨迹延伸生成中轴线新分支。
[0050] 需要注意的是,在本步骤中,当新分支在延伸过程中,某个相切元素上的切点移动到元素的边缘(即继续向前动将超出该元素边界,位于3D模型之外)时,则将该相切元素替换为与该元素的相邻元素,并继续生成分支。
[0051] S4:对于中轴线分支产生的新的交点,不断重复步骤S3的操作,直到所有的中轴线分支都已经连结在一起,也就是两条最新延伸的中轴线分支重合,不产生新的交点,此时可认为中轴线延伸完毕,则以3D模型内部的所有连续的中轴线分支共同作为该3D模型的中轴线。
[0052] 本发明中的三维结构物多面体形状可以是三棱锥、正方体、长方体或其他复杂形状。下面通过具体的实例,对于本发明的加固结构形式进行说明,以便于本领域技术人员更好地理解本发明的实质。
[0053] 实施例1
[0054] 本发明用在长方体形状的中空构筑物中时,其最终加固形式如图1所示。下面基于图1,描述针对其对应的3D模型构建中轴线的过程:
[0055] 1)首先,该长方体模型中共有8个顶点,以P5顶点为例,判断顶点的凹凸性:
[0056] P5顶点直接相连的元素包括3条经过P5顶点的边以及3个经过P5顶点的面,由于用于作内切球的三个元素两两之间均不能存在包含关系,因此满足的三个元素组合有两组:
[0057] 第一组:边P5‑P1,边P5‑P7,边P5‑P6
[0058] 第二组为:面P5‑P1‑P3‑P7,面P5‑P7‑P8‑P6,面P5‑P6‑P2‑P1
[0059] 与第一组的三个元素相切时,该球体不属于3D模型的内切球,因此第一组的三个元素不符合要求。而与第二组的三个元素相切时,对应的内切球的球心轨迹落在3D模型内部,且对应的切点落在三个元素内部,因此顶点P5为凸顶点。同理,其余的7个顶点均为凸顶点。
[0060] S2:对3D模型的每个凸顶点,以该凸顶点作为中轴线的一个起始点,作经过该点的中轴线分支。同样以P5顶点为例,作中轴线分支时,由于点元素必然不符合相应要求,因此需要遍历P5顶点直接相连的所有面元素与边元素的组合,以两两之间均不存在包含关系的三个元素为一组,经过遍历同样存在前述的第一组和第二组两组元素。此时,仅第二组元素中,与三个元素均相切的球体为3D模型的内切球。由于面P5‑P1‑P3‑P7,面P5‑P7‑P8‑P6,面P5‑P6‑P2‑P1三个元素的内切球是一个球体集合,该集合的所有内切球球心可以连成一条线,因此从P5顶点开始沿这三个元素的所有内切球球心轨迹延伸形成该凸顶点的中轴线分支,也就是从P5朝P10方向的延伸线。即只需通过每个凸顶点点做一条线使得这条线上的每个点都与经过该凸顶点的三个平面的距离相等,即为中轴线分支。每个顶点都可以按照该方法延伸出一条中轴线分支。
[0061] S3:不同凸顶点延伸出的中轴线分支经过延伸后会交于一点,其中P5、P6、P7、P8顶点相交与P10点,而P1、P2、P3、P4顶点相交于P9点。当出现多条中轴线分支的交点时,将交于一点的所有分支合并成一个新分支,并将这一交点作为中轴线新分支的起始顶点继续延伸。以P10交点为例,对P10顶点进行新分支继续延伸时,首先将交于该新分支起始顶点的所有分支都共有的相切元素去除,对于P10而言,面P5‑P7‑P8‑P6就是P5‑P10、P6‑P10、P7‑P10、P8‑P10四个分支都共有的相切元素。去除面P5‑P7‑P8‑P6后,剩余的所有分支的所有相切元素还剩4个,分别为面P5‑P1‑P3‑P7、面P5‑P6‑P2‑P1、面P6‑P2‑P4‑P8、面P7‑P8‑P4‑P3。以这四个面元素作为新分支的相切元素,与这四个面均相切的所有内切球球心轨迹是沿着长方体的轴心线方向的,因此生成的中轴线新分支为P10‑P9。
[0062] S4:当新的中轴线分支继续产生新的交点时,也需要不断重复步骤S3的操作,直到所有的中轴线分支都已经连结在一起,视为完成中轴线生成。在本实施例中,从P10延伸的中轴线分支与从P9延伸的中轴线分支重合,不再产生新的交点,因此完成了中轴线生成,最终3D模型内部的所有连续的中轴线分支共同组成了该3D模型的中轴线,也就是P10‑P9、P10‑P5、P10‑P6、P10‑P7、P10‑P8、P9‑P1、P9‑P2、P9‑P3、P9‑P4一共9条线连接组成了长方体模型的中轴线。
[0063] 当获得长方体模型的中轴线后,即可在其内部沿中轴线的映射轨迹设置加固框架,形成如图1所示的加固后结构。该加固方案中所采用的数据结构为树状结构,如图4所示,每个顶点作为一个叶子节点,所有叶子节点最后被连接在一起,即P10‑P9上的点P11。
[0064] 与常用的对角线加固方式相比,本发明需要的加固框架长度大大降低。通过计算可知,在相同条件下,设长方体的长宽高为1×1×2,对角线加固需要长度为9.798的材料,而我们只需使用长度为7.928的材料,对角线加固方案中所需的材料是我们的方案的1.236倍;设长方体的长宽高为1×1×20,对角线加固需要长度为80.199的材料,而我们只需使用长度为25.928的材料,对角线加固方案中所需的材料是我们的方案的3.093倍。而且随着长方体的长度逐渐边长,本发明的加固方法对于加固材料的节省会更加明显。
[0065] 将该中轴线作为三维构筑物的主体框架,相比与只有一个空壳的三维构筑物,其模型强度将会大大增加。而相比较与完全填充的三维构筑物,其强度虽略有下降,但其材料消耗将会大大降低,加固成本也将大大降低。
[0066] 实施例2
[0067] 本发明用在正方体模型加固时的框架图如图3所示,其加固方案与最常见且稳定性十分良好的对角线加固方式相同,这进一步说明了该方案的可靠性和普适性。
[0068] 实施例3
[0069] 本发明用在三棱锥模型加固时的框架图如图4所示,其加固方案与最常见且稳定性十分良好的对角线加固方式相同,这进一步说明了该方案的可靠性和普适性。
[0070] 需要注意的是,本发明中的加固方法,可以在现实工业领域中产生众多的应用,这项3D模型加固方案将会通用于绝大部分的3D模型加固,通过将中轴线作为模型的主体框架,从而获得较好的模型强度,并且减少材料使用。具体可表现在所选择的待加固三维构筑物不同:
[0071] 如在3D打印技术中,材料是一笔巨大的支出,可以使用这一加固方案,在保持模型结构较强的情况下大大减少材料的使用,减少成本支出。当三维构筑物为3D打印模型时,上述方法设计的加固框架可以与3D打印模型本体同步打印成型,实现3D打印加固。
[0072] 而在建筑领域中,也可以采用该加固方案,通过将建筑的中轴线作为主体结构大大增加建筑模型的强度及稳定性。当三维构筑物为建筑结构框架,加固框架由加固材料浇筑(例如钢筋混凝土)或者由结构件(例如预制钢构件)拼接而成,在施工时按序安装在原本的建筑结构上。
[0073] 以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。