Plot a 3D Radiation pattern based on an image
Hello everyone.
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.
Cite As
katzumaki (2024). 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 Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |