Spherical coordinates to cartesian
11 ビュー (過去 30 日間)
古いコメントを表示
I am plotting the antenna pattern in a 3D plot where two axis are representing the theta and phi coordinates. Now I would like to change the plot in order to be able to have real 3D plot in the xyz coordiantes system,
I tried to use the sph2cart function, but I am getting weird results.
Can someone help me please?
surf(phi0rad*180/pi,theta0rad*180/pi,(abs(rho.')))
colorbar
xlabel('\phi')
ylabel('\theta')
shading interp
%%
[az, el]=meshgrid(phi0rad*180/pi, theta0rad*180/pi);
[x,y,z]=sph2cart(az,el,rho_2.');
surf(x,y,z)
I attach also a picture of what I am trying to obtain.
Thanks.
0 件のコメント
回答 (1 件)
Steven Lord
2020 年 3 月 28 日
From the documentation "azimuth is the counterclockwise angle in the x-y plane measured in radians from the positive x-axis." and "elevation is the elevation angle in radians from the x-y plane."
Are your angles in radians or degrees?
2 件のコメント
Steven Lord
2020 年 3 月 28 日
From the fact that the names of the variables you're multiplying by 180/pi in your meshgrid calls imply that those variables are in radians (meaning you're gridding degree data) I don't think you calling sph2cart with angles in radians. You're trying to convert the gridded degree data.
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!