通过opengl绘制三维模型,通过鼠标控制可以旋转模型,vs2010编写。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-01-24 19:49 17210110OpenGL_Mouse_rotate_physical
目录 0 2015-01-24 21:56 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面
文件 4708 2003-09-25 04:12 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面ArcBall.cpp
文件 18012 2003-09-25 05:02 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面ArcBall.h
目录 0 2015-01-25 16:17 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面Backup
目录 0 2015-01-24 20:26 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面Debug
文件 20210 2012-10-30 15:49 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugArcBall.obj
文件 0 2012-10-30 15:49 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugArcBall.sbr
文件 28744 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugMouse_rotate_physical.obj
文件 0 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugMouse_rotate_physical.sbr
文件 2507776 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugOpenGL鼠标旋转物体.bsc
文件 217207 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugOpenGL鼠标旋转物体.exe
文件 257168 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugOpenGL鼠标旋转物体.ilk
文件 156672 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面Debugvc60.idb
文件 77824 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面Debugvc60.pdb
文件 7432 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面Mouse_rotate_physical.cpp
文件 4631 2012-10-30 16:02 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.dsp
文件 544 2012-10-30 15:44 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.dsw
文件 58368 2012-10-31 22:08 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.ncb
文件 55808 2012-10-31 22:08 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.opt
文件 1166 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.plg
文件 29163520 2015-01-24 21:56 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.sdf
文件 993 2015-01-24 20:26 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.sln
文件 15360 2015-01-24 21:56 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.v12.suo
文件 6657 2015-01-24 20:26 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.vcxproj
文件 1208 2015-01-24 20:26 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.vcxproj.filters
文件 34508 2015-01-24 20:26 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面UpgradeLog.htm
/** KempoApi: The Turloc Toolkit *****************************/
/** * * **/
/** ** ** Filename: ArcBall.cpp **/
/** ** Version: Common **/
/** ** **/
/** **/
/** Arcball class for mouse manipulation. **/
/** **/
/** **/
/** **/
/** **/
/** (C) 1999-2003 Tatewake.com **/
/** History: **/
/** 08/17/2003 - (TJG) - Creation **/
/** 09/23/2003 - (TJG) - Bug fix and optimization **/
/** 09/25/2003 - (TJG) - Version for NeHe basecode users **/
/** **/
/*************************************************************/
#include // Header File For Windows
#include // Header File For The OpenGL32 Library
#include // Header File For The GLu32 Library
#include // Header File For The GLaux Library
#include “math.h“ // Needed for sqrtf
#include “ArcBall.h“ // ArcBall header
//Arcball sphere constants:
//Diameter is 2.0f
//Radius is 1.0f
//Radius squared is 1.0f
void ArcBall_t::_mapToSphere(const Point2fT* NewPt Vector3fT* NewVec) const
{
Point2fT TempPt;
GLfloat length;
//Copy paramter into temp point
TempPt = *NewPt;
//Adjust point coords and scale down to range of [-1 ... 1]
TempPt.s.X = (TempPt.s.X * this->AdjustWidth) - 1.0f;
TempPt.s.Y = 1.0f - (TempPt.s.Y * this->AdjustHeight);
//Compute the square of the length of the vector to the point from the center
length = (TempPt.s.X * TempPt.s.X) + (TempPt.s.Y * TempPt.s.Y);
//If the point is mapped outside of the sphere... (length > radius squared)
if (length > 1.0f)
{
GLfloat norm;
//Compute a normalizing factor (radius / sqrt(length))
norm = 1.0f / FuncSqrt(length);
//Return the “normalized“ vector a point on the sphere
NewVec->s.X = TempPt.s.X * norm;
NewVec->s.Y = TempPt.s.Y * norm;
NewVec->s.Z = 0.0f;
}
else //Else it‘s on the inside
{
//Return a vector to a point mapped inside the sphere sqrt(radius squared - length)
NewVec->s.X = TempPt.s.X;
NewVec->s.Y = TempPt.s.Y;
NewVec->s.Z = FuncSqrt(1.0f - length);
}
}
//Create/Destroy
ArcBall_t::ArcB
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-01-24 19:49 17210110OpenGL_Mouse_rotate_physical
目录 0 2015-01-24 21:56 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面
文件 4708 2003-09-25 04:12 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面ArcBall.cpp
文件 18012 2003-09-25 05:02 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面ArcBall.h
目录 0 2015-01-25 16:17 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面Backup
目录 0 2015-01-24 20:26 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面Debug
文件 20210 2012-10-30 15:49 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugArcBall.obj
文件 0 2012-10-30 15:49 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugArcBall.sbr
文件 28744 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugMouse_rotate_physical.obj
文件 0 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugMouse_rotate_physical.sbr
文件 2507776 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugOpenGL鼠标旋转物体.bsc
文件 217207 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugOpenGL鼠标旋转物体.exe
文件 257168 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面DebugOpenGL鼠标旋转物体.ilk
文件 156672 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面Debugvc60.idb
文件 77824 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面Debugvc60.pdb
文件 7432 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面Mouse_rotate_physical.cpp
文件 4631 2012-10-30 16:02 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.dsp
文件 544 2012-10-30 15:44 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.dsw
文件 58368 2012-10-31 22:08 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.ncb
文件 55808 2012-10-31 22:08 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.opt
文件 1166 2012-10-31 22:06 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.plg
文件 29163520 2015-01-24 21:56 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.sdf
文件 993 2015-01-24 20:26 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.sln
文件 15360 2015-01-24 21:56 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.v12.suo
文件 6657 2015-01-24 20:26 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.vcxproj
文件 1208 2015-01-24 20:26 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面OpenGL鼠标旋转物体.vcxproj.filters
文件 34508 2015-01-24 20:26 17210110OpenGL_Mouse_rotate_physicalOpenGL鼠标旋转物体及剪切平面UpgradeLog.htm
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)