www.pudn.com > calibr8.zip > makePCoords.m


function PC = makePCoords( Sp1, Ip1, Sp2, Ip2, Sp3, Ip3, Sp4, Ip4, Sp5, Ip5, Sp6, Ip6 )

[n1 m1] = size( Sp1 );
[n2 m2] = size( Sp2 );
[n3 m3] = size( Sp3 );
nC = 3;

if nargin > 6
  	[n4 m4] = size( Sp4 );
	nC = 4;
	if( nargin > 8 )
		[n5 m5] = size( Sp5 );
		nC = 5;
		if( nargin > 10 )
			[n6 m6] = size( Sp6 );
			nC = 6;
		end
	end	
end

PCsize = 0;
for i = 1:nC
	PCsize = PCsize + eval(['n' num2str(i)]);
end

PC = zeros( PCsize, 5 );

PC(1:n1,1) = Sp1(:,1);
PC(1:n1,2) = Sp1(:,2);
PC(1:n1,3) = Sp1(:,3);
PC(1:n1,4) = Ip1(:,1);
PC(1:n1,5) = Ip1(:,2);

PC(n1+1:n1+n2,1) = Sp2(:,1);
PC(n1+1:n1+n2,2) = Sp2(:,2);
PC(n1+1:n1+n2,3) = Sp2(:,3);
PC(n1+1:n1+n2,4) = Ip2(:,1);
PC(n1+1:n1+n2,5) = Ip2(:,2);

PC(n1+n2 + 1:n1+n2+n3,1) = Sp3(:,1);
PC(n1+n2 + 1:n1+n2+n3,2) = Sp3(:,2);
PC(n1+n2 + 1:n1+n2+n3,3) = Sp3(:,3);
PC(n1+n2 + 1:n1+n2+n3,4) = Ip3(:,1);
PC(n1+n2 + 1:n1+n2+n3,5) = Ip3(:,2);

if nargin > 6	
	PC(n1+n2+n3 + 1:n1+n2+n3+n4,1) = Sp4(:,1);
	PC(n1+n2+n3 + 1:n1+n2+n3+n4,2) = Sp4(:,2);
	PC(n1+n2+n3 + 1:n1+n2+n3+n4,3) = Sp4(:,3);
	PC(n1+n2+n3 + 1:n1+n2+n3+n4,4) = Ip4(:,1);
	PC(n1+n2+n3 + 1:n1+n2+n3+n4,5) = Ip4(:,2);
	if nargin > 8
		PC(n1+n2+n3+n4 + 1:n1+n2+n3+n4+n5,1) = Sp5(:,1);
		PC(n1+n2+n3+n4 + 1:n1+n2+n3+n4+n5,2) = Sp5(:,2);
		PC(n1+n2+n3+n4 + 1:n1+n2+n3+n4+n5,3) = Sp5(:,3);
		PC(n1+n2+n3+n4 + 1:n1+n2+n3+n4+n5,4) = Ip5(:,1);
		PC(n1+n2+n3+n4 + 1:n1+n2+n3+n4+n5,5) = Ip5(:,2);
		if nargin > 10
			PC(n1+n2+n3+n4+n5 + 1:n1+n2+n3+n4+n5+n6,1) = Sp6(:,1);
			PC(n1+n2+n3+n4+n5 + 1:n1+n2+n3+n4+n5+n6,2) = Sp6(:,2);
			PC(n1+n2+n3+n4+n5 + 1:n1+n2+n3+n4+n5+n6,3) = Sp6(:,3);
			PC(n1+n2+n3+n4+n5 + 1:n1+n2+n3+n4+n5+n6,4) = Ip6(:,1);
			PC(n1+n2+n3+n4+n5 + 1:n1+n2+n3+n4+n5+n6,5) = Ip6(:,2);
		end
	end
end