参考资料:nehe教程第48课《轨迹球实现的鼠标旋转》
1、在头文件中为Arcball添加变量
//为Arcball添加变量用来获取当前鼠标点
Point2fT MousePt;// NEW: Current Mouse Point
2、在源文件中对轨迹球参数初始化
transform是我们获得的最终的变换矩阵
lastRot是上一次鼠标拖动得到的旋转矩阵
thisRot为这次鼠标拖动得到的旋转矩阵。
//*******************轨迹球参数初始化********************
ArcBallT ArcBall(640.0f, 480.0f);
Matrix4fT Transform={1.0f,0.0f,0.0f,0.0f,// NEW: Final Transform
0.0f,1.0f,0.0f,0.0f,
0.0f,0.0f,1.0f,0.0f,
0.0f,0.0f,0.0f,1.0f};
Matrix3fT LastRot ={1.0f,0.0f,0.0f, // NEW: Last Rotation

本文介绍如何在MFC应用中利用轨迹球算法,通过鼠标操作实现物体的旋转。参照nehe教程第48课,设置轨迹球边界,并定义鼠标事件响应函数OnLButtonUp, OnLButtonDown, OnMouseMove,以处理鼠标拖动时的旋转矩阵计算。"
78650985,7243279,目标函数优化:从随机梯度下降到Adam算法,"['数据结构与算法', '机器学习', '深度学习']
最低0.47元/天 解锁文章
694

被折叠的 条评论
为什么被折叠?



