Plot a surface with cross-section matrix
5 views (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
Did you end up finding an appropriate answer? I'm having the same issue but with x-y data and not radial
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
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!