• 大小: 5.76MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-14
  • 语言: Matlab
  • 标签: 云点  三维  重构  

资源简介

云点 离散点 三维 重构 三维建模 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


评论

共有 条评论