法律状态公告日
法律状态信息
法律状态
2020-07-14
授权
授权
2017-08-08
实质审查的生效 IPC(主分类):G06T17/05 申请日:20170331
实质审查的生效
2017-07-14
公开
公开
技术领域
本发明涉及3D模型设计领域,更具体地说,涉及一种基于画平面多边形生成吊顶3D模型的系统及方法。
背景技术
吊顶是整体居室的重要组成部分,因此吊顶的设计在整个居室装饰中占有相当重要的地位。当前,对于吊顶的3D设计与建模能力一般在3D MAX、CAD等专业的3D建模软件中提供,随着人们的知识水平的提升、以及互联网信息化的发展,消费者希望通过DIY对自己的房屋进行自设计,为此让消费者去专门学习3D MAX、CAD等专业的知识,其成本非常高,因此,降低吊顶3D设计与建模的操作难度以满足普通消费者的DIY诉求将是技术发展趋势。
现有技术中多是针对专业软件进行相应的吊顶设计和处理方法,方法复杂,学习难度大,中国专利申请,申请号201610633254.6,公开日2016年12月21日,公开了一种基于BIM的顶模综合设计及应用方法,包括以下步骤:一、根据建筑结构图纸设计顶模系统,以标准族库为基础建立顶模三维模型;二、将建立的三维模型导出为指定接口进行结构验算并根据结果调整;三、在顶模系统使用过程中分别进行自动配模设计并优化、设计并全过程模拟顶模与塔吊安装及拆除、顶模系统照明系统三维设计及运维、全面检查安全防护、系统油电路管线综合及塔吊与顶模系统爬升规划防碰撞设计。此发明提供的基于BIM的顶模综合设计方法,使得顶模系统各项设计更加可视化、精确化,从直观层面发现顶模设计过程中存在的问题并及时调整,提高了工作效率,减少不必要的损失。但其主要是针对于顶部设计进行优化和调整,且专业度高,不适用于家用。
中国专利申请,申请号201210024289.1,公开日2012年7月5日,公开了一种电梯轿厢吊顶的设计方法,包括以下步骤:(1)绘制轿厢吊顶标准AutoCAD图样;(2)插入AutoCAD图形内嵌参数表格;(3)根据现有技术建立数据模型;(4)判断数据模型是否正确;(5)变更Excel数据链接表;(6)判断相关参数是否正确;(7)绘制产品的AutoCAD图样。利用此发明设计电梯轿厢吊顶,不仅可提高专业设计人员的工作效率,而且可提高数据准确度从而保证产品质量的一致性和稳定性。此方法也是针对于专业设计人员设计,且参数要求高,自由度小,复杂度高,效率低。
发明内容
1.要解决的技术问题
针对现有技术中存在的现有技术中所提及的只能在三维模型中对房顶增加平面、翻转法线、倒角挤出等一系列专业复杂的操作才能生成吊顶的3D模型的问题,本发明提供了一种基于画平面多边形生成吊顶3D模型的系统及方法。它可以实现在二维设计平面图的房顶多边形中画一个或多个任意多边形,并直接生成吊顶3D模型。
2.技术方案
本发明的目的通过以下技术方案实现。
一种基于画平面多边形生成吊顶3D模型的系统,包括:
建模器:对房屋进行建模;
绘制平面节点拾取器:负责捕获在画图平面中绘制的房顶多边形各节点坐标和吊顶多边形的各节点坐标;
吊顶3D模型绘制器:对吊顶进行绘制;
房顶灯带绘制器:对灯带进行绘制;
建模器从绘制平面节点拾取器获取房顶多边形及吊顶多边形节点在绘制平面上的坐标,吊顶3D模型绘制器和房顶灯带绘制器从建模器中获取对应的建模信息,并根据此建模信息吊顶和灯带进行绘制。
更进一步的,所述的建模器包括:
房顶对象建模器:从绘制平面节点拾取器中获取房顶多边形节点坐标以及吊顶多边形节点坐标,并将房顶多边形节点坐标和吊顶多边形节点坐标分别向房顶平面进行投影,对房顶多边形节点和吊顶多边形节点在房顶平面的投影坐标进行记录;
吊顶对象建模器:从绘制平面节点拾取器中获取房顶多边形节点坐标以及吊顶多边形节点坐标,并将房顶多边形节点坐标和吊顶多边形节点坐标分别向吊顶平面进行投影,对房顶多边形节点和吊顶多边形节点在吊顶平观的投影坐标进行记录;
灯带对象建模器:负责对灯带对象的信息模型进行构建,灯带信息模型包括:灯带宽度,灯带颜色。
吊顶3D模型绘制器从吊顶对象建模器中获取的建模信息包括;房顶多边形节点以及吊顶多边形节点在吊顶平面上投影的坐标;
吊顶灯带绘制器从房顶对象建模器中获取的建模信息包括;房顶多边形节点以及吊顶多边形节点在房顶平面上投影的坐标;吊顶灯带绘制器从灯带对象建模器中获取的建模信息包括:灯带的宽度和颜色;
一种基于画平面多边形生成吊顶3D模型的方法,其步骤如下:
步骤1、拾取多边形节点坐标;
步骤2、构建信息模型;
步骤3、吊顶3D模型绘制;
步骤4、房顶灯带着色建模;
其中步骤3以及步骤4无先后顺序之分,步骤3在前或步骤4在前或两者同时进行。
更进一步的,步骤1中拾取多边形节点坐标时使用绘制平面节点拾取器捕获在画图平面中绘制的房顶多边形各节点坐标和吊顶多边形的各节点坐标,并按操作顺序对其进行记录。
更进一步的,步骤2包括如下步骤:
房顶对象建模器从绘制平面节点拾取器中获取房顶多边形节点坐标以及吊顶多边形节点坐标,并将房顶多边形节点坐标和吊顶多边形节点坐标分别向房顶平面进行投影,对房顶多边形节点和吊顶多边形节点在房顶平面的投影坐标为进行记录;
吊顶对象建模器从绘制平面节点拾取器中获取房顶多边形节点坐标以及吊顶多边形节点坐标,并将房顶多边形节点坐标和吊顶多边形节点坐标分别向吊顶平面进行投影,对房顶多边形节点和吊顶多边形节点在吊顶平观的投影坐标为进行记录;
灯带对象建模器对房顶灯带的宽度以及灯带颜色进行记录。
更进一步的,还包括吊顶对象建模器对吊顶厚度进行设置,并由吊顶对象建模器对吊顶厚度进行记录;灯带对象建模器对房灯带的宽度以及灯带颜色进行设置并记录。。
更进一步的,步骤3中,吊顶3D模型绘制分为平行于地面的吊顶水平面绘制以及垂直于地面的吊顶垂直面绘制两部分。两部分协调绘制,协调性好,错误率低。
更进一步的,平行于地面的吊顶水平面绘制,步骤如下:吊顶3D模型绘制器从吊顶对象建模器中获取房顶多边形节点坐标以及吊顶多边形节点坐标在吊顶平面上的投影坐标,以在吊顶平面中分别生成房顶多边形节点的投影坐标和吊顶多边形节点的投影坐标,然后取房顶多边形节点投影坐标内的每个像素对应的坐标,判断像素对应的坐标是否落在吊顶多边形节点投影坐标内,如果在内,则像素对应的坐标不被渲染;如果不在内,则对像素对应的坐标进行正常渲染。
更进一步的,垂直于地面的吊顶垂直面绘制,步骤如下:吊顶3D模型绘制器从吊顶对象建模器中获取吊顶厚度以及吊顶多边形节点在吊顶平面的投影坐标,从吊顶多边形的投影坐标中按边循环取对应两端点的坐标,并根据此两端点的坐标分别向垂直于房顶平面方向垂直偏移吊顶厚度,得到偏移后的两点,再根据偏移前两端点的坐标和偏移后的两点画出垂直于地面的吊顶垂直面的3D模型。
更进一步的,步骤4中,吊顶3D模型绘制器从房顶对象建模器中获取吊顶多边形节点以及吊顶多边形节点在房顶平面的投影坐标,并从灯带对象建模器中获取取灯带宽度以及灯带颜色,从房顶多边形节点的投影坐标中取房顶平面内的每个像素对应的节点坐标,判断像素对应的坐标是否落在吊顶多边形节点的投影坐标内,如在内,则不对此像素对应的坐标进行灯光着色;如不在内,则再循环获取吊顶多边形节点坐标的每条线段边,并计算像素对应的坐标到每条线段边的距离,取最小距离,如果此最小距离小于或等于灯带宽度,则对像素对应的坐标进行灯光着色,否则不对着进行灯光着色,最终在房顶的3D模型的平面上形成各吊顶多边形对应的灯带。
3.有益效果
相比于现有技术,本发明的优点在于:
(1)本发明提供了吊顶对象建模器和吊顶3D模型绘制器,即发明了一种通过绘制平面多边形以自动生成吊顶3D模型的方法,解决了现有技术中生成吊顶3D模型需要一系统专业复杂的操作的问题,可以为普通用户提供吊顶绘制工具,方便简单,工作效率高,成本低;
(2)本发明提供了房顶对象建模器和灯带对象建模器以及房顶灯带绘制器,即发明了一种通过绘制平面多边形以在房顶上自动生成灯带的方法,解决了现有技术中生成灯带需要一系统专业复杂的操作的问题,灯带绘制方便,修改容易;
(3)在二维设计平面图的房顶多边形内画一个或多个任意多边形,并自动生成吊顶3D模型以及灯带的方法,只要用户会画多边形就可以对居室吊顶进行设计,大大降低吊顶3D设计与建模的操作难度,使得普通用户对居室吊顶的DIY成为可能;
(4)本方案结合绘制系统使用对应的绘制方法可以快速对吊顶3D进行绘制,效率高,简单易学,成本低,易于推广。
附图说明
图1为本发明的所涉及的绘制平面中的吊顶多边形示意图;
图2为房顶平面和吊顶平面建模示意块图;
图3为系统模块图;
图4为本发明的算法流程图。
具体实施方式
下面结合说明书附图和具体的实施例,对本发明作详细描述。
实施例1
本方案涉及在二维设计平面图的房顶多边形中画一个或多个任意多边形,并直接生成吊顶3D模型的系统以及方法。
一种基于画平面多边形生成吊顶3D模型的系统,如图3所示,包括:
建模器:对房屋进行建模;
绘制平面节点拾取器:负责捕获在画图平面中绘制的房顶多边形各节点坐标和吊顶多边形的各节点坐标,并按操作顺序对其进行记录;
吊顶3D模型绘制器:根据吊顶对象建模器中的房顶多边形和吊顶多边形的各节点坐标,对吊顶进行绘制;
房顶灯带绘制器:根据房顶对象建模器中的房顶多边形和吊顶多边形的各节点坐标以及灯带对象建模器中的灯带信息模型,对房顶的灯带进行绘制;
所述的建模器包括:
房顶对象建模器:负责对绘制平面节点拾取器中的房顶多边形和吊顶多边形的各节点坐标向房顶平面进行投影,并分别对房顶多边形和吊顶多边形的各节点在房顶平面的投影坐标进行记录;
吊顶对象建模器:负责对绘制平面节点拾取器中的房顶多边形和吊顶多边形的各节点坐标向吊顶平面进行投影,并分别对房顶多边形和吊顶多边形的各节点在吊顶平台的投影坐标进行记录,以及对吊顶厚度进行记录;
灯带对象建模器:负责对灯带对象的信息模型进行构建,灯带信息模型包括:灯带宽度,灯带颜色。
屋顶对象建模器和房顶对象建模器从绘制平面节点拾取器获取房顶多边形及吊顶多边形节点在绘制平面上的坐标。吊顶3D模型绘制器获取吊顶对象建模器信息进行吊顶绘制,房顶灯带绘制器获取房顶对象建模器和灯带对象建模器信息进行灯带绘制。
完成对整个吊顶结构和灯带的3D绘制。
实施例2
基于画平面多边形生成吊顶3D模型的系统的技术方案的实现方法,如图1、2、4,其步骤包括:
步骤1、拾取多边形节点坐标,绘制平面节点拾取器捕获在画图平面中绘制的房顶多边形各节点坐标和吊顶多边形的各节点坐标,并按操作顺序对其进行记录,假设从画图平面中被记录后的房顶多边形节点坐标为group_draw_roof以及吊顶多边形节点坐标为group_draw_ceiling;
步骤2、构建信息模型。
房顶对象建模器从绘制平面节点拾取器中获取房顶多边形节点坐标group_draw_roof以及吊顶多边形节点坐标group_draw_ceiling,并将房顶多边形节点坐标group_draw_roof和吊顶多边形节点坐标group_draw_ceiling分别向房顶平面进行投影,假设房顶多边形节点坐标group_draw_roof在房顶平面投影后的多边形节点坐标为group_roof_roof以及吊顶多边形节点坐标group_draw_ceiling在房顶平面投影后的多边形节点坐标为group_roof_ceiling,对投影后的多边形节点坐标为group_roof_roof和多边形节点坐标为group_roof_ceiling进行记录;
吊顶对象建模器从绘制平面节点拾取器中获取房顶多边形节点坐标group_draw_roof以及吊顶多边形节点坐标group_draw_ceiling,并将房顶多边形节点坐标group_draw_roof和吊顶多边形节点坐标group_draw_ceiling分别向吊顶平面进行投影,假设房顶多边形节点坐标group_draw_roof在吊顶平面投影后的多边形节点坐标为group_ceiling_roof以及吊顶多边形节点坐标group_draw_ceiling在吊顶平面投影后的多边形节点坐标为group_ceiling_ceiling,对投影后的多边形节点坐标为group_ceiling_roof和多边形节点坐标为group_ceiling_ceiling进行记录;对吊顶厚度进行设置,并由吊顶对象建模器对吊顶厚度进行记录;
对房灯带的宽度以及灯带颜色进行设置,并由灯带对象建模器对房灯带的宽度以及灯带颜色进行记录;
步骤3、绘制吊顶。吊顶3D模型绘制分为两部分,即:平行于地面的吊顶水平面绘制以及垂直于地面的吊顶垂直面绘制。
平行于地面的吊顶水平面绘制。吊顶3D模型绘制器从吊顶对象建模器中获取在吊顶平面投影后的房顶多边形节点坐标group_ceiling_roof以及吊顶多边形节点坐标group_ceiling_ceiling,然后取房顶多边形节点坐标group_ceiling_roof内的每个像素对应的坐标,假设此像素对应的坐标为P,并判断此像素坐标P是否落在吊顶多边形节点坐标group_ceiling_ceiling,如果像素坐标P落在吊顶多边形节点坐标group_ceiling_ceiling,则像素坐标P不被渲染,即作透明处理;如果像素坐标P不在吊顶多边形节点坐标group_ceiling_ceiling,则对像素坐标P进行正常渲染;最终渲染出来的是去除吊顶多边形的吊顶平面。
垂直于地面的吊顶垂直面绘制。此垂直面在现实世界中一般用于粘贴石膏线。吊顶3D模型绘制器从吊顶对象建模器中获取吊顶厚度对应的坐标值以及在吊顶平面投影后的吊顶多边形节点坐标group_ceiling_ceiling,从吊顶多边形中group_ceiling_ceiling按边循环取对应两端点的坐标,假设此两端点的分别为节点a、节点b,并根据此两端点坐标分别向垂直于房顶平面方向垂直偏移吊顶厚度,节点坐标在某个方向上以一定距离进行偏移的算法在现有技术中已有公开,此处不再赘述,假设偏移后的两点分别为节点c、节点d,再根据节点a、节点b、节点c、节点d即可画出垂直于地面的吊顶垂直面的3D模型。
步骤4、房顶灯带着色建模。房顶3D模型绘制器从房顶对象建模器中获取在房顶平面投影后的吊顶多边形节点坐标group_roof_roof以及吊顶多边形节点坐标group_roof_ceiling,并从灯带对象建模器中获取取灯带宽度以及灯带颜色,从房顶多边形节点坐标group_roof_roof中取房顶平面内的每个像素对应的节点坐标,假设此像素对应的坐标为P,判断像素坐标P的坐标是否落在吊顶多边形节点坐标group_roof_ceiling内,如果像素坐标P的坐标是落在吊顶多边形节点坐标group_roof_ceiling内,则不对此像素坐标P的坐标着进行灯光着色;如果像素坐标P的坐标没有落在吊顶多边形节点坐标group_roof_ceiling内,则再循环获取吊顶多边形节点坐标group_roof_ceiling的每条线段边,并计算像素坐标P到每条线段边的距离(节点坐标到某线段的距离的算法在现有技术中已有公开,此处不再赘述),取最小距离,如果此最小距离小于或等于灯带宽度,则对像素坐标P进行灯光着色,否则不对着进行灯光着色。最终会在房顶的3D模型的平面上形成各吊顶多边形对应的灯带。
上述的步骤3与步骤4之间没有先后顺序关系,即步骤3和步骤4以任何顺序皆落在本发明的范围内。
本发明主要简化了用户的操作复杂度,即发明了一种新的吊顶3D建模方法:在二维设计平面图中画多边形后直接生成吊顶3D模型,解决了现有技术中只能在三维模型中对房顶增加平面、翻转法线、倒角挤出等一系列专业复杂的操作才能生成吊顶的3D模型的问题,这些操作大大增加了操作复杂度,并增加了学习成本;上述方法对吊顶和灯带进行3D绘制,绘制迅速方便,易于用户学习,使用成本低,节约时间,易于推广。
实施例3
步骤1、拾取多边形节点坐标。
绘制平面节点拾取器捕获在画图平面中绘制的房顶多边形各节点坐标和吊顶多边形的各节点坐标,并按操作顺序对其进行记录,假设从画图平面中被记录后的房顶多边形节点坐标为group_draw_roof以及吊顶多边形节点坐标为group_draw_ceiling;绘制平面节点拾取器捕获房顶和吊顶的多边形顶点坐标的方式可以但不仅限于从计算机或移动设备的操作界面上感知获取或者以文件导入方式获取,对顶和吊顶的多边形顶点坐标的记录方式可以但不仅限于以数组或链表的缓存方式;
步骤2、构建信息模型。
房顶对象建模器从绘制平面节点拾取器中获取房顶多边形节点坐标group_draw_roof以及吊顶多边形节点坐标group_draw_ceiling,并将房顶多边形节点坐标group_draw_roof和吊顶多边形节点坐标group_draw_ceiling分别向房顶平面进行投影,假设房顶多边形节点坐标group_draw_roof在房顶平面投影后的多边形节点坐标为group_roof_roof以及吊顶多边形节点坐标group_draw_ceiling在房顶平面投影后的多边形节点坐标为group_roof_ceiling,对投影后的多边形节点坐标为group_roof_roof和多边形节点坐标为group_roof_ceiling进行记录;
吊顶对象建模器从绘制平面节点拾取器中获取房顶多边形节点坐标group_draw_roof以及吊顶多边形节点坐标group_draw_ceiling,并将房顶多边形节点坐标group_draw_roof和吊顶多边形节点坐标group_draw_ceiling分别向吊顶平面进行投影,假设房顶多边形节点坐标group_draw_roof在吊顶平面投影后的多边形节点坐标为group_ceiling_roof以及吊顶多边形节点坐标group_draw_ceiling在吊顶平面投影后的多边形节点坐标为group_ceiling_ceiling,对投影后的多边形节点坐标为group_ceiling_roof和多边形节点坐标为group_ceiling_ceiling进行记录;对吊顶厚度进行设置,吊顶厚度可以设置为10厘米,并由吊顶对象建模器对吊顶厚度进行记录;
对房灯带的宽度以及灯带颜色进行设置,并由灯带对象建模器对房灯带的宽度以及灯带颜色进行记录,房灯带的宽度可以设置为20厘米,灯带颜色可以设置为淡黄色,颜色可以但不限于使用GRBA的方式表示;
步骤3、绘制吊顶。吊顶3D模型绘制分为两部分,即:平行于地面的吊顶水平面绘制以及垂直于地面的吊顶垂直面绘制。
平行于地面的吊顶水平面绘制。吊顶3D模型绘制器从吊顶对象建模器中获取在吊顶平面投影后的房顶多边形节点坐标group_ceiling_roof以及吊顶多边形节点坐标group_ceiling_ceiling,然后取房顶多边形节点坐标group_ceiling_roof内的每个像素对应的坐标,假设此像素对应的坐标为P,并判断此像素坐标P是否落在吊顶多边形节点坐标group_ceiling_ceiling,如果像素坐标P落在吊顶多边形节点坐标group_ceiling_ceiling,则像素坐标P不被渲染,即作透明处理;如果像素坐标P不在吊顶多边形节点坐标group_ceiling_ceiling,则对像素坐标P进行正常渲染;最终渲染出来的是去除吊顶多边形的吊顶平面。
垂直于地面的吊顶垂直面绘制。此垂直面在现实世界中一般用于粘贴石膏线。吊顶3D模型绘制器从吊顶对象建模器中获取吊顶厚度对应的坐标值以及在吊顶平面投影后的吊顶多边形节点坐标group_ceiling_ceiling,从吊顶多边形中group_ceiling_ceiling按边循环取对应两端点的坐标,假设此两端点的分别为节点a、节点b,并根据此两端点坐标分别向垂直于房顶平面方向垂直偏移吊顶厚度,假设偏移后的两点分别为节点c、节点d,再根据节点a、节点b、节点c、节点d即可画出垂直于地面的吊顶垂直面的3D模型。
步骤4、房顶灯带着色建模。吊顶3D模型绘制器从房顶对象建模器中获取在房顶平面投影后的吊顶多边形节点坐标group_roof_roof以及吊顶多边形节点坐标group_roof_ceiling,并从灯带对象建模器中获取取灯带宽度以及灯带颜色,从房顶多边形节点坐标group_roof_roof中取房顶平面内的每个像素对应的节点坐标,假设此像素对应的坐标为P,判断像素坐标P的坐标是否落在吊顶多边形节点坐标group_roof_ceiling内,如果像素坐标P的坐标是落在吊顶多边形节点坐标group_roof_ceiling内,则不对此像素坐标P的坐标着进行灯光着色;如果像素坐标P的坐标没有落在吊顶多边形节点坐标group_roof_ceiling内,则再循环获取吊顶多边形节点坐标group_roof_ceiling的每条线段边,并计算像素坐标P到每条线段边的距离,取最小距离,如果此最小距离小于或等于灯带宽度,则对像素坐标P进行灯光着色,否则不对着进行灯光着色。最终会在房顶的3D模型的平面上形成各吊顶多边形对应的灯带。
以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。
机译: 人造传感器例如环境传感器,一种基于性能模型的汽车仿真方法,涉及修改多边形和参考点的参数,并根据环境(包括经过参数修改的多边形)生成传感器数据
机译: 多边形平面的面积测量方法,例如建筑物的地板,涉及使用具有处理单元的设备,该设备通过基于测量点的球形坐标生成线段和/或直线来计算面积
机译: 一种正面认证方法,其增强了计算机生成全息图转换的数字全息图标记的安全级别,这是一种基于计算机生成的全息图的正认证系统数字全息图标记发生器,用于基于计算机生成的全息图的正验证系统