Failed to load a mesh from gptoolbox. I am missing something, what is it?
2 views (last 30 days)
Show older comments
% 1. Load a Mesh
[V, F] = readOFF('D:\Conferences and Workshops\SG Summer\MFC - S\codes\gptoolbox-master\gptoolbox-master\mesh.off');
% 2. Display the Mesh
figure;
trisurf(F, V(:,1), V(:,2), V(:,3), 'FaceColor', 'cyan', 'EdgeColor', 'none');
axis equal;
lighting gouraud;
camlight;
title('Original Mesh');
xlabel('X');
ylabel('Y');
zlabel('Z');
% Define the number of iterations and timestep for smoothing
num_iterations = 100;
time_step = 0.01;
% 3. Mean Curvature Flow (MCF) - Explicit Method
V_explicit = V; % Copy the vertices for the explicit method
for iter = 1:num_iterations
% Compute the Laplace-Beltrami operator and mean curvature normal
L = cotmatrix(V_explicit, F);
HN = -L * V_explicit;
% Update vertex positions
V_explicit = V_explicit + time_step * HN;
end
% Display the smoothed mesh - Explicit Method
figure;
trisurf(F, V_explicit(:,1), V_explicit(:,2), V_explicit(:,3), 'FaceColor', 'cyan', 'EdgeColor', 'none');
axis equal;
lighting gouraud;
camlight;
title('MCF - Explicit Method');
xlabel('X');
ylabel('Y');
zlabel('Z');
% 3. Mean Curvature Flow (MCF) - Semi-Implicit Method
V_implicit = V; % Copy the vertices for the implicit method
for iter = 1:num_iterations
% Compute the Laplace-Beltrami operator
L = cotmatrix(V_implicit, F);
% Solve (I - time_step * L) * V_new = V_old
V_implicit = (speye(size(V_implicit, 1)) - time_step * L) \ V_implicit;
end
% Display the smoothed mesh - Semi-Implicit Method
figure;
trisurf(F, V_implicit(:,1), V_implicit(:,2), V_implicit(:,3), 'FaceColor', 'cyan', 'EdgeColor', 'none');
axis equal;
lighting gouraud;
camlight;
title('MCF - Semi-Implicit Method');
xlabel('X');
ylabel('Y');
zlabel('Z');
here is the link to loadmesh function: https://github.com/geometry-processing/gptoolbox/blob/master/mesh/load_mesh.m
I get this error:
shittyday (%sorry this is the name of the script)
Error using fscanf
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in readOFF (line 27)
OFFheader = upper(fscanf( fp, '%s\n', 1 ));
Error in shittyday (line 2)
[V, F] = readOFF('D:\Conferences and Workshops\SG Summer\MFC - S\codes\gptoolbox-master\gptoolbox-master\mesh.off');
12 Comments
Accepted Answer
Vinay
on 13 Aug 2024
Hii eshan,
The issue is due to the filename is incorrect or not present.You can use the correct file while loading the data in the "load_mesh" function.
You can use different "off" files from the given link
I hope this helps!
More Answers (0)
See Also
Categories
Find more on Audio and Video Data 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!