# Plot a surface with cross-section matrix

1 view (last 30 days)

Show older comments

Good day,

I am looking on how to create a 3D surface directly on matlab (to be converted to igs and exported to Fluent). Currently I have a portion of a missile-like shape and I have the crossections stored in a matrix. The matrix size for the angular values is 576x640, meaning there are 576 cross-sections and 640 points per cross-section. The radial values are stored in a matrix of equal size. The distance vector, or the one that dictates how far is one crossection from the other is of size 1x576. (one value per cross-section). I cannot share the code due to its lenght but hopefully my issue could be explained properly.

I currently need to make a surface out of these matrices, preferably a surface that can later be generated on Ansys or can be exported to Solidworks. Help is much appreciated.

##### 3 Comments

AR_Sh
on 25 Oct 2023

### Accepted Answer

Bruno Luong
on 2 Sep 2020

Edited: Bruno Luong
on 3 Sep 2020

theta = your_angle

r = your_radial

z = your_z

% wrap around to close the azimuthal patch

theta = theta(:,[1:end 1]);

r = r(:,[1:end 1]);

x = r.*cos(theta);

y = r.*sin(theta);

z = repmat(z(:),1,size(x,2));

surf(x,y,z)

##### 1 Comment

Asad (Mehrzad) Khoddam
on 2 Sep 2020

Edited: Asad (Mehrzad) Khoddam
on 2 Sep 2020

The coordinates are not polar.

### More Answers (0)

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!