How t generate cone using scattered random point cloud?

6 次查看(过去 30 天)
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 个评论
M.S. Khan
M.S. Khan 2020-10-20
Dear KSSV, thanks for your kind reply. This code provides cone also but not random scattered point cloud. Regards
M.S. Khan
M.S. Khan 2020-10-20
They are using grid that means its uniform spaced points? Could you guide me how to generate cone using scattered random point cloud.

请先登录,再进行评论。

采纳的回答

Bruno Luong
Bruno Luong 2020-10-20
编辑:Bruno Luong 2020-10-20
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

更多回答(1 个)

Ameer Hamza
Ameer Hamza 2020-10-20
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 个评论
Bruno Luong
Bruno Luong 2022-11-10
编辑:Bruno Luong 2022-11-10
@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

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by