I'm a french student and i started to use Matlab few weeks ago (so i'm still a beginner) and i encountered a serious problem when i want plot my data.
I tried firstly to describe you what i want to do :
- I have an image of 1024x1280 that i transform into a matrix. My image is in level of gray and the value of a pixel correspond to the eneryg emitted.
- I rotate my image around the center from a angle phi (azimutal angle).
- Then i determinate the power emitted for each couple (teta,phi).
- I translate our results to spherical coordinates in cartesian coordinates with the equations :
x = r.*sin(teta).*cos(phi)
y = r.*sin(teta).*sin(phi)
z = r.*cos(teta)
with r=radial distance ; teta=polar angle ; phi=azimutal angle
I expect i was enough clear with my explications because my problem is here : when i plot the data (cf screenshot) i obtain something with lines from the center. I use the command "surf" to draw this but it's not want i want.
I would like to get a surface using only the extremum of each line so just see the edge of the figure and not the inside.
I will be really thankful if anyone has an idea to help me, even if what i ask is maybe not possible.
katzumaki (2021). Plot a 3D Radiation pattern based on an image (https://www.mathworks.com/matlabcentral/fileexchange/42269-plot-a-3d-radiation-pattern-based-on-an-image), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!