递归运动函数的实现

递归运动函数来源于论文《Prediction and Indexing of Moving Objects with Unknown Motion Patterns》,它能够以递归函数的形式描述一段轨迹、预测之后的轨迹。

一般的运动函数自变量是时间,应变量是位置,参数是加速度、速度等。而递归运动函数的输入变量是之前一定数量的轨迹点,输出是下一个轨迹点。所以要预测不止一个轨迹点,需要连续运用递归运动函数。

递归运动函数比起一般的运动函数具有的优点有:形式统一,描述能力强。缺点:参数矩阵的求解比较复杂,根据参数不同,求解时间可能达不到实时性的要求。

下面贴几张图,以作演示:

红线是鼠标所画,蓝线是应用递归运动函数,从红点中计算得到最合适的参数矩阵,然后连续运用得到。

下面是VC工程,VS2013下编译成功。

链接:http://pan.baidu.com/s/1nuZ8lD3 密码:jhij

时间: 2024-10-07 08:18:18

递归运动函数的实现的相关文章

递归的函数

递归的函数 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 给定一个函数 f(a, b, c): 如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1: 如果 a > 20 或 b > 20 或 c > 20 返回值为 f(20, 20, 20)://前两个条件注意,输入的时候就可以解决掉 如果 a < b 并且 b < c 返回 f(a, b, c?1) + f(a, b?1, c?1) ? f

JS里面的两种运动函数

最新学了一个新的运动函数,与最初学习的有所不同,第一个运动是根据运动速度完成运动 ,第二个则是根据运动的时间来完成运动,而且把之前的函数都进行了一些兼容处理,在这里列出了看一下: 第一种animate1 1 function animate1(obj,data,rate,fn){//运动对象,运动数据,[运动速度],[回调函数] 2 //遍历获取样式属性 3 for(var key in data){ 4 //通过闭包将key私有化 5 (function(k){ 6 /* 7 获得样式宽高等会

php基础:递归求和函数

/*//递归function sum($n){    if($n>1){        return $n+sum($n-1);    }else{        return 1;    }} echo sum(-100); //返回5050//递归求和函数/*sun(5) = 5+sum(4);sum(4) = 4+sum(3);sum(3) = 3+sum(2);sum(2) = 2+1;*//*拿到题目先列已知条件 会写的先写出来 不会的再找规律*/ //用递归的方式打印出当前目录及子目

javascript运动系列第一篇——运动函数

× 目录 [1]简单运动 [2]定时器管理 [3]分享到效果[4]移入移出[5]运动函数[6]透明度[7]多值[8]多物体 前面的话 除了拖拽以外,运动也是javascript动画的一个基本操作.通过CSS属性transition和animation可以实现运动.但是,要进行更精细地操作,javascript运动是必不可少的.本文将详细介绍javascript运动 简单运动 让一个元素在页面中运动起来很简单,设置定时器,改变定位元素的left或top值即可 <button id="btn&

python Day3 集合 文件处理 函数 字符编码 递归 高级函数

集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时

jquer和封装的运动函数对比

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片切换----->> jquer和封装的运动函数对比 </title> <style type="text/css"> #parent{ margin:500px 500px 0 500px; position:

4/2 三元表达式/函数递归/匿名函数/内置函数

三元表达式 def max2(x,y) if x > y: return x else return y res=max2(10,11) 三元表达式仅应用于: 1 条件成立返回一个值 2 条件不成功返回一个值 def max2(x,y): return x if x>y else y print (max2(2,10)) 10 函数递归:函数的递归调用,即在函数调用的过程中,又直接或间接地调用了函数的本身. 直接调用 def foo(): print ('fffff') foo() 间接调用

C语言-第36课 - 函数递归与函数设计技巧

第36课 - 函数递归与函数设计技巧 一. 递归 递归概述 (1) 递归是数学领域中的概念在程序设计中的应用. (2) 递归是一种强有力的程序设计的方法. (3) 递归的本质为函数内部在适当的时候调用自身. 组成部分 (1)递归点:以不同参数调用自身. (2)出口:不在递归调用 下面就是求一个数的阶乘的函数: #include <stdio.h> int func(int x) { if( x > 1 ) { return x * func(x - 1);  //递归点 } else {

运动函数move 各种各样的运动都可以做

在这里我说的还是那种匀速运动,主要是通过改变一个盒模形的left值和top 值,来实现运动,或者,改变模形的自身的属性,来动起来: function getStyle(obj,name){ return obj.currentStyle?obj.currentStyle[name]:getComputedStyle(obj,false)[name]; }; function move(obj,json,options){ options=options||{}; options.time=opt