资源简介
可以读取三维点云,生成三角网格,并绘制三维图像.
代码片段和文件信息
%% MyCrust
%
%Simple surface recostruction program based on Crust algorithm
%Given a set of 3D points returns a triangulated tight surface.
%
%The more points there are the best the surface will be fitted
%although you will have to wait more. For very large models an
%help memory errors may occurs.
%It is important even the point distribution generally uniformly
% distributed points with denser zones in high curvature features
% give the best results.
%
% Remember crust algorithom needs a cloud representing a volume
% so open surface may give inaccurate results.
%
%
% If any problems occurs in execution or if you found a bug
% have a suggestion or question just contact me at:
%
% giaccariluigi@msn.com
%
%
%
%
%Here is a simple example:
%
%load Dino.mat%load input points from mat file
%
%[t]=MyCrust(p);
%
% figure(1)
% hold on
% title(‘Output Triangulation‘‘fontsize‘14)
% axis equal
% trisurf(tp(:1)p(:2)p(:3)‘facecolor‘‘c‘‘edgecolor‘‘b‘)
%
%Input:
% p is a Nx3 array containing the 3D set of points
%Output:
% t are points id contained in triangles Nx3 array too.
%
% See also qhull voronoin convhulln delaunay delaunay3 tetramesh.
%
%Author:Giaccari Luigi
%Last Update: 1/12/2008
%Creation: 10/10/2008
function [t]=MyCrust(p)
%% Main
starttime=clock;
%add points to the given ones this is usefull
%to create outside tetraedrom
tic
p=AddShield(p);
fprintf(‘Addedded Shield: %4.4f s\n‘toc)
tic
tetr=delaunayn(p);%creating tedraedron
tetr=int32(tetr);%use integer to save memory
fprintf(‘Delaunay Triangulation Time: %4.4f s\n‘toc)
%connectivity data
%find triangles to tetraedrom and tetraedrom to triangles connectivity data
tic
[t2tetrtetr2t]=Connectivity(tetr);
fprintf(‘Connectivity Time: %4.4f s\n‘toc)
tic
[ccr]=CC();%Circumcenters of tetraedroms
fprintf(‘Circumcenters Time: %4.4f s\n‘toc)
clear n
tic
t=Walking();%Flagging tetraedroms as inside or outside
fprintf(‘Walking Time: %4.4f s\n‘toc)
time=etime(clockstarttime);
fprintf(‘Total Time: %4.4f s\n‘time)
%% Circumcenters(Nested)
function [ccr]=CC()
%finds circumcenters fro a set of tetraedrom
%points of tetraedrom
p1=(p(tetr(:1):));
p2=(p(tetr(:2):));
p3=(p(tetr(:3):));
p4=(p(tetr(:4):));
%vectors of tetraedrom edges
v21=p(tetr(:1):)-p(tetr(:2):);
v31=p(tetr(:3):)-p(tetr(:1):);
v41=p(tetr(:4):)-p(tetr(:1):);
%preallocation
cc=zeros(size(tetr1)3);
%Solve the system using cramer method
d1=sum(v41.*(p1+p4)*.52);
d2=sum(v21.*(p1+p2)*.52);
d3=sum(v31.*(p1+p3)*.52);
det23=(v21(:2).*v31(:3))-(v21(:3).*v31(:2));
det13=(v21(:3).*v31(:1))-(v21(:1).*v31(:3));
det12=(v2
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 45713 2008-11-20 18:01 点云的三维重建\Block.mat
文件 236278 2008-11-20 18:20 点云的三维重建\Bunny.bmp
文件 27357 2008-11-20 18:14 点云的三维重建\Cactus.mat
文件 1100582 2008-11-20 18:13 点云的三维重建\Chair.mat
文件 527477 2008-11-20 18:02 点云的三维重建\Dino.mat
文件 550432 2008-11-20 18:05 点云的三维重建\Elephant.mat
文件 290952 2008-07-01 20:24 点云的三维重建\gargo50k.mat
文件 188902 2008-06-28 16:52 点云的三维重建\hippo.mat
文件 985815 2008-11-20 18:13 点云的三维重建\Horse.mat
文件 11469 2008-11-20 17:53 点云的三维重建\MyCrust.asv
文件 12126 2008-12-01 22:41 点云的三维重建\MyCrust.m
文件 306544 2008-11-20 18:11 点云的三维重建\Skull.mat
文件 804127 2008-11-20 18:10 点云的三维重建\Standford_Bunny.mat
文件 797 2009-03-28 17:45 点云的三维重建\TestMyCrust.asv
文件 787 2009-03-28 18:24 点云的三维重建\TestMyCrust.m
文件 109 2009-03-28 18:56 点云的三维重建\如何運行.txt
目录 0 2009-03-28 18:54 点云的三维重建
----------- --------- ---------- ----- ----
5089467 17
相关资源
- FAM和SSCA算法的matlab源程序-detection a
- 很多种波束形成算法 一定有用
-
基于Matlab_Simuli
nk的异步电机矢量控 - matlab流形学习算法工具包&matlab机器学
- 数字信号处理理论算法与实现胡广书
- 逆合成孔径成像MATLAB算法配书源代码
- Robust Control Design with MATLAB一本非常经
- 鱼眼图像几何模型校正实验Matlab
- Linear Feedback Control Analysis and Design wi
- MATLAB模拟平面电磁波在空间中的传播
- 暗影通道去雾matlab代码直接可用
- 基于FCN的侧扫声呐图像分割matlab代码
- 《多采样率数字系统设计》Matlab程序
- digital image correlation
- MATLAB_智能算法30个案例分析pdf+源码
- 电路与系统分析:使用MATLAB
- 基于MATLAB与Comsol联合仿真的电磁优化
- 基于MATLAB的模糊PID控制器的设计
- 机器人学导论课后习题MATLAB
- matlab xpc 环境PCI板卡驱动编写
- 三种sift的matlab代码
- RINEX格式的GPS观测文件matlab读取程序附
- 机器学习工具包spider工具包
- 过程控制系统的MATLAB计算及仿真
- MATLAB&Excel定量预测与决策
- Matlab仿真及其在光学课程中的应用代
- matlab自带HHT算法,最简洁的EMD分解
- matlab声纹识别代码
- 基于BP神经网络的手写数字识别matla
- 猫群算法matlab实现
评论
共有 条评论