[发明专利]基于包围盒树的多边形裁剪方法、电子设备及存储介质在审

专利信息
申请号: 202110302933.6 申请日: 2021-03-22
公开(公告)号: CN113034515A 公开(公告)日: 2021-06-25
发明(设计)人: 田泽康;蒋文;危明;邓卉;陈搏 申请(专利权)人: 易视腾科技股份有限公司
主分类号: G06T7/11 分类号: G06T7/11
代理公司: 北京联创佳为专利事务所(普通合伙) 11362 代理人: 郭防
地址: 214028 江苏省无锡市*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 包围 多边形 裁剪 方法 电子设备 存储 介质
【权利要求书】:

1.一种基于包围盒树的多边形裁剪方法,其特征在于,包括以下步骤:

分别建立实体多边形和裁剪多边形的顶点包围盒二叉树,获得实体树和裁剪树;其中,所述实体树和裁剪树的每个节点都是一个包含部分顶点的包围盒;

分别遍历两棵二叉树,每层分别将实体树的节点与裁剪树的节点进行相交判断,寻找交点;然后对有相交节点的子树继续进行遍历,直至结束;

根据实体多边形顶点、裁剪多边形顶点和遍历获得的交点,建立顶点虚拟列表;

遍历所述的顶点虚拟列表,得到裁剪结果多边形。

2.根据权利要求1所述的基于包围盒树的多边形裁剪方法,其特征在于,建立实体多边形和裁剪多边形的顶点包围盒二叉树时,采用自底向上的方法,先将顶点按照预设参数分组,每组求解它们的包围盒;然后将相邻的包围盒两两合并,一直到只剩下一个包围盒,则包围盒树构建完成;优选的,具体通过以下方法建立实体多边形或裁剪多边形的顶点包围盒二叉树:

遍历实体多边形或裁剪多边形的所有顶点{p1,p2,…,pn…,pN},3≤n≤N,每Q个顶点求它们的包围盒,得到包围盒序列其中,表示包围盒的个数,N是实体多边形或裁剪多边形的顶点个数,Q是预先设定的参数,表示包围盒中包含的顶点最大个数;

遍历包围盒序列将相邻的包围盒两两合并生成新的包围盒rjl+1,即得到新的包围盒序列其中,

重复上一步骤,直至合并得到最后一个包围盒将所述最后一个包围盒作为整个对应二叉树的根节点;每次得到的包围盒序列作为二叉树某层的节点;整个过程形成一个倒立的二叉树

3.根据权利要求2所述的基于包围盒树的多边形裁剪方法,其特征在于,通过以下方法计算二维平面上一组点的包围盒:

假定需要计算N个顶点的包围盒,将起点和终点形成的向量的方向作为包围盒的主方向,然后将坐标系进行旋转使得横坐标OX与主方向平行;

求轴对齐矩形,然后对其四个边界顶点进行反向旋转,即计算顶点在原始坐标系下的坐标,从而得到近似最小旋转矩形,即N个顶点的包围盒。

4.根据权利要求2所述的基于包围盒树的多边形裁剪方法,其特征在于,包围盒二叉树的父节点包围盒通过以下方法计算获得:

将左子节点包含顶点的起点和右子节点包含顶点的终点形成的向量的方向作为父节点的主方向;

将坐标系进行旋转使得横坐标OX与主方向平行;

计算包含左右子节点近似最小旋转矩形所有边界顶点的轴对齐矩形;

对所述轴对齐矩形的四个边界顶点进行反向旋转,即计算顶点在原始坐标系下的坐标,从而得到父节点的近似最小旋转矩形,即获得包围盒二叉树的父节点包围盒;

其中,所述的左右子节点的近似最小旋转矩形通过以下方式获得:

假定需要计算N个顶点的包围盒,将起点和终点形成的向量的方向作为包围盒的主方向,然后将坐标系进行旋转使得横坐标OX与主方向平行;

求轴对齐矩形,然后对其四个边界顶点进行反向旋转,即计算顶点在原始坐标系下的坐标,从而得到近似最小旋转矩形,即N个顶点的包围盒。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于易视腾科技股份有限公司,未经易视腾科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110302933.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top