Plotting a sphere consisting of planes
Afficher commentaires plus anciens
Hi folks,
i want to plot a sphere consisting of triangular planes. The cartesian coordinates of the planes are given by their respective corner points A, B and C which have their own 3D-coordinates A(Ax, Ay, Az), B(Bx, By, Bz) and C(Cx, Cy, Cz). The usual plot-Function does not produce reasonable results.
Does anyone has a suggestion?
Réponses (1)
darova
le 6 Avr 2020
Use patch for this problem
% create data of format
% Ax Ay Az
% Ax Ay Az
% ...
% Bx By Bz
% Bx By Bz
% ...
% Cx Cy Cz
% Cx Cy Cz
% ...
fv.vertices = reshape(A(:,5:13),[],3);
% create connection list of format
% 1 n+1 2n+1
% 2 n+2 2n+2
% 3 n+3 2n+3
% ...
n = size(A,1);
fv.faces = [1:n; (1:n)+n; (1:n)+2*n]';
fv.facecolor = 'yellow';
patch(fv)
4 commentaires
Paul
le 7 Avr 2020
darova
le 7 Avr 2020
Everything is the same. Why shouldn't it be different? The script i wrote i just plot triangles, it doesn't know what shape is. Are you asking of how to read data?
Paul
le 20 Avr 2020
darova
le 20 Avr 2020
I made a wrong script, sorry. Try this:
A1 = importdata('surfaces_cylinder.txt');
A = A1.data;
ii = [5 8 11];
patch(A(:,ii)',A(:,ii+1)',A(:,ii+2)','y')
axis vis3d
Catégories
En savoir plus sur Surface and Mesh Plots dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!