3-D figure

14 次查看(过去 30 天)
Sarah Saeed
Sarah Saeed 2023-7-7
移动Cris LaPierre 2023-7-7
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 个评论
Dyuman Joshi
Dyuman Joshi 2023-7-7
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 2023-7-7
编辑:Sarah Saeed 2023-7-7
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?

请先登录,再进行评论。

采纳的回答

Cris LaPierre
Cris LaPierre 2023-7-7
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 个评论
Sarah Saeed
Sarah Saeed 2023-7-7
移动:Cris LaPierre 2023-7-7
@Cris LaPierre, thank you so much, this is really helpful.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by