3D axis rotation with meshgrid

Hello, I would like to rotate B around the z axis and plot the contour plot. I tried the following but I don't think it is working since the contour plot after the rotation should not be symmetric.
Hope anyone can help,
thet=[0:0.01*pi:pi];
plane=[-15:0.02:15,15:0.02:15];
z = 10;
[theta,plane,z]=meshgrid(thet,plane,z);
[x,y,z]=pol2cart(theta,plane,z);
r = sqrt(x.^2+y.^2+z.^2)*1e-9;
B = const*((300e-18)./r.^5-1./r.^3)*1e6;
phi = 53;
%rotation around Z axis
X = x.*cos(phi) - y.*sin(phi);
Y = x.*sin(phi) + y.*cos(phi);
contourf(x,y,B,25,'LineStyle','none')

Réponses (1)

Naman Chaturvedi
Naman Chaturvedi le 20 Sep 2018
Modifié(e) : Naman Chaturvedi le 20 Sep 2018

0 votes

You aren't plotting the updated values X and Y. Last line should be:-
>> contourf(X,Y,B,25,'LineStyle','none')

1 commentaire

Laura Mugica
Laura Mugica le 20 Sep 2018
I get exactly the same plot when I use contourf(X,Y,B,25) that's why I think it's not working.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Contour Plots dans Centre d'aide et File Exchange

Produits

Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by