Plot a 3D Radiation pattern based on an image

Version (1.63 KB) by katzumaki
Plot a 3D radiation pattern based on an image
Updated 17 Jun 2013

View License

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 (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Cartesian Coordinate System Conversion in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes