在MFC中,运用轨迹球算法实现鼠标旋转物体

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

参考资料: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,
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值