2
我试图旋转2D曲线来生成3D曲面图。通过曲线的旋转生成3D绘图
我使用
[X,Z,Y] = cylinder(u);
surf(X,Y,Z), axis square
这种尝试,但是,围绕我周围的错误轴曲线。我如何去改变轴?
非常感谢。
我试图旋转2D曲线来生成3D曲面图。通过曲线的旋转生成3D绘图
我使用
[X,Z,Y] = cylinder(u);
surf(X,Y,Z), axis square
这种尝试,但是,围绕我周围的错误轴曲线。我如何去改变轴?
非常感谢。
使滚筒旋转的轴,你可以简单地改变X,Y的顺序,和Z
[X,Y,Z] = cylinder(u);
surf(X,Y,Z) %# rotation around Z
surf(Z,X,Y) %# rotation around X
surf(Y,Z,X) %# rotation around Y
编辑
要改变你的曲线的旋转轴,你必须计算表面。例如,要以围绕Y轴旋转alpha = 0:0.1:pi
y = sin(alpha)
,你可以写
r = 0:0.1:pi;
z = sin(r);
theta = 0:pi/20:2*pi;
xx = bsxfun(@times,r',cos(theta));
yy = bsxfun(@times,r',sin(theta));
zz = repmat(z',1,length(theta));
dfig,surf(xx,yy,zz)
axis equal
不,仅更改显示的情节的方向! – RanUsr 2011-03-06 03:30:41
@Nan Shan:好的,我现在明白了。我添加了另一种方法来改变旋转轴。 – Jonas 2011-03-06 03:53:12
这是旋转乔纳斯的绝妙方式。谢谢。问题是,当我使用你的方法时,我有多条曲线旋转和矩阵乘法失败。它工作得很好,我用我的代码编辑了这个问题。 – RanUsr 2011-03-06 04:55:29