在本课题的研究过程中,通过视点变换和模型变换相结合,来达到课程设计的要求。但是,遇到很多问题,比如当需要的转换是一个序列时,即既有平移变换又有旋转变换的时候,这两个命令的顺序对实际的模型操作的作用是不同的,比如下面这段代码:
......
glTranslatef(0.0,0.0,20.0);              //平移命令
glRotatef(45.0,1.0,0.0,0.0);            //旋转命令
画电机模型;......
那么它的实际效果如图4.2所示:   
图4.2  平移命令在前                   图4.3  旋转命令在前
而当变换两个平移命令的顺序时,实际的效果如上图4.3所示:
这就使本课题中如果要实现对电机模型的旋转和平移变换,则顺序一定要是平移命令在前面,旋转命令在后面,这样才可以实现电机各部分的自转效果(即绕三个轴的旋转),也就是图4.2的效果而不是图4.3的效果。
4.2  本课题的难点—1.实现自由控制电机及其各部分转动2.电机各部分组成一个整体3.电机各部分的选取和拆卸
在成功导入和画出电机各部分模型之后,为了体现其3D效果,需要用鼠标控制模型绕中心转动,这里要用到MessageTranslate类,其作用是反馈鼠标的运动位移信息,程序中我用的是g_fSpinX和g_fSpinY这个变量来保存鼠标在X和Y方向的总的位移量,实现语句是:      g_fSpinX-=(ptCurrentMousePosit.x-ptLastMousePosit.x);
g_fSpinY-=(ptCurrentMousePosit.y-ptLastMousePosit.y);然后将这两个变量作为旋转函数glRotatef的参数,语句是:
glRotatef( -g_fSpinY, 0.0f, 1.0f, 0.0f );
glRotatef( -g_fSpinX, 1.0f, 0.0f, 0.0f );不得不指出的是不能忘记在这个窗
上一篇:Multisim脑电信号检出的电路设计与制作仿真
下一篇:PIC+AT89S52单片机超声波倒车雷达的设计

基于TCP/IP技术的转向架振动测试系统设计

基于涡旋电磁波的新型雷达成像技术研究

波形发生技术的比较研究...

相控阵雷达天线自适应置零技术的研究

基于蓝牙和语音识别技术...

基于VR技术的通信虚拟实验室研究+源程序

数字图像水印技术的研究

小型通用机器人控制系统设计任务书

遥感土地用变化监测国内外研究现状

大规模MIMO系统的发展研究现状

MNL模型历史城区居民活动...

提高小學语文課堂朗读教...

浅析施工企业保理融资成...

从企业eHR建设谈管理信息...

PCI+PID算法直流力矩电机速...

《水浒传》中血腥暴力研...

高效课堂教师问卷调查表