Matlab中错误的三维绘图
我试图在Matlab中创建3D绘图,但我几乎没有经验。我真的很想画出这些方程所描述的图:Matlab中错误的三维绘图,matlab,plot,Matlab,Plot,我试图在Matlab中创建3D绘图,但我几乎没有经验。我真的很想画出这些方程所描述的图: x = cos(u) sinh(t) / (cosh(t) - cos(u)); y = cos(u) sin(u) / (cosh(t) - cos(u)); z = sin(u); 其中u和t都在-pi到pi之间变化。这就是保罗·伯克所说的 通过代码,我得到了一些东西。。。难以形容的如何绘制图形?您的代码是正确的。你只需要放大 以下提示可使此内容更具可视性: 通过将a=…和b=…更改
x = cos(u) sinh(t) / (cosh(t) - cos(u));
y = cos(u) sin(u) / (cosh(t) - cos(u));
z = sin(u);
其中u和t都在-pi到pi之间变化。这就是保罗·伯克所说的
通过代码,我得到了一些东西。。。难以形容的如何绘制图形?您的代码是正确的。你只需要放大 以下提示可使此内容更具可视性:
- 通过将
和a=…
更改为:b=…
linspace(-pi,pi,40),使用更小的网格代码>
- 添加此
至,'FaceColor','none','EdgeColor','interp')
命令,仅打印线条和彩色线条surf
- 添加此
轴,使其与vis3d相等在执行
命令之后执行code>,这样轴将具有正确的缩放比例,并且在旋转时表现良好surf
- 添加
whitebg('black')代码>和
将背景设置为黑色网格关闭
- 更改为
surf(X,Y,Z,-U,…)编码>并添加
彩色地图('HSV')代码>如果您想要与原稿相同的颜色
set(gca,'xtick',[]);集合(gca,'xticklabel',[]);集合(gca,'yticklabel',[]);集合(gca,'ytick',[])代码>以删除轴标记
- 您可能希望使用
将投影更改为透视投影,一直向外缩放,将相机移近,以获得良好的透视扭曲效果cameratoolbar
非常感谢!还有一个问题:我如何改变颜色?我的图更黄了。你添加了我上面提到的
彩色贴图了吗?您还可以查看doc colormap
,查看所有不同的颜色。(你甚至可以自己定义一个)很好!不需要它,你只是总结了Matlab中可视化的所有主要功能!伟大的answer@AnderBiguri我们是来开导的,不是吗?:-)
clc
clear
a = -pi:.01:pi;
b = -pi:.01:pi;
[U,T] = meshgrid(a,b);
X = (cos(U).*sinh(T))./(cosh(T)-cos(U));
Y = (cos(U).*sin(U))./(cosh(T)-cos(U));
Z = sin(U);
figure
surf(X,Y,Z)