博文
OpenGL下实现鼠标交互式的程序(2009-04-23 22:49:00)
摘要: 最近在用OpenGL做三维程序,其中用到了用鼠标使物体旋转的功能,于是欣然将其总结一下,做成另一个完整的程序,下面将给出整个程序的源代码。
一,所需支持
程序使用了GLUT库,需要下载库文件,执行时需要相应的动态链接库。在Windows平台下的下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip。如果找不到就在http://www.opengl.org/主页找一下吧。
Windows环境下安装GLUT的步骤:
1、将下载的压缩包解开,将得到5个文件
2、假设C盘是系统盘,Microsoft Visual Studio安装在c:\Program Files\
(1)glut.h 放在“c:\Program Files\Microsoft Visual Studio\VC98\include\GL”;
(2)glut.lib和glut32.lib放在“c:\Program Files\Microsoft Visual Studio\VC98\lib”;
(3)glut.dll和glut32.dll放到“C:\Windows\System32”
二,原理
x = r * sin(φ) * cos(α)
z = r * sin(φ) * sin(α)
y = r * cos(φ)
鼠标的水平移动导致α改变,鼠标的垂直移动导致φ改变
三,源程序
(将此代码保存为file.c,然后编译链接即可执行了)
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <GL/glut.h> /*OpenGL Utility Toolkit*//*该文件已包含了GL.h 和Gl......