How to plot a point, if it lies within a cube?

2 views (last 30 days)
Hello MATLAB Community,
Say I have a point 'A' whose coordinates are [116, 6.63, 22].
Now I want create a boundary cube whose center of origin is (0,0,0) and the cube must be from -150 to +150 in X,Y,Z direction.
I would only like to plot the point A, if it is within the boundary condition (-150 to +150).
My question is how do you create a boundary cube and tell matlab to plot the point, only if its within the boundary limit?
I was not able to create a boundary for this problem.
Can anyone please help me with any suggestions.
Thank you in advance!!
I really appreciate your help.
Kind regards,
Shiv

Accepted Answer

David Hill
David Hill on 3 Feb 2022
a = -pi : pi/2 : pi;
ph = pi/4;
ampl=150;
x = ampl*[cos(a+ph); cos(a+ph)]/cos(ph);
y = ampl*[sin(a+ph); sin(a+ph)]/sin(ph);
z = ampl*[-ones(size(a)); ones(size(a))];
figure
surf(x, y, z, 'FaceColor','g','FaceAlpha',0.1)
hold on
grid on
A=[116, 6.63, 22];
if all(abs(A)<=ampl)
plot3(A(1),A(2),A(3),'o','Color','b','MarkerSize',5,'MarkerFaceColor','b');
end
  1 Comment
Shiv Karpoor
Shiv Karpoor on 3 Feb 2022
Hi David Hill,
Thank you for the solution of the example.
I was expecting something of this solution for my script.
I really appreciate your help!!

Sign in to comment.

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 3 Feb 2022
For boundary, use plot3() to plot the lines between the 8 tip points of the cube.
To check if a point is within the boundary, you just need to check if all the coordinates (x,y,z) are within the range of [-150, 150]
  1 Comment
Shiv Karpoor
Shiv Karpoor on 3 Feb 2022
Hi Fangjun Jiang, I don't want to manully cross check it. hence I mentioned if statement in the question, Thank you for your response.

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices 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!