本发明涉及模拟滑雪技术领域,尤其涉及滑雪装置的模拟运行方法、系统及计算机可读储存介质。
背景技术:
旅游滑雪是出于娱乐、健身的目的,受人为因素制约程度很轻,男女老幼均可在雪场上轻松、愉快地滑行,饱享滑雪运动的无穷乐趣,在我国现阶段,滑雪作为最普及的冬季体育运动,仍是一种少数人参与的运动项目。只有少部分人能够前往滑雪场地参与滑雪运动,极大地限制了我国冰雪运动的发展。据统计,北方地区的滑雪场占全国滑雪场的95%以上,滑雪人口也集中在经济相对发达的东部城市当中,青壮年的比例很高,但是其余地区,其余年龄段的人鲜有机会去参与滑雪运动。
滑雪的特殊环境要求,使得滑雪这项娱乐活动不被大多数人所参与到,因此面向大众消费的高科技健身设备或者科技馆可以体验滑雪的装置有着广阔的市场前景,因此当前急需一种可以不受环境限制、又能让参与者身临其境感受滑雪体验。
技术实现要素:
基于背景技术存在的技术问题,本发明提出了滑雪装置的模拟运行方法、系统及计算机可读储存介质,参与者可以根据动画显示和实际脚踩滑雪机组件来实现身临其境的滑雪体验。
本发明提出的滑雪装置的模拟运行方法,包括:
预设一定的时间t内,滑雪装置匀速运动的触发信号为m个;
在时间t内,依次获取滑雪装置上传的多个触发信号m;
判断t是否小于t,同时m是否大于m;
若是,则触发滑雪动画的加速显示;
若否,则触发滑雪动画的转动显示。
进一步地,在时间t内,依次获取滑雪装置上传的多个触发信号m中,包括:
在滑雪装置上按一定顺序预设多个信号采集点;
任意获取多个信号采集点中其中一个信号采集点上传的触发信号作为首次获取的当前触发信号;
下一个触发信号为当前触发信号、或与当前触发信号相邻的信号采集点上传的触发信号;
在时间t内,依次获取信号采集点上传的触发信号,组成多个触发信号m。
进一步地,在滑雪装置上按一定顺序预设多个信号采集点中,包括:
在滑雪装置上设置9个信号采集点,所述9个信号采集点为左4、左3、左2、左1、中间、右1、右2、右3、右4;
所述9个信号采集点以中间的信号采集点对称设置,分别从左到右设置于滑雪装置上;
预设9个信号采集点每次仅有一个信号采集点被触发,上传对应的当前触发信号;
预设下一触发信号为当前触发信号、或与当前触发信号相邻的信号采集点上传的触发信号。
进一步地,在触发滑雪动画的加速显示中,包括:
获取当前动画的摇摆速度sw,则计算出动画的下一个前进速度nfs;
获取当前动画的当前位置bloc对应的当前前进向量bvr,则计算出动画下一帧的运动位置nloc;
动画按运动位置nloc进行更新显示。
进一步地,预设最高前进速度和最低前进速度,则nsw大于等于最低前进速度、小于等于最高前进速度;
摇摆速度sw、前进速度nfs、运动位置nloc的计算公式如下:
nfs=bfs+k×sw
nloc=bvr×nfs
其中,k为系数,bfs为当前前进速度。
进一步地,在触发滑雪动画的转动显示中,包括:
预设多个不同触发信号对应的转向速度θ,将预设的转向速度组合得到转向速度集合rots;
当前前进向量bvr沿单位向量a旋转转向速度θ,得到转动后的前进向量fvr;
动画按转动后的前进向量fvr进行更新显示。
进一步地,前进向量fvr采用如下公式计算:
p'=p×cosθ+(a×p)sinθ+a(a.p)(1-cosθ)
a×p=(ay*pz-az*py,ax*pz-az*px,ax*py-ay*px)a·p=ax*px+ay*py+az*pz
其中,a(ax,ay,az)为单位向量,p(px,py,pz)为当前前进向量bvr,p′(px′,py′,pz′)为前进向量fvr,a×p表示a与p的向量积,a·p表示a与p的内积,θ为转向速度,*表示乘积。
进一步地,在预设多个不同触发信号对应的转向速度θ中,包括:
分别设定9个信号采集点的转向速度存于数组b中,则转向速度集合rots=b[i],0≤i≤8。
进一步地,包括设定模块、获取模块、判断模块、加速模块和转动模块;
设定模块用于预设一定的时间t内,滑雪装置匀速运动的触发信号为m个;
获取模块用于在时间t内,依次获取滑雪装置上传的多个触发信号m;
判断模块用于判断t是否小于t,同时m是否大于m;
加速模块用于触发滑雪动画的加速显示;
转动模块用于触发滑雪动画的转动显示。
一种计算机可读储存介质,所述计算机可读存储介质上存储有若干获取分类程序,所述若干获取分类程序用于被处理器调用并执行如上所述的模拟运行方法。
本发明提供的滑雪装置的模拟运行方法、系统及计算机可读储存介质的优点在于:本发明结构中提供的滑雪装置的模拟运行方法、系统及计算机可读储存介质,参与者站在滑雪机组件上,由于动画是根据滑雪机组件上反馈的触发信号进行调整显示的,因此参与者可以根据动画显示和实际脚踩滑雪机组件来实现身临其境的滑雪体验。同时在体验过程中,参与者可以佩戴ar眼镜,以增加滑雪体验,使得无法亲身去滑雪的参与者或者不会滑雪的参与者可以进行较为真实的滑雪体验。
附图说明
图1为本发明的结构示意图;
具体实施方式
下面,通过具体实施例对本发明的技术方案进行详细说明,在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
本申请中滑雪装置的模拟运行方法所需的结构有投影机组件、滑雪装置和投影幕,投影机组件在投影幕进行滑雪动画投影,参与者脚踩滑雪装置,看着投影幕上的动画,进行模拟滑雪。其中,滑雪装置可以采用现有的滑雪机组件。
如图1所示,本发明提出的滑雪装置的模拟运行方法,包括步骤s1至s5:
s1:预设一定的时间t内,滑雪装置匀速运动的触发信号为m个;
滑雪装置上预先设置多个信号采集点,根据动画一定的匀速运行画面,设定时间t内所获取触发信号的个数。
s2:在时间t内,依次获取滑雪装置上传的多个触发信号m;
s3:判断t是否小于t,同时m是否大于m,若是,则进入步骤s4,若否,则进入步骤s5;
s4:触发滑雪动画的加速显示,实现动画的左右摇摆加速前进;
s5:触发滑雪动画的转动显示,实现动画的按一定方向转动前进。
根据步骤s1至s5可知,实现了滑雪动画的左右摇摆加速前进和转动前进;在模拟动画显示的过程中,参与者站在滑雪机组件上,由于动画是根据滑雪机组件上反馈的触发信号进行调整显示的,因此参与者可以根据动画显示和实际脚踩滑雪机组件来实现身临其境的滑雪体验。同时在体验过程中,参与者可以佩戴ar眼镜,以增加滑雪体验,使得无法亲身去滑雪的参与者或者不会滑雪的参与者可以进行较为真实的滑雪体验。
进一步地,在步骤s2:时间t内,依次获取滑雪装置上传的多个触发信号m中,包括步骤s21至s24:
s21:在滑雪装置上按一定顺序预设多个信号采集点;
例如,在滑雪装置上设置9个信号采集点,所述9个信号采集点依次为左4、左3、左2、左1、中间、右1、右2、右3、右4;所述9个信号采集点以中间的信号采集点对称设置,分别从左到右设置于滑雪装置上。
同时预设9个信号采集点每次仅有一个信号采集点被触发,上传对应的当前触发信号;预设下一触发信号为当前触发信号、或与当前触发信号相邻的信号采集点上传的触发信号。
在本申请中,1到9信号既控制方向、也控制速度,而判别方法就是通过t与t之间的关系,来选择动画的左右摇摆加速前进或者动画的按一定方向转动前进。改善了传统中同一信号只对应一种触发状态(方向、速度中的一个)时,存在触发延迟、不同步的缺陷,提高了模拟滑雪状态的身临其境的体验感。
s22:任意获取多个信号采集点中其中一个信号采集点上传的触发信号作为首次获取的当前触发信号;
s23:下一个触发信号为当前触发信号、或与当前触发信号相邻的信号采集点上传的触发信号;
例如当前触发信号为“右1”时,则下一个触发信号只能是“中间”、“右1”、“右2”这三个触发信号。
s24:在时间t内,依次获取信号采集点上传的触发信号,组成多个触发信号m。
在步骤s21至s24中,实现对滑雪装置上信号采集点所上传触发信号的有效获取,其中,信号采集点可以为可以采集滑雪装置当前位置信息的传感器,传感器将获取的零散位置信息进行数据处理,将处理后的数据上传到上位机,以进行滑雪动画的显示控制。
在步骤s4:触发滑雪动画的加速显示中,包括:
s41:获取当前动画的摇摆速度sw,则计算出动画的下一个前进速度nfs;
nfs=bfs+k×sw
其中,k为系数,bfs为当前前进速度;通过sw公式可知,时间越短获取的触发信号越多,则摇摆速度sw越大,即滑雪机组件的摇摆速度越大,因此用于显示滑雪的动画也存在对应的摇摆变化,使得动画与滑雪机组件彼此相对静止,进而使得脚踩滑雪机组件上的参与者的身体滑雪体验与眼睛所示的滑雪动画相对应,避免出现参与者视线范围内滑雪事故的发生。
实际使用过程中,为了配合人体摇摆和滑雪装置整个滑雪装置展示的实际需要,一般将摇摆速度sw设定为(0.8,2.0),其中(0.8,2.0)表示倍数,如0.8倍的摇摆速度sw、2.0倍的摇摆速度sw,同时预设最高前进速度和最低前进速度,则bfs、nsw均大于等于最低前进速度、小于等于最高前进速度,这样随着滑雪装置机械摇摆速度的加快,动画的摇摆速度也加快,且加速度也提升了。
s42:获取当前动画的当前位置bloc对应的当前前进向量bvr,则计算出动画下一帧的运动位置nloc;
nloc=bvr×nfs
s43:动画按运动位置nloc进行更新显示。
在步骤s5:触发滑雪动画的转动显示中,包括:
s51:预设多个不同触发信号对应的转向速度θ,将预设的转向速度组合得到转向速度集合rots;
例如,分别设定9个信号采集点的转向速度存于数组b中,则转向速度集合rots=b[i],0≤i≤8。
s52:当前前进向量bvr沿单位向量a旋转转向速度θ,得到转动后的前进向量fvr;
前进向量fvr采用如下公式计算:
fvr=bvr×cosθ+(a×p)sinθ+a(a.p)(1-cosθ)
a×p=(ay*pz-az*py,ax*pz-az*px,ax*py-ay*px)a·p=ax*px+ay*py+az*pz
其中,a(ax,ay,az)为单位向量,p(px,py,pz)为当前前进向量bvr,p′(px′,py′,pz′)为前进向量fvr,a×p表示a与p的向量积,a·p表示a与p的内积,θ为转向速度,*表示乘积。
需要说明的是,ax为一个整体数值,表示坐标系下a的x方向的坐标点,同理ay、az也表示一个整体数值;px为一个整体数值,表示坐标系下p的x方向的坐标点,同理,py、pz也表示一个整体数值,其中ax与px,两者虽然均使用了x,但两者之间没有关系。
因此p′是向量p沿单位向量a旋转转向速度θ所得到的向量,求解出p′,则就得到了滑雪动画的下一转动位置,随即实现了滑雪动画的有效转动。
从上述公式得出:
px′=px*cosθ+(ay*pz-az*py)sinθ+ax(ax*px+ay*py+az*pz)(1-cosθ)
py′=py*cosθ+(az*px-ax*pz)sinθ+ay(ax*px+ay*py+az*pz)(1-cosθ)
pz′=pz*cosθ+(ax*py-ay*px)sinθ+az(ax*px+ay*py+az*pz)(1-cosθ)
通过以上公式可以分别计算px′、py′、pz′,最终得到转动后的前进向量fvr对应的p′(px′,py′,pz′)。因此可以实现动画的连续转向和前进。
s53:动画按转动后的前进向量fvr进行更新显示。
根据步骤s51至s53,滑雪动画在其三维空间上进行转动,实现实际滑雪过程中的曲线前进、转弯前进等,使得本申请的模拟运行过程更贴合实际整个滑雪过程。
对于本申请中,滑雪动画的左右摇摆加速前进或者按一定方向转动前进中,为了提高动画运动时画面的准确性和与当前参与者脚踩滑雪机组件的对应性,动画每运动一帧,均通过以上公式计算下一帧的运动位置nloc或者转动后的前进向量fvr,以确认动画的下一步运动,实现动画的连续显示。
在本申请中,模拟动画显示通过左右摇摆加速前进、转动前进,实现模拟整个滑雪过程,其中左右摇摆加速前进、转动前进可以对应实际滑雪过程中从一定高度加速滑下时对应的画面,转动前进也可以对应于整个滑雪过程中由直线向曲线、转弯等运动方式转化时对应的动画显示画面。
滑雪装置的模拟运行系统,其特征在于,包括设定模块、获取模块、判断模块、加速模块和转动模块;
设定模块用于预设一定的时间t内,滑雪装置匀速运动的触发信号为m个;
获取模块用于在时间t内,依次获取滑雪装置上传的多个触发信号m;
判断模块用于判断t是否小于t,同时m是否大于m;
加速模块用于触发滑雪动画的加速显示;
转动模块用于触发滑雪动画的转动显示。
一种计算机可读储存介质,所述计算机可读存储介质上存储有若干获取分类程序,所述若干获取分类程序用于被处理器调用并执行如上所述的模拟运行方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。