一种基于物理模拟的示意地图动画方法与流程

文档序号:11621295阅读:297来源:国知局
一种基于物理模拟的示意地图动画方法与流程

本发明涉及数据可视化领域,尤其涉及一种用于展现动态数据的示意地图方法。



背景技术:

连续型示意地图(cartogram)是一种区域面积与属性数据成正比,并优先保证区域之间的邻接关系和相对位置不变的主题地图,具有直观清晰的可视化效果。人们对连续型示意地图的生成算法进行了多种探索。dougenik提出的“rubber-sheetdistortion”算法(dougenikja,chrismannr,niemeyerdr,“analgorithmtoconstructcontinuousareacartogram,”professionalgeographer,vol.37,no.1,pp.75:81,1985),将地图看作一个“力场”,在每次迭代中,顶点的位移量与所受的“合力”成正比,最终生成有效的示意地图。gastner等人研究的基于等均匀密度扩散的算法(gastnermt,newmanmej,“diffusion-basedmethodforproducingdensity-equalizingmaps,”inproceedingsofthenationalacademyofsciencesoftheunitedstatesofamerica,vol.101,no.20,pp.7499:7504,2004),能在较快时间内,获得拓扑性和形状相似度高的准确地图。然而对示意地图的研究主要集中于静态图的生成算法,如何动态数据在地理空间上的变化,缺乏有效可行的方法。

另一方面,动画的可视化效果能够加深用户对数据随时间域变化的理解,因而常常用于展现数据的动态变化特征。时空约束问题将物理模型与关键帧技术相结合,既能满足动画设计者的需求,又能贴近物理真实感。hildebrandt等人提出的在降低模型维度后利用wigglyspline的方法(kassm,andersonj,“animatingoscillatorymotionwithoverlap:wigglysplines,”inacmtransactionsongraphics(tog2008),vol.27,no.3,pp.28,2008)对关键帧进行插值(hildebrandtk,schulzc,vontycowiczc,“interactivespacetimecontrolofdeformableobjects,”acmtransactionsongraphics(tog2012),vol.31,no.4,pp.71,2012),依据模型的运动参数选择合理的样条基函数,从而能够较快获得逼真的运动结果。



技术实现要素:

本发明针对静态示意地图在表现动态数据变化的局限性,提供一种基于物理模拟的示意地图动画方法。该方法首先利用示意地图生成算法获得关键帧,再对二维地图创建弹簧-质点模型,并求解基于关键帧的时空约束问题,从而生成完整的示意地图动画。

本发明的目的是通过以下技术方案来实现的:一种基于物理模拟的示意地图方法,该方法首先通过示意地图生成算法获得关键帧;其次求解物理模型的时空约束问题并获得中间帧,从而生成完整动画。

进一步地,所述求解物理模型的时空约束问题并获取中间帧通过以下子步骤实现:

(1)为二维地图创建弹簧-质点模型;

(2)建立模型受力运动的高维度常微分方程,并对其解除耦合,转化为若干项独立的单分量常微分方程;

(3)建立单分量在时空约束下的最优解问题;

(4)利用wigglyspline方法求解单变量最优解问题并获取中间帧。

本发明的有益效果是,本发明能够达到自然平滑并且具有信息表达能力的动画效果;相比于直接插值法,该方法可以避免大量调参试错过程,不会出现区块重叠等与实际不符的情况,从而降低了开发周期和投入精力。

附图说明

图1中是本发明利用“rubber-sheetdistortion”算法针对美国各州(夏威夷州和阿拉斯加州除外)十组随机属性数据生成的关键帧;其中,(a)-(j)分别是第1组-第10组关键帧。

图2是针对图1十组关键帧中各个州的理想面积和实际面积的对比图,其中,(a)-(j)分别是分别是第1组-第10组关键帧中各个州的理想面积和实际面积的对比图,粗线为理想面积,细线为实际面积。

图3是本发明针对图1的十组关键帧,通过求解时空约束问题,获得的某点运动轨迹图;其中,(a)表示该点在x轴方向的运动轨迹;(b)表示该点在y轴方向的运动轨迹;(c)表示该点在二维平面上第240帧至第270帧上的运动轨迹。

