一种家居布局3D碰撞检测方法及系统技术方案

技术编号:21090263 阅读:36 留言:0更新日期:2019-05-11 10:12
本发明专利技术公开了基于模型描点的3D模型碰撞检测技术,本发明专利技术基于3D空间的像素点对模型的描述,使用空间坐标系变换和矩阵运算,实现了房屋智能布局过程中,真正可用有效的碰撞检测。

【技术实现步骤摘要】
一种家居布局3D碰撞检测方法及系统
本专利技术涉及种家居布局3D碰撞检测方法及系统,属于计算机辅助设计

技术介绍
智能布局算法在计算房屋的布局时,通过人工智能计算出房屋中所有物品模型的摆放位置和模型的旋转角度,但是受算法和模型包围盒形状等一系列影响,会导致出现部分模型之间出现碰撞,后期仍需要人工调整物品位置和旋转角度,影响了设计效率。现有技术在解决碰撞检测时大多是基于包围盒来计算,基于包围盒的碰撞检测在智能布局中,无法解决L型沙发和其他沙发是否碰撞,凳子是否可以放入桌子下方等一系列问题。
技术实现思路
本系统通过使用3D模型描点后的矩阵数据和房屋矩阵数据,对矩阵进行旋转和填充,使用同一坐标系建模,基于同一坐标系下的3D模型碰撞检测。一种家居布局3D碰撞检测方法,包括如下步骤:S1,对家居布局中需要进行布局的各个物件进行空间位置设计,获得各个物件的中心位置的坐标[x,y,z],以及各个物件的旋转角度[xAxis,yAxis,zAxis];x,y,z分别是指在房间的坐标系中X轴Y轴和Z轴上的位置,xAxis,yAxis,zAxis分别是指物件在房间的坐标系中X方向Y方向和Z方向上的偏转角;S2,将各个物件的形状用三维矩阵M表示,外部轮廓以及内部实体空间的值为正数,其它空间的值为0;S3,根据旋转角度[xAxis,yAxis,zAxis]将三维矩阵M进行旋转计算,并根据物件的中心位置的坐标[x,y,z]将其转换为用房间所在的坐标系来表示的物体形状的矩阵M’;S4,将每个物体的形状矩阵M’分别放置在房间所在的坐标系中,得到新的矩阵Ai(i=1,2,……n),n是全部需要进行检测的物体的个数;将矩阵Ai中物体与墙之间的空间的数值全部设置为0;S5,将矩阵A1和A2相乘,若得到的新的矩阵为0,则判定为不发生碰撞,若得到的新的矩阵不为0,则判定为发生了碰撞。在一个实施方式中,三维矩阵M是对所述的物件的包围盒进行表示。在一个实施方式中,步骤S2中的正数是正整数。在一个实施方式中,正整数是1。在一个实施方式中,在进行完步骤S6后,如果判定为不发生碰撞,那么将A1和A2相加,作为新的A2矩阵,继续将A2和A3矩阵采用步骤S6进行判定,直至将全部的物件判定完成。一种家居布局3D碰撞检测系统,包括:物件空间位置获取模块,用于根据对家居布局中需要进行布局的各个物件进行空间位置设计结果,获得各个物件的中心位置的坐标[x,y,z],以及各个物件的旋转角度[xAxis,yAxis,zAxis];x,y,z分别是指在房间的坐标系中X轴Y轴和Z轴上的位置,xAxis,yAxis,zAxis分别是指物件在房间的坐标系中X方向Y方向和Z方向上的偏转角;三维矩阵生成模块,用于将各个物件的形状用三维矩阵M表示,外部轮廓以及内部实体空间的值为正数,其它空间的值为0;矩阵变换模块,用于根据旋转角度[xAxis,yAxis,zAxis]将三维矩阵M进行旋转计算,并根据物件的中心位置的坐标[x,y,z]将其转换为用房间所在的坐标系来表示的物体形状的矩阵M’;并且将每个物体的形状矩阵M’分别放置在房间所在的坐标系中,得到新的矩阵Ai(i=1,2,……n),n是全部需要进行检测的物体的个数;将矩阵Ai中物体与墙之间的空间的数值全部设置为0;碰撞检测模块,用于将矩阵A1和A2相乘,若得到的新的矩阵为0,则判定为不发生碰撞,若得到的新的矩阵不为0,则判定为发生了碰撞。在一个实施方式中,三维矩阵M是对所述的物件的包围盒进行表示。在一个实施方式中,步骤S2中的正数是正整数。在一个实施方式中,正整数是1。碰撞检测模块中,如果判定为不发生碰撞,那么将A1和A2相加,作为新的A2矩阵,继续将A2和A3矩阵采用步骤S6进行判定,直至将全部的物件判定完成。一种记载有可以运行上述的家居布局3D碰撞检测方法的程序的计算机可读介质。有益效果基于本专利技术,可以非常快速的运算出智能布局的结果是否存在碰撞,并返回碰撞的位置,这样可以避免智能布局出现物体相互挤压等问题。由于全部的计算都是使用的矩阵运算,运算效率极高,使得碰撞检测有着很高的性能。附图说明图1是一个次卧的平面示意图。图2将一个物件转换至房间所在矩阵后的计算示意图。图3是两个不相碰撞的物件进行检测的示意图。图4是将两个物件相加之后,进行下一步检测的示意图。图5是一组物件相互发生碰撞后的示意图。图6是模型物体的描点数据示意图。图7是模型矩阵旋转示意图。具体实施方式为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。应当理解,给出这些示例性实施例仅是为了使相关领域的技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。虽然本申请对根据本申请的实施例的系统中的某些系统、模块或单元做出了各种引用,然而,任何数量的不同模块可以被使用并运行在客户端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。本专利技术提供的家居布局3D碰撞检测方法的总体步骤如下:S1,对家居布局中需要进行布局的各个物件进行空间位置设计,获得各个物件的中心位置的坐标[x,y,z],以及各个物件的旋转角度[xAxis,yAxis,zAxis];x,y,z分别是指在房间的坐标系中X轴Y轴和Z轴上的位置,xAxis,yAxis,zAxis分别是指物件在房间的坐标系中X方向Y方向和Z方向上的偏转角;S2,将各个物件的形状用三维矩阵M表示,外部轮廓以及内部实体空间的值为正数,其它空间的值为0;S3,根据旋转角度[xAxis,yAxis,zAxis]将三维矩阵M进行旋转计算,并根据物件的中心位置的坐标[x,y,z]将其转换为用房间所在的坐标系来表示的物体形状的矩阵M’;S4,将每个物体的形状矩阵M’分别放置在房间所在的坐标系中,得到新的矩阵Ai(i=1,2,……n),n是全部需要进行检测的物体的个数;将矩阵Ai中物体与墙之间的空间的数值全部设置为0;S5,将矩阵A1和A2相乘,若得到的新的矩阵为0,则判定为不发生碰撞,若得到的新的矩阵不为0,则判定为发生了碰撞。方法具体步骤:1)在许多家居设计软件当中,可以通过自动或者手动的方式得到新的家居布局,展现在用户面前,例如可以使用智能布局算法得到经过软件优本文档来自技高网...

