扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:张正波 牟 彦 黄 华 刘 波 来源:计算机与信息技术 2007年10月19日
关键字:
class VirtualBall { protected: void _mapToSphere(const Point2fT* NewPt, Vector3fT* NewVec) const; public: //构造和析构函数 VirtualBall(GLfloat NewWidth, GLfloat NewHeight); ~VirtualBall() { /* 不做任何事*/ }; //设置边界, 当窗口大小改变时,使虚拟球与窗口大小相适应 void setBounds(GLfloat NewWidth, GLfloat NewHeight) void click(const Point2fT* NewPt);// 鼠标按下,映射起始点到虚拟球 //鼠标拖动,第二个鼠标坐标在这里得到更新,并映射到虚拟球上,计算旋转 //轴的向量和夹角的信息,将它们保存到一个四元数NewRot中(前3个元素为 //坐标信息,最后一个元素为关于夹角的信息,其实就是两个向量的点乘) void drag(const Point2fT* NewPt, Quat4fT* NewRot); protected: Vector3fT StVec; //保存鼠标点击时的向量(起始点) Vector3fT EnVec; //保存拖动时的向量(终点) GLfloat AdjustWidth; //setBounds函数用其来调整窗口 GLfloat AdjustHeight; } |
MousePt.X = ((MousePt.X / ((Width – 1) / 2)) – 1); MousePt.Y = -((MousePt.Y / ((Height – 1) / 2)) – 1); |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者