图4是本发明针对针对美国各州(夏威夷州和阿拉斯加州除外)十组随机属性数据生成的示意地图动画效果图,其中,(a)为第60帧,(b)为第75帧,(c)为第90帧,(d)为第105帧,(e)为第120帧。

图5是本发明针对2005年-2014年中国大陆地区快递业务量示意地图动画效果图,其中,(a)为第30帧,(b)为第45帧,(c)为第60帧,(d)为第210帧,(e)为第240帧。

具体实施方式

本发明的具体实施方式分为两大步骤:关键帧生成和求解物理模型的时空约束问题。

一、关键帧生成

这一步骤主要着眼于示意地图生成算法的选取。本发明采用“rubber-sheetdistortion”生成算法(dougenikja,chrismannr,niemeyerdr,“analgorithmtoconstructcontinuousareacartogram,”professionalgeographer,vol.37,no.1,pp.75:81,1985)生成各个时间节点下的关键帧。该算法将地图看作一个“力场”,每个多边形都将对所有顶点产生不同的“力”,促使顶点靠近或远离自己的中心。其流程可以归结如下,在每次迭代过程中,遍历每个顶点,计算所有多边形对该顶点的“合力”,顶点的位移量与“合力”成正比。

不妨设地图由连通的多边形集合组成,即p={p1,p2,...,pn};每个多边形可由按逆时针排列的边界点表示,即pi={vi1,vi2,...,vim};每个多边形有属性数据值,即属性数据值集合为value={val1,val2,..,valn};最终生成的示意地图为详细的算法流程如下所示:

选择该生成算法的原因在于:其一是“rubber-sheetdistortion”算法能够生成有效的示意地图,有效性可利用面积值误差,拓扑结构(heilmannr,keimda,pansec,“recmap:rectangularmapapproximations,”inieeesymposiumoninformationvisualization,2004.pp.33:40.),形状相似度(keimda,northsc,pansec.“cartodraw:afastalgorithmforgeneratingcontiguouscartograms,”ieeetransactionsonvisualizationandcomputergraphics,vol.10,no.1,pp.95:110,2004)三个准则来衡量。其二是gastner等人提出的diffusion-basedmethod需要将矢量地图转化为栅格化形式进行处理,算法完成后再重新转化成矢量地图,尽管有较好的生成效果,但这将导致变形前后的矢量地图具有不同的顶点数量和边数量,从而并不适合弹簧-质点模型。

二、求解物理模型的时空约束问题并获取中间帧

该步骤包括以下子步骤:

1、为二维地图创建弹簧-质点模型

将地图中的每个顶点看作质点,每条边看作具有弹性系数和阻尼系数的弹簧,并确定相应的物理参数。在没有外力的静止状态下,该模型呈现出的就是原始地图的形状。

2、建立模型受力运动的高维度常微分方程,并对其解除耦合,转化为若干项独立的单变量常微分方程

模型运动与外力之间关系可描述为:

其中,t是时间;分别是模型的位置,速度,加速度;m是质量矩阵,此处为对角矩阵;f表示模型受到的外力;g(x(t))是模型所受的内力,与刚度矩阵k(x)有关,且k(x)为对称矩阵:

g(x(t))=k(x(t))x(t)

是阻尼矩阵,采用rayleigh阻尼系数,即:

d(x)=αm+βk(x)

其中,α,β均为非负数。

又因为模型在位置处的状态可以通过位置的状态来估算,不妨将模型在位置处的刚度矩阵和内力分别记作从而模型的受力运动方程转化为:

由于上述方程中各个分量的耦合度较高,增加了求解难度,需要对其解除耦合,过程如下。

求解m和的广义特征问题,由于特征向量互相正交,可将特征矩阵φ作为一组基,使得u=φw。又因为m是对角矩阵,是对称矩阵,所以φtmφ=ι,其中,ι是单位矩阵,λ是对角矩阵,且每个对角元素是与φ中的特征向量相对应的特征值λi。将上述三组等式带入模型受力运动方程,可得:

方程中各个分量相互独立,从而可以转化为若干项独立的单分量常微分方程:

其中,fi(t)分别是φtf(t)中的分量;wi(t)分别是w(t)中的分量。

