MATLAB Answers

0

How to generate random points within 3d pyramid

Asked by Musa Mustapha on 12 Jun 2019
Latest activity Commented on by Jeremiah Abimbola on 20 Jun 2019
giving the parameters as
E0= (0,0,1); E1= (1,1,0); E2=(-1,1,0); E3=(-1,-1,0); E4=(1,-1,0)
Screenshot 2019-06-12 at 8.56.35 PM.png

  4 Comments

Show 1 older comment
yes i need uniform distribution of random points within the pyramid, while the orientation of the shape remains the same.
i tried this
% Creating Pyramid using Random Function
clear;
clc;
E0= [0,0,1];
E1= [1,1,0];
E2= [-1,1,0];
E3= [-1,-1,0];
E4= [1,-1,0];
V1=E4-E1;
V2=E2-E1;
x_y_len=sqrt(V1.^2+V2.^2);
%the height of the pyramid
H=sqrt(sum(abs(E0-(0.5.*x_y_len)).^2));
%the Side of Pyramid
L=(sum(x_y_len)./2)/2;
A=rand(3,1000)
h= H.*A(1,1:end);
H= H* ones(size(h));
L= L* ones(size(h));
x= (L/H).*(H-h);
X= -x/2 + x.*A(2,1:end);
Y= -x/2 + x.*A(3,1:end);
plot3(X,Y,h,'.');
grid on;
the random points doest not seem to be uniform, and i failed to maintain the orientation based on the givig cordinates. thank you
Jan
on 13 Jun 2019
@Musa: I've used the buttons on top of the edit field to format your comment. This improves the readability.
Does you comment mean, that you need uniformly distributed points? How many?
Is a rejection method sufficient for your case? This means: Determine random point in the cuboid surrounding the pyramid and reject all points outside the pyramid.
Jan
on 14 Jun 2019
The third time I'm asking this: Would a rejection method satisfy your needs?

Sign in to comment.

1 Answer

Answer by Jan
on 12 Jun 2019
Edited by Jan
on 12 Jun 2019

  1 Comment

I also have this challenge, going through the post from the link you shared was not explanatory me, moreso, that was 2D, mine is in a 3D space.
I refer to your question asked on Musa's original question
Is a rejection method sufficient for your case? This means: Determine random point in the cuboid surrounding the pyramid and reject all points outside the pyramid.
For me, Yes: uniformly distributed random points; and Yes determine random point in the cuboid surrounding the pyramid and reject all points outside the pyramid, like in this pictureScreenshot 2019-06-20 at 11.41.53 AM.png

Sign in to comment.