用离散点云实现三维重建的matlab程序
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 230270 2017-07-14 17:43 MyCrustOpen070909Falangi.mat
文件 210927 2017-07-14 17:43 MyCrustOpen070909Foot.mat
文件 112918 2017-07-14 17:43 MyCrustOpen070909HandOliver.mat
文件 130335 2017-07-14 17:43 MyCrustOpen070909Hypersheet.mat
文件 190015 2017-07-14 17:43 MyCrustOpen070909Mannequin.mat
文件 29312 2017-07-14 17:43 MyCrustOpen070909modelforD2_5.mat
文件 373644 2017-07-14 17:43 MyCrustOpen070909Monkey2.mat
文件 22923 2017-07-14 17:43 MyCrustOpen070909MyCrustOpen.m
文件 6184 2017-07-14 17:43 MyCrustOpen070909Nefertiti.mat
文件 1664 2017-07-14 17:43 MyCrustOpen070909Pipes.mat
文件 1599 2017-07-14 17:43 MyCrustOpen070909TestMyCrustOpen.m
文件 1314 2017-07-14 17:43 license.txt
% MyCrustOpen
%
%
% This version has been developped for open surface with no sharp edges.
%
% Differently from crust based algorithm does not ensure a tight
% triangluation and sometimes self-intersecant triangles are generated
% it is also generally slower. The final surface may need some repair
% work which this utilitie does not offer.
%
% But there are two great advantages this one can be applied on any kind
% of open surface for which the Crust fails supports not regular surface
% like the Moebius ribbon and most of all the surface can have any kind
% of holes open feature shouldn‘t create problem.
% You can see the demo models for examples.
%
% 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 Nefertiti.mat%load input points from mat file
%
% [t]=MyCrustOpen(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: 28/01/2009
% Created: 15/4/2008
%
%
% This work is free thanks to our sponsors and users graditude:
%
% -WORDANS: Make you own T-Shirt
%
% -ODICY: affordable luxury made easy
%
% -GIGASIZE: the easiest way to upload and share files
%
% -Advanced M-code
%
% % href=“https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i d=8412682“>-Donate
%
% Thank you!
%
function [t]=MyCrustOpen(p)
%error check
if nargin>1
error(‘The only input must be the Nx3 array of points‘);
end
[mn]=size(p);
if n ~=3
error(‘Input 3D points must be stored in a 3D array‘);
end
clear m 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
‘toc)
%delaunay 3D triangulation
tic
tetr=delaunayn(p);%creating tedraedron
tetr=int32(tetr);%save memory
fprintf(‘Delaunay Triangulation Time: %4.4f s
‘toc)
%Get connectivity relantionship among tetraedroms
tic
[tetr2tt2tetrt]=Connectivity(tetr);
fprintf(‘Connectivity Time: %4.4f s
‘toc)
%get Circumcircle of tetraedroms
tic
[cctetrrtetr]=CCTetra(ptetr);
fprintf(‘Circumcenters Tetraedroms Time: %4.4f s
‘toc)
%Get intersection factor
tic
Ifact=IntersectionFactor(tetr2tcctetrr
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 230270 2017-07-14 17:43 MyCrustOpen070909Falangi.mat
文件 210927 2017-07-14 17:43 MyCrustOpen070909Foot.mat
文件 112918 2017-07-14 17:43 MyCrustOpen070909HandOliver.mat
文件 130335 2017-07-14 17:43 MyCrustOpen070909Hypersheet.mat
文件 190015 2017-07-14 17:43 MyCrustOpen070909Mannequin.mat
文件 29312 2017-07-14 17:43 MyCrustOpen070909modelforD2_5.mat
文件 373644 2017-07-14 17:43 MyCrustOpen070909Monkey2.mat
文件 22923 2017-07-14 17:43 MyCrustOpen070909MyCrustOpen.m
文件 6184 2017-07-14 17:43 MyCrustOpen070909Nefertiti.mat
文件 1664 2017-07-14 17:43 MyCrustOpen070909Pipes.mat
文件 1599 2017-07-14 17:43 MyCrustOpen070909TestMyCrustOpen.m
文件 1314 2017-07-14 17:43 license.txt
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)