MATLAB Answers


how to convert a 3-d binary array of spherical cordinates into floating type array of cartesian cordinates

Asked by VANDANA GUPTA on 16 Oct 2019
Latest activity Commented on by Rik
on 25 Oct 2019
I have matlab data ("vand_sph61-11.mat") which i linked here. this data has spherical cordinates in binary form and has 3-d array. this data has 1801x59x109 size. 1801 is range by getting from dividing 5 meter to 50 meter into 2.5 cm. 59 is transmitter beams by getting from dividing -29 degree to 29 degree into 1 degree. 109 is receiver beams by getting from dividing -54 degree to 54 degree into 1 degree. I want to convert this data into cartesian cordinates which has floating type.
In this data, i created a 3-d object in which when point exist then have binary value '1' otherwise have binary value '0'.
please help me


So you want to find the indices in your 3D array and convert those indices to the values of the three vectors you describe?

Sign in to comment.

1 Answer

Answer by Rik
on 16 Oct 2019
 Accepted Answer

If you get my findND function from the FEX you can do this:
%find 3D indices in M
%create lookup tables
%convert indices to physical dimensions


That way you don't even need findND. What you need to do is a way to find out how to convert the coordinate system of M (which is stored in the three columns of fv.vertices) to the coordinates you want your output to use.
Note that isosurface can take a long time and may generate a complex shape with too many polygons.
'it is not working' does not provide any useful information. As I said in my comment these two lines of code are not enough to get your desired output. So what code did you try?

Sign in to comment.