Merge triangular faces of different meshes
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Alberto Acri
el 24 de Jun. de 2024
Respondida: Aman
el 26 de Jun. de 2024
How can I create a matrix that unifies the triangular faces of one 3D figure with the triangular faces of another 3D figure?
0 comentarios
Respuesta aceptada
Aman
el 26 de Jun. de 2024
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!
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Surface and Mesh Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!