3-D figure

21 views (last 30 days)
Sarah Saeed
Sarah Saeed on 7 Jul 2023
Moved: Cris LaPierre on 7 Jul 2023
Can you please help me with plotting a 3D figure that shows the cones representing the field of view of multiple elements that have different elevation and azimuth angles, similar to the figure below.
Thank you
  2 Comments
Dyuman Joshi
Dyuman Joshi on 7 Jul 2023
There are 2 cones in the plot figure and 3 cones in the image at top right.
Which one do you want to obtain?
Sarah Saeed
Sarah Saeed on 7 Jul 2023
Edited: Sarah Saeed on 7 Jul 2023
Thank you for the reply.
Both, since I need to plot different figures with different number of cones and I was wondering if they can be superimposed on each other.
Also since the FOVs overlap, how this can be shown?

Sign in to comment.

Accepted Answer

Cris LaPierre
Cris LaPierre on 7 Jul 2023
Sure. Here's an eample of a cone along the Z axis. Use the 'FaceAlpha' name-value pair to adjust transparency:
I've made some adjustments below. This is a 'brute force' approach.
r = linspace(0,3,20) ;
th = linspace(0,2*pi,20) ;
[R,T] = meshgrid(r,th) ;
X = R.*cos(T) ;
Y = R.*sin(T) ;
Z = R ;
mesh(X,Y,Z,"EdgeColor",'k',"FaceAlpha",0.5)
axis equal
A better alternative might be what is discussed in this answer:
Here, you can at lease take advantage of the hgtransform function to position your cone.
figure
r = linspace(0,3,20) ;
[X,Y,Z]=cylinder(r);
% cone 1:
M=makehgtform('translate',[0,0,0],'yrotate',120*pi/180,'zrotate',15*pi/180);
h=mesh(X,Y,Z,'Parent',hgtransform('Matrix',M),"EdgeColor",'k','FaceAlpha',0.5);
hold on
% cone 2
M2=makehgtform('translate',[0,0,0],'xrotate',pi/2,'zrotate',240*pi/180);
h2=mesh(X,Y,Z,'Parent',hgtransform('Matrix',M2),"EdgeColor",'k','FaceAlpha',0.5);
hold off
xlabel('X')
ylabel('Y')
axis equal
view([-127.5 30])
  1 Comment
Sarah Saeed
Sarah Saeed on 7 Jul 2023
Moved: Cris LaPierre on 7 Jul 2023
@Cris LaPierre, thank you so much, this is really helpful.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!