【技术保护点】
1.一种家居布局3D碰撞检测方法,其特征在于,包括如下步骤:S1,对家居布局中需要进行布局的各个物件进行空间位置设计,获得各个物件的中心位置的坐标[x,y,z],以及各个物件的旋转角度[xAxis,yAxis,zAxis];x,y,z分别是指在房间的坐标系中X轴Y轴和Z轴上的位置,xAxis,yAxis,zAxis分别是指物件在房间的坐标系中X方向Y方向和Z方向上的偏转角;S2,将各个物件的形状用三维矩阵M表示,外部轮廓以及内部实体空间的值为正数,其它空间的值为0;S3,根据旋转角度[xAxis,yAxis,zAxis]将三维矩阵M进行旋转计算,并根据物件的中心位置的坐标[x,y,z]将其转换为用房间所在的坐标系来表示的物体形状的矩阵M’;S4,将每个物体的形状矩阵M’ 分别放置在房间所在的坐标系中,得到新的矩阵Ai(i=1,2,……n),n是全部需要进行检测的物体的个数;将矩阵Ai中物体与墙之间的空间的数值全部设置为0;S5,将矩阵A1和A2相乘,若得到的新的矩阵为0,则判定为不发生碰撞,若得到的新的矩阵不为0,则判定为发生了碰撞。

【技术特征摘要】
1.一种家居布局3D碰撞检测方法,其特征在于,包括如下步骤:S1,对家居布局中需要进行布局的各个物件进行空间位置设计,获得各个物件的中心位置的坐标[x,y,z],以及各个物件的旋转角度[xAxis,yAxis,zAxis];x,y,z分别是指在房间的坐标系中X轴Y轴和Z轴上的位置,xAxis,yAxis,zAxis分别是指物件在房间的坐标系中X方向Y方向和Z方向上的偏转角;S2,将各个物件的形状用三维矩阵M表示,外部轮廓以及内部实体空间的值为正数,其它空间的值为0;S3,根据旋转角度[xAxis,yAxis,zAxis]将三维矩阵M进行旋转计算,并根据物件的中心位置的坐标[x,y,z]将其转换为用房间所在的坐标系来表示的物体形状的矩阵M’;S4,将每个物体的形状矩阵M’分别放置在房间所在的坐标系中,得到新的矩阵Ai(i=1,2,……n),n是全部需要进行检测的物体的个数;将矩阵Ai中物体与墙之间的空间的数值全部设置为0;S5,将矩阵A1和A2相乘,若得到的新的矩阵为0,则判定为不发生碰撞,若得到的新的矩阵不为0,则判定为发生了碰撞。2.根据权利要求1所述的家居布局3D碰撞检测方法,其特征在于,三维矩阵M是对所述的物件的包围盒进行表示。3.根据权利要求1所述的家居布局3D碰撞检测方法,其特征在于,步骤S2中的正数是正整数。4.根据权利要求1所述的家居布局3D碰撞检测方法,其特征在于,正整数是1。5.根据权利要求1所述的家居布局3D碰撞检测方法,其特征在于,在进行完步骤S6后,如果判定为不发生碰撞,那么将A1和A2相加,作为新的A2矩阵,继续将A2和A3矩阵采用步骤S6进行判定,直至将全部的物件判定完成。6.一种家居布局3D碰撞检测系统,其特征在...

【专利技术属性】
技术研发人员:陈旋王冲赵琪
申请(专利权)人:江苏艾佳家居用品有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1