Filter löschen
Filter löschen

How do I change height and colour of cylinder made with SURF?

8 Ansichten (letzte 30 Tage)
Cheng Yoong
Cheng Yoong am 27 Mai 2011
Beantwortet: Tomasz am 7 Nov. 2021
By default,we can use Matlab to plot a cylinder using surf command. This is what I've tried so far:
[x,y,z]=cylinder(10);
surf(x,y,z)
the result came out is a blue cylinder with radius 10. how do i change the colour and height in this case?

Akzeptierte Antwort

Jan
Jan am 27 Mai 2011
[x,y,z] = cylinder(10);
z(2, :) = 10;
surf(x,y,z, 'FaceColor', [1,0,0]);
  4 Kommentare
Cheng Yoong
Cheng Yoong am 27 Mai 2011
Is it possible to plot the cylinder horizontally?
If possible can you show me how?
Jan
Jan am 27 Mai 2011
@Cheng: You can try it by your self. "z(2, :)=10; disp(z); z(2, :)=3; disp(z)".
What about "surf(x,z,y)" or "surf(z,y,x)"?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (4)

Walter Roberson
Walter Roberson am 27 Mai 2011
The simplest way to plot horizontally might be to change the viewpoint and relabel the axes :)
Otherwise you might need to create an hgtransform() that does a rotation and parent the surface to it using surf(x,y,z,'Parent',TheHGHandle)

Patrick Kalita
Patrick Kalita am 13 Jul. 2011
Here's how you would do it with an hgtransform and makehgtform:
% Make the hgtransform and the surface; parent the surface to the hgtransform
[x,y,z] = cylinder(10);
h = hgtransform;
surf(x,y,z, 'Parent', h, 'FaceColor', 'r');
view(3)
% Make it taller
set(h, 'Matrix', makehgtform('scale', [1 1 10]))
% Tip it over and make it taller
set(h, 'Matrix', makehgtform('xrotate', pi/2, 'scale', [1 1 10]))

Álvaro Romero Calvo
Álvaro Romero Calvo am 7 Okt. 2018
Bearbeitet: Walter Roberson am 11 Okt. 2018

Tomasz
Tomasz am 7 Nov. 2021
k=0:0.2:1;
[X,Y,Z]=cylinder(k,3);
figure
surf(X(1:2,:),Y(1:2,:),Z(1:2,:),'facecolor',[0,0,1])
hold on
surf(X(2:3,:),Y(2:3,:),Z(2:3,:),'facecolor',[0 ,0.4470, 0.7410])
surf(X(3:4,:),Y(3:4,:),Z(3:4,:),'facecolor',[0,1,1])
surf(X(4:5,:),Y(4:5,:),Z(4:5,:),'facecolor',[1,1,0])
surf(X(5:6,:),Y(5:6,:),Z(5:6,:),'facecolor',[1,0,0])
hold off

Kategorien

Mehr zu Lighting, Transparency, and Shading finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by