clear all;
data=ascread('bun045.asc');%動态
points = data{2};
points=double(points);
[m k]=size(points);
P=zeros(3,1);
Q=zeros(3,1);
%點雲重心
for i=1:3
for j=1:m
P(i)=points(j,i)+P(i);
end
end
P=P/m;
%産生噪音
Noise = normrnd(0,0.1,m,2);
%噪音移動到點雲的位置處
for i=1:2
for j=1:m
Noise(j,i)=Noise(j,i)+P(i);
end
end%
Noise=[Noise,points(:,3)];
pc=[points;Noise];
%可視化加噪音後的點雲
% pcshow(pc)
% ax = pcshow();
%儲存點雲
[m, k]=size(pc);
fid = fopen('bun045.txt','wt');%此時的靜态點雲已經是去重心平移後的點雲
for i=1:m
for k=1:3
fprintf(fid,'%g ',pc(i,k));
end
fprintf(fid, '\n');
% fprintf(fid,' %g %g %g\n',80, 167, 73); % 動态點雲存點為綠色
end
fclose(fid);