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

조회 수: 2 (최근 30일)
Shiv Karpoor
Shiv Karpoor 2022년 2월 3일
댓글: Shiv Karpoor 2022년 2월 3일
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

채택된 답변

David Hill
David Hill 2022년 2월 3일
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
Shiv Karpoor
Shiv Karpoor 2022년 2월 3일
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!!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Fangjun Jiang
Fangjun Jiang 2022년 2월 3일
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
Shiv Karpoor
Shiv Karpoor 2022년 2월 3일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by