Search Comments and Ratings

go

   
Date File Comment by Comment Rating
13 Oct 2010 Equally spaced structured Point Cloud Cuboid generation Simple function to generate equally spaced point cloud forming a cuboid Author: Jveer Jveer

@ Tilak

First, apologies for the late reply.

I disagree with your above comparison with meshgrid.

Consider the following:

------> Your Method
function [P]=Test

% Loading Pre-Point Generation Data
load Test.mat;

tic

% % Meshgrid
[xp,yp,zp]=meshgrid(xp,yp,zp);
xp=reshape(xp,[],1);yp=reshape(yp,[],1);zp=reshape(zp,[],1);
P=[xp(:),yp(:),zp(:)];

toc

end

----> Proof that the results are disimilar
>> P=Test;
Elapsed time is 0.247434 seconds.
>> load Test.mat;
>> tic;P1=Cuboid(xp,yp,zp);toc
Elapsed time is 0.769585 seconds.
>> isequal(P1',P)

ans =

0

----> For similar results
function [P]=Test

% Loading Pre-Point Generation Data
load Test.mat;

tic

% % Meshgrid
[xp,yp,zp]=meshgrid(xp,yp,zp);
P=[xp(:),yp(:),zp(:)];
P=unique(P,'rows');

toc

end

---> Proof that Cuboid is faster
>> P=Test;
Elapsed time is 4.109277 seconds.
>> load Test.mat;
>> tic;P1=Cuboid(xp,yp,zp);toc
Elapsed time is 0.755397 seconds.
>> isequal(P1',P)

ans =

1

----> Cuboid=mesgrid+unique ==> to generate a structured point cloud Cuboid is still way faster.

20 Jul 2010 Equally spaced structured Point Cloud Cuboid generation Simple function to generate equally spaced point cloud forming a cuboid Author: Jveer Tilak Rajesh

Here is a faster version compared with the Cuboid()

%%
clear
for i=1:100
tic
[P]=Cuboid([-1:0.1:1],[-2:0.1:2],[-3:0.1:3]);
%plot3(P(1,:),P(2,:),P(3,:),'*')
toc
end
%Approx worst case: Elapsed time is 0.006052 seconds.
%%
clear
for i=1:100
tic
[x,y,z]=meshgrid([-1:0.1:1],[-2:0.1:2],[-3:0.1:3]);
x=reshape(x,[],1);y=reshape(y,[],1);z=reshape(z,[],1);
%plot3(x,y,z,'*')
toc
end
%Approx worst case: Elapsed time is 0.001026 seconds.

Both code produce the same result but using meshgird is much faster. I find it interesting as to how gather lots of points in the cloud, especially when there is OUT OF MEMORY issues.
for example: [x,y,z]=meshgrid([-1:0.001:1],[-1:0.001:1],[-1:0.001:1]); gives OUT OF MEMORY.
I am thinking of taking only X and Y using meshgrid and using this to create slices of the cube in the x-y plane. Any better ways to overcome the OUT OF MEMORY problems ?

07 Apr 2009 Equally spaced structured Point Cloud Cuboid generation Simple function to generate equally spaced point cloud forming a cuboid Author: Jveer Jveer

Communications blockset not required! i don't remember putting that there!

if anyone manages to speed up this function, please let me know.

Contact us