3、建立单分量在时空约束下的最优解问题

不妨设在时刻t0,t1,...,tm上分别有关键帧q0,q1,...,qm,我们需要求解出最优的力,驱动模型上质点的运动,并在相应时刻达到关键帧中的状态。最优力意味着力的二范数的平方在时间域上的积分最小。从而单变量的时空约束问题可描述为以下最优解问题:

其中,υ0,υm分别表示解耦空间下,每个关键帧的位置,及首末帧的速度。

4、利用wigglyspline方法求解单变量最优解问题并获取中间帧

kass等人针对时空约束下,对二次函数积分的最优求解问题,提出了wigglyspline方法(kassm,andersonj,“animatingoscillatorymotionwithoverlap:wigglysplines,”inacmtransactionsongraphics(tog2008),vol.27,no.3,pp.28,2008)。hildebrandt等人将此方法运用到弹簧-质点模型(hildebrandtk,schulzc,vontycowiczc,“interactivespacetimecontrolofdeformableobjects,”acmtransactionsongraphics(tog2012),vol.31,no.4,pp.71,2012),获得了较好的效果。主要思路是,通过比较两个物理参数来选择样条基函数,再利用约束条件建立线性方程组求解基函数的系数,从而获得完整的wigglyspline样条函数。

为了获得最优解,wi(t)需要满足的条件是:四阶连续可导;所有时间间隔(tk,tk+1)里,由四个样条基函数构成。对基函数的选择取决于λi和δi=0.5(α+βλi)之间的关系;在tk处二阶连续可导;满足边界条件和关键帧约束条件。

基于以上条件,不妨设在时间域(tk,tk+1)内,wi(t)的四个基函数分别为bi1(t),bi2(t),bi3(t),bi4(t),每个基函数对应的系数是则wi(t)可转化为:

其中,

为了求解wi(t),需要求出在m个时间间隔上的基函数系数。可以约束条件建立线性方程组求解系数。

关键帧的位置约束:

在tk时刻二阶连续可导:

在初始时刻和终止时刻的边界条件:

对于基函数的选择,我们需要比较λi和δi之间的关系。实际上,λi代表了质点的震荡模式,代表了震荡的频率。(pentlanda,williamsj,“goodvibrations:modaldynamicsforgraphicsandanimation,”acm(cg1989),vol.23,no.3,pp.215:222,1989)可将基函数的选择分为两大类,以及四个特例。(hildebrandtk,schulzc,vontycowiczc,“interactivespacetimecontrolofdeformableobjects,”acmtransactionsongraphics(tog2012),vol.31,no.4,pp.71,2012)

当δi2-λi<0时:

当δi2-λi>0时:

特殊情况下:

当δi=0且λi>0时:

当δi=0且λi<0或θi=0且λi>0时:

当δi≠0且λi>0时:

当δi=0且λi=0时:

至此,我们已经求解出模型中各个分量随时间变化的运动函数。为了获得中间帧,可设定时间步长,逐一求解出模型在各个中间时刻下的位置状态。

通过上述步骤,发明人在一台配备了3ghz的8核intelcpu,16g内存的计算机上实现了本发明的若干实施实例。

实施例一、如图1-图4所示,发明人测试了美国十组随机属性数据,由于阿拉斯加州和夏威夷州与美国其他州不连通,需要额外操作,为了简便,此处暂不考虑两个州的变化情况。在关键帧生成阶段,尽管存在个别地区实际面积与理想面积的误差相比于其他地区较大,但地图整体面积误差较小。

实施例二、如图5所示,发明人测试了2005年至2014年中国大陆地区历年快递业务量变化。数据来源于国家数据网。其中,由于海南省与其他大陆区域不连通,需要额外操作,此处暂不考虑。快递业务集中在东南部,广东,浙江,江苏,上海等地一直是全国快递业务的火热点,相比之下,新疆,宁夏等西北地区的业务量较小;互联网技术的普及与发展,刺激了全国快递企业的发展,从2006年开始,各地的快递业务稳速发展,位居末游的西北地区不甘落后,增长显著。属性数据的上述特征在动画效果中尤为明显。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1