Implicit surface plot of a finite cylinder
Afficher commentaires plus anciens
Using fimplicit3, I can plot an infinite cylinder, like so:
args={'EdgeColor','none','FaceColor','c','FaceAlpha',0.3};
fimplicit3(@(x,y,z) x.^2+y.^2-1, args{:} ); axis([-3,+3,-3,+3,-3,+3])
However, what I would really like is for the cylinder to be of finite length, say 4. My first idea for how to do this was the following. This does produce a finite cylinder of the correct length, but it is closed at both ends, which I do not want.
fimplicit3(@(x,y,z) x.^2+y.^2-1 + (abs(z)>2), args{:} ); axis([-3,+3,-3,+3,-3,+3])
I believe I know why this is happening. There is a discontinuous jump from negative values to 1 at the end caps, and so the fimplicit3 algorithm assumes there are roots there. However, I wonder if there is a way to trick fimplicit3 somehow so that I get a cylinder with open ends. Any ideas?
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Line Plots dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


