[发明专利]一种基于插值算法的区域包围式超图可视化方法有效
申请号: | 201310228923.8 | 申请日: | 2013-06-09 |
公开(公告)号: | CN103258061A | 公开(公告)日: | 2013-08-21 |
发明(设计)人: | 陈红倩;陈谊;刘鹂;曹健;张金跃;林晓蕾 | 申请(专利权)人: | 北京工商大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100037*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于插值算法的区域包围式超图可视化方法,属于计算机应用领域,特别是计算机图形学与可视化技术领域。本发明通过超边扩展,获得扩展点链表,将其重组为两个控制点数组,对两个控制点数组,分别使用Catmull-Rom算法进行曲线插值计算,根据所设定的插值点数M,获得M个插值点,连接控制点和M个插值点,获得超边包围区域边界;对包围区域分别使用三角带和三角扇方式填充绘制;最后对超图中的每一条超边,使用色相环理论进行着色。本发明给出了一种直观、快速的超图可视化方法,解决了超边表达不直观的问题。 | ||
搜索关键词: | 一种 基于 算法 区域 包围 超图 可视化 方法 | ||
【主权项】:
一种基于插值算法的区域包围式超图可视化方法,其特征在于包括如下步骤:步骤1、读入超图数据,将读入的超图数据分别存储为节点数据和超边数据,节点的数据结构保存至一个结构体中,节点信息使用数组存储结构进行存储;超边信息使用链表存储结构进行存储;步骤2、将步骤1中读入的超边沿超边的垂线方向往两侧方向进行扩展,根据超边中所含节点的顺序,将超边所涉及的节点分为中间节点和末端节点,并分别计算其“扩展点”;针对中间节点,首先根据该中间节点与其两侧邻接节点的连接线,计算“过中间节点的两连接线角平分线”,然后根据所设定的超边包围区域宽度W,在该角平分线上中间节点的两侧,分别找到与中间节点距离为W的点,作为该中间节点的“扩展点”;针对末端节点,首先根据该末端节点与其邻接节点的连接线,计算一条“过末端节点并垂直于连接线”的垂线,然后根据所设定的超边包围区域宽度W,在该垂线上末端节点的两侧,分别找到与末端节点距离为W的点,作为该末端节点的“扩展点”;步骤3、通过步骤2所获得的扩展点,进行同侧扩展点归并,根据扩展点与超边的相对位置关系,分为两个扩展点链表;步骤4、针对步骤3中归并获得的两条扩展点链,将其进行重组为两个控制点数组;步骤5、对步骤4中获得的两个控制点数组,分别使用Catmull‑Rom算法进行曲线插值计算,根据所设定的插值点数M,将获得M个插值点,连接控制点和M个插值点,将在两个扩展点之间获得的一段平滑曲线;步骤6、将步骤5中获得的区域边界曲线的各个子段,分类为始终位于超边一侧的子段和跨越超边两侧的子段,并分别称之为“同侧子段”和“跨侧子段”,每个同侧子段存在于一对超边节点的扩展点之间,并必然在超边的另一侧存在一个对应的同侧子段;跨侧子段将位于超边的末端节点位置附近;对于拥有N个节点的超边来说,将拥有2*(N‑1)个同侧子段,以及2个跨侧子段;对于同侧子段,将其与超边另一侧的对应子段进行配对,并将插值点交叉间隔存储;对于跨侧子段,将其独立存储,以便于OpenGL的三角扇绘制;步骤7、对超图中的每一条超边,使用色相环理论进行着色,即根据超图中超边的数量,自动为各条超边添加颜色,从而增强超图中各条超边的区分度,增强超图绘制结果的直观性;步骤8、使用OpenGL中的折线(GL_LINE_STRIP)模式绘制超边包围区域的边界曲线,使用OpenGL中的三角带(GL_TRIANGLE_STRIP)模式绘制已配对并交叉存储的同侧子段部分,使用OpenGL中的三角扇(GL_TRIANGLE_FAN)模式绘制跨侧子段部分;步骤9:判断超图中的所有超边是否绘制完毕,如还有未绘制超边,则跳转至步骤2,进行下一条超边的绘制。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工商大学,未经北京工商大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310228923.8/,转载请声明来源钻瓜专利网。
- 上一篇:一种记忆辅助装置
- 下一篇:一种基于时间段的乱序事件查询处理方法