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