• 大小: 10.25MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-15
  • 语言: 其他
  • 标签: 三维显示  

资源简介

VS2008+OpenGL读取三维点云数据,旋转,缩放。点云文件格式为txt

资源截图

代码片段和文件信息

// ChildView.cpp : CChildView 类的实现
//

#include “stdafx.h“
#include “GL_MFC.h“
#include “ChildView.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

GLuint Buffer_ID;
const int BUFFER_NUMBER = 1;
GLuint VAO_ID;
GLuint VAO_NUMBER = 1;
const int vPosition = 0;
// CChildView

CChildView::CChildView()
{
m_hGLContext = NULL;
m_GLPixelIndex = 0;
}

CChildView::~CChildView()
{
   wglMakeCurrent(NULL NULL) ;               

wglDeleteContext(hglrc);                                  //删除绘图描述表

   ::ReleaseDC (m_hWnd hDC) ;               //释放设备描述表

}


BEGIN_MESSAGE_MAP(CChildView CWnd)
ON_WM_PAINT()
ON_WM_CREATE()
ON_WM_DESTROY()
ON_WM_SIZE()
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_COMMAND(ID_NEW &CChildView::OnNew)
ON_WM_MOUSEWHEEL()
END_MESSAGE_MAP()



// CChildView 消息处理程序

BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs) 
{
if (!CWnd::PreCreateWindow(cs))
return FALSE;


cs.dwExstyle |= WS_EX_CLIENTEDGE;
//cs.style &= ~WS_BORDER;
cs.style |= (WS_CLIPCHILDREN | WS_CLIPSIBLINGS);//创建子窗口使用的Windows风格,用于重绘时剪裁其他子窗口所覆盖的区域

cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS 
::LoadCursor(NULL IDC_ARROW) reinterpret_cast(COLOR_WINDOW+1) NULL);

return TRUE;
}

void CChildView::OnPaint() 
{
CPaintDC dc(this); // 用于绘制的设备上下文

// TODO: 在此处添加消息处理程序代码

// 不要为绘制消息而调用 CWnd::OnPaint()
//glLoadIdentity();
//glClear(GL_COLOR_BUFFER_BIT);
//glBegin(GL_POLYGON);
//glColor4f(1.0f 0.0f 0.0f 1.0f);
//glVertex2f(100.0f 50.0f);
//glColor4f(0.0f 1.0f 0.0f 1.0f);
//glVertex2f(450.0f 400.0f);
//glColor4f(0.0f 0.0f 1.0f 1.0f);
//glVertex2f(450.0f 50.0f);
//glEnd();
//glFlush();
//glutDisplayFunc(DisPlay); 
 //   glutIdleFunc(DisPlay);  //设置不断调用显示函数
 //   glutMouseFunc(OnLButtonDown);
 //   glutMotionFunc(onmousemove);
//DisPlay();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
    //printf(“At:%.2f %.2f %.2f\n“r*cos(c*du)hr*sin(c*du)); //这就是视点的坐标
    glLoadIdentity();
TRACE(“x=%fy=%fz=%fduz=%d\n“xyzduz);
if((duz%360<90)&&((duz%360)>-90))
gluLookAt(x yz  0 0 0 0 0 1); //从视点看远点y轴方向(010)是上方向
else gluLookAt(x yz  0 0 0 0 0 -1); //从视点看远点y轴方向(010)是上方向
if(PointArray.empty())
{
glBegin(GL_LINES);
glColor3f(255.00.0f0.0f); glVertex3f(0.0f 0.0f 0.0f);  
glColor3f(255.00.0f0.0f); glVertex3f(1.0f 0.0f 0.0f); //X轴
glColor3f(0.0255.0f0.0f); glVertex3f(0.0f 0.0f 0.0f); 
glColor3f(0.0255.0f0.0f); glVertex3f(0.0f 1.0f 0.0f); //Y轴
glColor3f(0.00.0f255.0f); glVertex3f(0.0f 0.0f 0.0f); 
glColor3f(0.00.0f255.0f); glVertex3f(0.0f 0.0f 1.0f); //Z轴
glEnd();   
}
else
{
glBegin(GL_LINES);//画出坐标轴
glColor3f(255.00.0f0.0f); glVertex3f(0.0f 0.0f 0.0f);  
glColor3f(255.00.0f0.0f); glVertex3f(1.0f 0.0f 0.0f); //X轴
glColor3f(0.0255.0f0.0f); glVertex3f(0.0f 0.0f 0.0f); 
glColor3f(0.0255.0f0.0f); glVertex3f(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-05-31 16:58  GL_MFC\
     文件     3202640  2016-05-18 10:30  GL_MFC\3Ddata_cube_s.iom
     目录           0  2016-05-31 16:32  GL_MFC\bin\
     文件      374981  2016-05-31 16:29  GL_MFC\bin\ChildView.obj
     文件      331776  2011-08-26 17:19  GL_MFC\bin\glew32.dll
     文件      229376  2011-08-26 17:22  GL_MFC\bin\glew32mx.dll
     文件      315392  2011-08-26 17:19  GL_MFC\bin\glewinfo.exe
     文件      169984  1998-08-18 16:25  GL_MFC\bin\glut.dll
     文件      169984  1998-08-18 16:25  GL_MFC\bin\glut32.dll
     文件         920  2016-05-31 16:10  GL_MFC\bin\GL_MFC.exe.embed.manifest
     文件         984  2016-05-31 16:10  GL_MFC\bin\GL_MFC.exe.embed.manifest.res
     文件         861  2016-05-31 16:29  GL_MFC\bin\GL_MFC.exe.intermediate.manifest
     文件       58694  2016-05-31 16:29  GL_MFC\bin\GL_MFC.obj
     文件       24748  2016-05-31 16:10  GL_MFC\bin\GL_MFC.res
     文件       56790  2016-05-31 16:29  GL_MFC\bin\MainFrm.obj
     文件          65  2016-05-31 16:29  GL_MFC\bin\mt.dep
     文件     1092608  2016-05-31 16:29  GL_MFC\bin\vc90.idb
     文件      212992  2011-08-26 17:19  GL_MFC\bin\visualinfo.exe
     目录           0  2016-05-31 16:41  GL_MFC\GL_MFC\
     文件         884  2016-05-24 16:19  GL_MFC\GL_MFC.sln
     文件       43008  2016-05-31 16:41  GL_MFC\GL_MFC.suo
     文件        9525  2016-05-31 16:41  GL_MFC\GL_MFC\ChildView.cpp
     文件        1488  2016-05-31 16:15  GL_MFC\GL_MFC\ChildView.h
     目录           0  2016-05-31 16:06  GL_MFC\GL_MFC\Debug\
     文件        6536  2016-05-31 16:06  GL_MFC\GL_MFC\Debug\BuildLog.htm
     文件      377826  2016-05-31 16:05  GL_MFC\GL_MFC\Debug\ChildView.obj
     文件         920  2016-05-31 14:48  GL_MFC\GL_MFC\Debug\GL_MFC.exe.embed.manifest
     文件         984  2016-05-31 14:48  GL_MFC\GL_MFC\Debug\GL_MFC.exe.embed.manifest.res
     文件         861  2016-05-31 16:05  GL_MFC\GL_MFC\Debug\GL_MFC.exe.intermediate.manifest
     文件       58758  2016-05-31 15:36  GL_MFC\GL_MFC\Debug\GL_MFC.obj
     文件    26673152  2016-05-31 14:47  GL_MFC\GL_MFC\Debug\GL_MFC.pch
............此处省略35个文件信息

评论

共有 条评论