Matlab 具有特定角度孔径的双锥面
我试图在MATLAB中绘制具有特定孔径/顶角(例如θ)的双圆锥体,如下图所示: 我的尝试: 圆锥的参数描述如下: F(s,t,u)=(u tan(s)cos(t),u tan(s)sin(t),u) 其中s从0到θ(孔径2*θ),t从0到2*pi,u从0到h(高度) 我不确定如何将u添加到所有这些中,所以我只做了Z=tan(S)。这确实给我画了一个圆锥体,但我不太确定我在这里做了什么Matlab 具有特定角度孔径的双锥面,matlab,math,geometry,Matlab,Math,Geometry,我试图在MATLAB中绘制具有特定孔径/顶角(例如θ)的双圆锥体,如下图所示: 我的尝试: 圆锥的参数描述如下: F(s,t,u)=(u tan(s)cos(t),u tan(s)sin(t),u) 其中s从0到θ(孔径2*θ),t从0到2*pi,u从0到h(高度) 我不确定如何将u添加到所有这些中,所以我只做了Z=tan(S)。这确实给我画了一个圆锥体,但我不太确定我在这里做了什么 非常感谢您的帮助。您尝试过什么?哪里有一些代码、公式或至少是草图?阻碍你成功的真正问题是什么?更新。谢谢你的评
非常感谢您的帮助。您尝试过什么?哪里有一些代码、公式或至少是草图?阻碍你成功的真正问题是什么?更新。谢谢你的评论。我会用
a=,h=
类似于:z=h;r=abs(h)*tan(孔径半角);x=r*cos(a);y=r*sin(a)代码>。。。不是一个Matlab编码器,所以可能会有偏差,如角度单位。。。
s = linspace(0,theta);
t = linspace(0,2*pi);
[S,T] = meshgrid(s,t);
X = tan(S).*cos(T);
Y = tan(S).*sin(T);
Z = tan(S);
surf(X,Y,Z)