Plotting a sphere consisting of planes
Show older comments
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?
Answers (1)
darova
on 6 Apr 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 Comments
Paul
on 7 Apr 2020
darova
on 7 Apr 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
on 20 Apr 2020
darova
on 20 Apr 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
Categories
Find more on Surface and Mesh Plots 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!