Clear Filters
Clear Filters

Merge triangular faces of different meshes

34 views (last 30 days)
Alberto Acri
Alberto Acri on 24 Jun 2024 at 11:48
Answered: Aman on 26 Jun 2024 at 9:38
How can I create a matrix that unifies the triangular faces of one 3D figure with the triangular faces of another 3D figure?

Accepted Answer

Aman
Aman on 26 Jun 2024 at 9:38
Hi Alberto,
From the data you shared, I understand that you have nodes and faces data for two separate geometries and wanted to have common faces and nodes data for the combined geometry.
In order to achieve your desired result, you can do something like I did in the code below, i.e., first combine the nodes, followed by calculating the adjusted face values for one of the geometry, and then, at last, find the combined face values for the whole geometry.
data = load('combination.mat');
%%
tri1 = triangulation(data.faces_sol_1,data.nodes_sol_1);
tri2 = triangulation(data.faces_sol_2,data.nodes_sol_2);
figure;
trisurf(tri1,'FaceColor','green');
hold on;
trisurf(tri2,'FaceColor','red');
hold off;
%%
nodes_combined = [data.nodes_sol_1; data.nodes_sol_2];
num_nodes1 = size(data.nodes_sol_1, 1);
faces2_adjusted = data.faces_sol_2 + num_nodes1;
faces_combined = [data.faces_sol_1; faces2_adjusted];
tri_combined = triangulation(faces_combined, nodes_combined);
figure;
trisurf(tri_combined,'FaceColor','blue');
I hope it helps!

More Answers (0)

Categories

Find more on Computational Geometry in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!