How to restrict the angle a cylinder is defined over
Ältere Kommentare anzeigen
If you have a cylinder generated by the following code how would you define is so that the cylinder is restricted to certain angles such as between 0 and pi, thanks
[x,y,z]=cylinder([0,7,7,0],100);
z([1,2],:)=0;
z([3,4],:)=0.1;
surf(x,y,z);
axis equal
Antworten (2)
One way,
[x,y,z]=cylinder([0,7,7,0],100);
z([1,2],:)=0;
z([3,4],:)=0.1;[theta,rho] = cart2pol(x,y);
keep=(theta<=pi & theta>=0) | rho==0;
z(~keep)=nan;
surf(x,y,z);
axis equal2 Kommentare
Jonathan Bird
am 17 Apr. 2018
Matt J
am 17 Apr. 2018
I updated my code. Try it again. This is what I get:

Star Strider
am 17 Apr. 2018
Another option:
[x,y,z]=cylinder([0,7,7,0],100); cidx = 1:ceil(size(x,2)*(pi/(2*pi))); % Scale Column Index By Fractions Of ‘2*pi’ z([1,2],:)=0; z([3,4],:)=0.1;
surf(x(:,cidx) ,y(:,cidx) ,z(:,cidx)); axis equal shading interp
Kategorien
Mehr zu Vector Fields finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!