资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2018/9/16,1,三维图形编程实践,华东理工大学计算机系 Sept.6, 2007,2018/9/16,2,目录,引言 Opengl 图形库及其与VC的集成 交互技术 三维编程的理论基础(重点) 消影技术,2018/9/16,3,交互技术,2018/9/16,4,交互输入的硬件设备,键盘图形学系统中的键盘中有ASCII编码键、命令控制键和功能键,用以实现图形操作的某一特定功能。另外,某些键盘上还包含了其它类型的光标定位设备,如跟踪球和操纵杆。常见的标准键盘如所示。,2018/9/16,5,鼠标器 鼠标器按其测量位移的方式可分为三大类: 1) 光电式鼠标 2) 光机式鼠标 3) 机械式鼠标,2018/9/16,6,交互输入的软件设计,1.直接响应鼠标按键消息: 按键名称 左键 右键 按键状态 弹起 按下 消息 按键按下 按键弹起 鼠标划动,2018/9/16,7,void CSweepingView:OnMouseMove(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call defaultif(m_eviewtype=E_2D)m_tempdot1=GetRealValue(point); switch(m_drawtype)case E_Line:/画线m_templine.SetStart(m_predot);m_templine.SetEnd(m_tempdot1);break;case E_Arc:/ GetDocument()-m_Plane.AddArc(m_predot,m_secdot,m_enddot);break;case E_Cir:break;elseif (GetCapture()=this)SetCapture();if(m_opertype!=E_Rotate)m_zoom+=double(point.y-MousePoint.y)/50;if(m_zoom0) m_zoom=0;elsem_rotatex+=double(point.x-MousePoint.x)/20;m_rotatey+=double(MousePoint.y-point.y)/20; Invalidate(TRUE);CView:OnMouseMove(nFlags, point); ,2018/9/16,8,m_tempdot1=GetRealValue(point);由于OpengGL坐标系与VC的坐标系不统一,因而需要转换。,2018/9/16,9,2.通过菜单响应 普通菜单 弹出菜单,2018/9/16,10,2018/9/16,11,2018/9/16,12,Thanks,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号