资源简介
云点 离散点 三维 重构 三维建模 matlab

代码片段和文件信息
%% 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. Surface with small holes are not
% considered open surface and generally are processed well.
%
%
% 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 .
%
% See also qhull voronoin convhulln delaunay delaunay3 tetramesh.
%
%Author:Giaccari Luigi
%Last Update: 03/1/2008
%Created: 10/10/2008
function [t]=MyCrust(p)
%error check
if nargin>1
error(‘The only input must be the Nx3 array of points‘);
end
[n]=size(p2);
if n ~=3
error(‘Input 3D points must be stored in a Nx3 array‘);
end
clear n
%% Main
starttime=clock;
%add points to the given ones this is usefull
%to create outside tetraedroms
tic
[pnshield]=AddShield(p);
fprintf(‘Added 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
[t2tetrtetr2tt]=Connectivity(tetr);
fprintf(‘Connectivity Time: %4.4f s\n‘toc)
tic
[ccr]=CC(ptetr);%Circumcenters of tetraedroms
fprintf(‘Circumcenters Time: %4.4f s\n‘toc)
clear n
tic
tbound=Marking(ptetrtetr2tt2tetrccrnshield);%Flagging tetraedroms as inside or outside
fprintf(‘Walking Time: %4.4f s\n‘toc)
%recostructed raw surface
t=t(tbound:);
time=etime(clockstarttime);
fprintf(‘Total Time: %4.4f s\n‘time)
end
%% Circumcenters
function [ccr]=CC(ptetr)
%finds circumcenters from a set of tetraedroms
%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=s
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 67998 2007-04-13 14:57 云点 离散点 三维 重构 三维建模 matlab\Beethoven.mat
文件 45713 2008-11-20 18:01 云点 离散点 三维 重构 三维建模 matlab\Block.mat
文件 1100582 2008-11-20 18:13 云点 离散点 三维 重构 三维建模 matlab\Chair.mat
文件 550432 2008-11-20 18:05 云点 离散点 三维 重构 三维建模 matlab\Elephant.mat
文件 290952 2008-07-01 20:24 云点 离散点 三维 重构 三维建模 matlab\gargo50k.mat
文件 188902 2008-06-28 16:52 云点 离散点 三维 重构 三维建模 matlab\hippo.mat
文件 985815 2008-11-20 18:13 云点 离散点 三维 重构 三维建模 matlab\Horse.mat
文件 218573 2009-01-05 13:37 云点 离散点 三维 重构 三维建模 matlab\Knot.mat
文件 12438 2009-02-09 17:48 云点 离散点 三维 重构 三维建模 matlab\MyCrust.m
文件 358743 2009-01-05 13:46 云点 离散点 三维 重构 三维建模 matlab\OilPump.mat
文件 306544 2008-11-20 18:11 云点 离散点 三维 重构 三维建模 matlab\Skull.mat
文件 804127 2008-11-20 18:10 云点 离散点 三维 重构 三维建模 matlab\Standford_Bunny.mat
文件 954 2011-10-31 21:25 云点 离散点 三维 重构 三维建模 matlab\TestMyCrust.m
文件 1121230 2009-01-22 18:46 云点 离散点 三维 重构 三维建模 matlab\Vertebra1.mat
目录 0 2009-02-09 18:08 云点 离散点 三维 重构 三维建模 matlab
----------- --------- ---------- ----- ----
6053003 15
- 上一篇:BM3D MATLAB 代码
- 下一篇:统计与自适应信号处理课本和答案
相关资源
- 蚁群算法实现三维路径规划Matlab源码
- 基于matlab的坐标变换程序,通过坐标
- Matlab绘图总结二维,三维显示等
- 基于MATLAB的MEMS表面形貌重构
- 基于matlab体绘制技术的医学影像三维
- matlab实现一维和二维离散小波变换,
- Census及Hamming距离三维立体重建Matlab程
- 离散点云三维重建matlab程序
- matlab实现三维点云三角化
- Matlab 三维点云 三角化
- matlab 基于点云的三维重建 附带 点云
- 点云的三维重建代码,内容丰富matl
- Matlab二维矩阵(三维图像)寻找波峰
- MATLAB 三维点云重构Surface recostruction
- matlab三维网格化图像源码
- 使用Matlab7.3开发的使用整数小波变换
- MATLAB 画飞机三维运动轨迹工具箱
- point3d 点云三维重建
- 板类声子晶体,三维模型能带计算
- 三维重建算法 MATLAB 点云数据
- 点云的三维重建 MATLAB代码 带图片以及
- matlab delaunary 三维点云三角化
- 稀疏三维变换协同滤波图像去噪MATL
- 复杂地质条件下三维模型建立
- MATLAB下人脸图像的PCA重构
- matlab中关于三维重建的源代码,《计
- 基于高斯球的三维点云精简,matlab实
- 多张图片同时在三维空间中显示matl
- matlab 实现一维和二维离散小波变换,
- matlab torr3D reconstruction 工具箱
评论
共有 条评论