How t generate cone using scattered random point cloud?
    16 views (last 30 days)
  
       Show older comments
    
Using the below code, i have geneated sphere. could anyone please guide me how to geneate cone using random scattered point cloud. 
I will be very thankful. Thanks in advance to all community members for their cooperation and guidance. Regards
r = randn (10000,3);
r = round(bsxfun(@rdivide,r,sqrt(sum(r.^2,2)))*130);
    x = r(:,1);
    y = r(:,2);
    z = r(:,3);
    scatter3(x,y,z)
3 Comments
Accepted Answer
  Bruno Luong
      
      
 on 20 Oct 2020
        
      Edited: Bruno Luong
      
      
 on 20 Oct 2020
  
      This code provides the uniform distribution on the surface of the cone
h = 3; % height
r  = 1; % base radius
n = 1e4; % number of points
topcapflag = true; % include the top cap or not
rho = sqrt(rand(1,n));
z = h*rho;
if topcapflag
    z(rand(1,n)<r/(h+r))=h;
end
theta = (2*pi)*rand(1,n);
rho = r*rho;
x = cos(theta).*rho;
y = sin(theta).*rho;
% graphic check
figure
plot3(x,y,z,'.')
axis equal
More Answers (1)
  Ameer Hamza
      
      
 on 20 Oct 2020
        This is one way. The distribution is non-uniform
h = 2; % height of cone
r = 1; % maximum radius of cross section of the cone
n = 10000;
z = rand(1, n)*h;
t = rand(1, n)*2*pi;
r = interp1([0 h], [0 r], z);
[x, y] = pol2cart(t, r);
scatter3(x, y, z)
23 Comments
  Bruno Luong
      
      
 on 10 Nov 2022
				
      Edited: Bruno Luong
      
      
 on 10 Nov 2022
  
			@anuradha verma, it's not difficult, if you have new question, just click on Ask, or this link:https://mathworks.com/matlabcentral/answers/questions/new
then describe the problem accurately,. 
This thread is opened by the author for his problem and it's has been answered.
You question merits a new thread
See Also
Categories
				Find more on Random Number Generation in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




