其实我是想实现在三维空间内的旋转。我希望通过用加速度传感器,电子陀螺仪去实现某个物体轨迹和姿态的测量。但是做事得一步步来,我只好先实现二维平面内得旋转。我把学习分成了这样几个任务:
- 学习vs的使用方法;
- 学习vs的画图方法;
- 学习线性代数有关旋转的一些知识;
- 学习利用opencv库在vc里面进行矩阵运算。
一.vs的使用方法
vs的确是个比较复杂的工具,就C++语言就有几种编程方式。我以前编单片机程序,就跟它的控制台程序有些类似。因为我要画图,所以得学习它得mfc编程方式。
c++比c还是多了很多新的概念,或者称之为新的编程规范。最重要的一个概念应该就是类这个概念。对于类,我的理解就是可以任意定义的一种类型。这个类型里面可以涵盖数据和函数,就像一个小城市,功能强大。类的灵活性和继承性等很多特性可以大大提高人的开发效率,比如MFC类库基本就帮你把窗口程序搭建好了,省去很多编写界面的时间。
对于MFC最大的类应该是end类,它算是一个框架结构,实例就是一个窗口。然后由这个窗口类再分为4大子类,它们分别是frame类,view 类,doc 类,app类。Frame就是一个窗口,view 类的作用是在工作区显示相应的资源,doc 类的作用是后台管理这些资源,窗口显示的视图总是与特定的文档相关。比如文档里包含一组应用数据,而视图则定义了数据的显示方式与交互方式。app就是写应用程序的地方。所有的一切都在frame里。
然后MFC还给我们提供了一个画图的CDC类。可以通过这个类实现如画点,画直线,写文字的功能。使用方法是调用其对应功能的API函数。C