surface area of a 3D surface
Mostra commenti meno recenti
I have data for 3D points and I have made a surface using these points. Is there a way to get surface area of this 3D surface.

Thanks
Risposta accettata
Più risposte (1)
Jerry Campbell
il 28 Ott 2020
Modificato: DGM
il 2 Lug 2025
Hi M. S.
I created a simple Cube with sides of 100mm in AutoCad then exported the STL file
I then used the following code to calculate the volume and surface area of the cube.
unzip('Unit Cube 100mm v1.stl.zip') % EDIT
% Create PDE Model
UnitCubeModel = createpde();
% Import STL file into Geometry of Model
UnitCubeModelGeometry = importGeometry(UnitCubeModel,'Unit Cube 100mm v1.stl');
% Generate Mesh for Model
UnitCubeMesh = generateMesh(UnitCubeModel);
% V for vertices and F for the facets
% allDisplayFaces is backward compatible method of the Geometry Object
[F, V] = UnitCubeModelGeometry.allDisplayFaces();
% Perform cross product across all the Facets and Vertices in the Model
a = V(F(:, 2), :) - V(F(:, 1), :);
b = V(F(:, 3), :) - V(F(:, 1), :);
c = cross(a, b, 2);
% Calculate Surface Area and Volume of Model
modelSurfaceArea = 1/2 * sum(sqrt(sum(c.^2, 2)));
modelVolume = volume(UnitCubeMesh);
% Plot the PDE Model
pdegplot(UnitCubeModel,'FaceLabels','on','FaceAlpha',0.5);
% Display the Volume and Surface Area
disp("Volume of Model = " + modelVolume);
disp("The surface area of the Model = " + modelSurfaceArea);
1 Commento
DGM
il 2 Lug 2025
EDITOR'S NOTE:
I attached the STL model as an archive so that the code could be demo'd on the forum.
Categorie
Scopri di più su Geometry and Mesh in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
