资源简介
该算法比较成熟地解决了点云处理中的一些困难:空洞填补、曲面拟合等等

代码片段和文件信息
//本文件是数据交换模块的实现文件
#include
//主程序头文件
//#include“re.h“
#include“Asc.h“
#include
//************************************************************************
//************************************************************************
//点云文件读取部分
//
//************************************************************************
//************************************************************************
CAscfile::CAscfile()
{
datanum=0;
box.SetLimits(1e20-1e201e20-1e201e20-1e20);
}
CAscfile::~CAscfile()
{
m_data.RemoveAll();
}
//====================================================================
int CAscfile::OpenASC(char* name)
{
//检测文件名
if(name==““||name==NULL)
return FALSE;
//打开文件
m_hFile=fopen(name“r“);
if(m_hFile==NULL)
return FALSE;
//保存相关数据
memcpy(filenamenamestrlen(name));
return TRUE;
}
//====================================================================
void CAscfile::CloseASC()
{
fclose(m_hFile);
}
//====================================================================
int CAscfile::ReadLine(char* str)
{
int re=0;
char* p;
char tch;
if(str==NULL) return re;
p=str;
tch=fgetc(m_hFile);
while(!feof(m_hFile)&&(tch!=‘\n‘||tch!=0x0a))
{
*p=tch;
p++;
tch=fgetc(m_hFile);
}
*p=‘\0‘;
return TRUE;
}
//=========================================================================
int CAscfile::GetData(char* str CPoint3D& data)
{
int ilen;
char ch=‘*‘;
char* pch=NULL;
float xyz;
//检测数据有效性
if(str==NULL)
return FALSE;
if((pch=strchr(strch))!=NULL)
return FALSE;
//读取数据
ilen=0;
ilen=sscanf(str“%f %f %f“&x&y&z);
if(ilen!=3)
return FALSE;
data.SetParam(xyz);
return ilen;
}
//=========================================================================
int CAscfile::ReadDataFromFile(char* name)
{
char str[255];
CPoint3D temp;
long grow=500;
int flag=1;
//打开文件
if(name==NULL) return FALSE;
if(!OpenASC(name)) return FALSE;
this->Release();
//读取数据
m_data.SetSize(grow);
while(!feof(m_hFile))
{
if(!ReadLine(str))
continue;
//数据转化并保存
if(GetData(strtemp))
{
m_data[datanum]=temp;
box.AddBox(temp);
datanum++;
grow--;
}
if(grow<=1)
{
grow=500;
m_data.SetSize(datanum+grow);
}
}
m_data.FreeExtra();
CloseASC();
return TRUE;
}
//==================================================================
void CAscfile::Release()
{
m_data.RemoveAll();
datanum=0;
}
//完
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2683 2007-10-25 11:31 LIDAR点云有用的算法\asc.cpp
文件 1582 2007-09-29 23:12 LIDAR点云有用的算法\Asc.h
文件 7001 2009-10-21 10:17 LIDAR点云有用的算法\AxisSystem.cpp
文件 2325 2009-06-10 16:47 LIDAR点云有用的算法\AxisSystem.h
文件 573 2007-09-12 08:22 LIDAR点云有用的算法\BasicSurface.cpp
文件 1881 2007-11-06 09:05 LIDAR点云有用的算法\BasicSurface.h
文件 6876 2007-11-04 15:37 LIDAR点云有用的算法\BezierCurve.cpp
文件 2214 2007-11-04 15:37 LIDAR点云有用的算法\BezierCurve.h
文件 2474 2009-10-26 20:38 LIDAR点云有用的算法\BoundingBox.cpp
文件 1650 2007-11-06 09:05 LIDAR点云有用的算法\BoundingBox.h
文件 2789 2007-10-19 09:59 LIDAR点云有用的算法\Bsp.cpp
文件 728 2007-11-06 09:05 LIDAR点云有用的算法\Bsp.h
文件 8093 2007-11-04 20:48 LIDAR点云有用的算法\BSplineCurve.cpp
文件 2283 2007-11-04 15:26 LIDAR点云有用的算法\BSplineCurve.h
文件 5399 2007-11-08 21:55 LIDAR点云有用的算法\Circle3D.cpp
文件 2869 2007-11-08 08:09 LIDAR点云有用的算法\Circle3D.h
文件 2797 2007-09-12 08:25 LIDAR点云有用的算法\Cone.cpp
文件 1913 2007-11-06 09:05 LIDAR点云有用的算法\Cone.h
文件 719 2007-11-04 15:37 LIDAR点云有用的算法\Conic.cpp
文件 2110 2007-11-04 15:37 LIDAR点云有用的算法\Conic.h
文件 17918 2007-10-08 10:51 LIDAR点云有用的算法\CoolDialogBar.cpp
文件 3565 2007-11-06 09:05 LIDAR点云有用的算法\CoolDialogBar.h
文件 1925 2008-01-03 17:25 LIDAR点云有用的算法\CreateLine.cpp
文件 1336 2008-01-03 17:18 LIDAR点云有用的算法\CreateLine.h
文件 745 2007-09-12 08:26 LIDAR点云有用的算法\Curve.cpp
文件 2209 2007-11-04 15:37 LIDAR点云有用的算法\Curve.h
文件 2846 2007-09-12 08:26 LIDAR点云有用的算法\Cylinder.cpp
文件 1992 2007-11-06 09:05 LIDAR点云有用的算法\Cylinder.h
文件 3351 2007-11-06 09:05 LIDAR点云有用的算法\DockTool.h
文件 3823 2010-06-18 21:43 LIDAR点云有用的算法\Ellipse3D.cpp
............此处省略143个文件信息
相关资源
- 多传感器标定算法
- SVR算法程序可运行
- 计算机图形学 边填充算法实现代码
- 福建师范大学历年算法考卷
- 栈的实现及应用,六种基本算法
- Bresenham算法绘制线段并利用“橡皮筋
- 介绍几种压缩算法及《笨笨数据压缩
- 改进的BP神经网络算法
- A星算法_原理讲解_例子
- 云模型的相关算法cloud
- 旋转矩阵求欧拉角的简单算法
- 栅栏填充算法源码(VC)
- RSA算法源码
- 关联分析Apriori算法实现
- [免费]relax算法成像
- 操作系统 LRU算法 实验报告 及 程序代
- 分治法快速排序算法QuickSort C
- 现代谱估计算法 music ESPRIT 谐波分解
- MUSIC算法c 实现
- 007出纳管理系统 v7[1].5.94 算法注册机
- 克鲁斯卡尔算法C和C 实现代码
- capon波束形成算法-VC实现
- QGA 量子遗传算法
- 利用OpenGL写毛笔字算法
- 带头结点的单链表的c算法实现
- 自适应隐写算法wow
- 协同过滤算法源码
- RSA AES DES ECC加密算法源码
- 密码学课程设计:DES加密解密算法的
- 北航人工智能原理课大作业源代码,
评论
共有 条评论