轨迹(locus)
2004-12-07 12:21
295 查看
轨迹是一个物体移动的 时间-位置 函数
locus(t) = (x,y)
通过给定时间t可以得到一个坐标(x,y),由于得到的是二维的坐标,这个轨迹称为二维轨迹
如果得到坐标是三维的,那么这个轨迹是一个三维的轨迹。
同样的,如果得到的结果是一个多维的数据,那么这个轨迹可以描述更多的信息。
比如,除了三维坐标之外,还可以描述物体的方向,旋转角度,甚至缩放,透明度等等。
这样,把轨迹描述为一个模板
template< class Point >
class Locus
public:
struct Node
int m_time;
Point m_p;
bool operator < (int time) const
return m_time < time;
}
};
void loadData(const char *data);
virtual int getInterval(int time, Point &result) = 0;
protected:
Locus(LocusType type);
const LocusType mc_type;
int m_time;
::std::vector< Node > m_data;
};
具体的轨迹,例如:直线,B样条...都继承这个模板类。重载getInterval函数,得到不同的映射关系。
locus(t) = (x,y)
通过给定时间t可以得到一个坐标(x,y),由于得到的是二维的坐标,这个轨迹称为二维轨迹
如果得到坐标是三维的,那么这个轨迹是一个三维的轨迹。
同样的,如果得到的结果是一个多维的数据,那么这个轨迹可以描述更多的信息。
比如,除了三维坐标之外,还可以描述物体的方向,旋转角度,甚至缩放,透明度等等。
这样,把轨迹描述为一个模板
template< class Point >
class Locus
public:
struct Node
int m_time;
Point m_p;
bool operator < (int time) const
return m_time < time;
}
};
void loadData(const char *data);
virtual int getInterval(int time, Point &result) = 0;
protected:
Locus(LocusType type);
const LocusType mc_type;
int m_time;
::std::vector< Node > m_data;
};
具体的轨迹,例如:直线,B样条...都继承这个模板类。重载getInterval函数,得到不同的映射关系。
相关文章推荐
- 尖端企业更要选好伙伴
- 《UML Programming Guide设计核心技术》 读书笔记一
- 呵呵, 要过年了, 为什么自己的事情豪无进展, 郁闷呀
- table中動態刪除新增一行的方法
- BitTorrent协议详解
- JScript错误代码及相应解释大全
- Java Servlet和数据库连接池的同时部署
- Java Servlet和数据库连接池的同时部署
- DOS命令集
- ASP函数大全
- 女人心疼男人的10种方式
- 程序设计中的一些感悟
- 从EXE文件提取出Flash(SWF格式)
- 再别康桥
- 一个罕为人知的无敌命令 几乎清除所有进程
- UNIX oracle 10g能用utl_file包读取文件数据吗?
- 莲藕薏米排骨汤
- 喜欢我 就别再问我有没有女朋友
- 听刘如鸿先生《如何设计具有可扩展性功能的软件架构》感想
- 网络最经典命令行--网络安全工作者的必杀技