- 4
- 0
- 约4.35千字
- 约 9页
- 2017-01-28 发布于重庆
- 举报
球面相机旋转算法.
球面相机旋转 这种旋转方式用户体验方式要优于x轴y轴混合旋转方式,模型旋转的方向和鼠标移动方向保持一致。 下面给出一种“球面相机”实现旋转的方法。 原理: 移动鼠标时,通过gluLookAt来改变视点的位置(采用增量的方式),而模型保持不动。即:只进行视点变换,不进行模型变换。 下图是用户按下左键,在屏幕上移动的一段距离(从A移动到B)。 由于屏幕坐标y轴向下,为了与投影平面坐标系(传统笛卡尔坐标)保持一致。 AM = y1-y2;? /*将消息代码描述*/ BM = x2-x1; 建立屏幕和投影变换近裁截面之间的对应关系(如下图)。 代码实现: 1 void setSphereCameraPos() 2 { 3???? // 左键未按下,直接返回 4????? if (!is_left_button_down) 5???????? return; 6 7???? // 从聚焦点指向视点的向量? OA向量 8????? vector3dd a(eye-target); 9 10???? // 计算球面相机半径 11????? radius = a.getLength(); 12 13???? // 将其单位化 14????? a.normailize(); 15 16???? // 当前相机向上方向与a做叉乘,计算投影面水平向右方向向量u 17????? vector3dd u
您可能关注的文档
最近下载
- XCF-KYF-4浮选机(开式)技术手册.pdf VIP
- 静脉曲张射频消融术课件PPT.pptx VIP
- AOC显示器CQ32G1 说明书.pdf
- 杨树二元立木材积表.doc
- 2026年贵州省中考数学试卷(含答案详解)原版.pdf
- 风险策略岗位笔试真题(含详细答案解析).docx VIP
- 圆翳内障(老年性白内障)诊疗方案-眼科(优选借鉴).doc VIP
- 2026年山东省地方病防治技能竞赛(理论知识)综合能力测试题及答案.docx
- 药品终端业务员销售课件.pptx
- 《GB_T 8923.1-2011涂覆涂料前钢材表面处理 表面清洁度的目视评定 第1部分:未涂覆过的钢材表面和全面清除原有涂层后的钢材表面的锈蚀等级和处理等级》专题研究报告.pptx VIP
原创力文档

文档评论(0)