Plotting a sphere consisting of planes

2 次查看(过去 30 天)
Paul
Paul 2020-4-6
评论: darova 2020-4-20
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?
  2 个评论
darova
darova 2020-4-6
Can you show some of your attempts? Do you have a picture of the result? Can you make a simple drawing or something?
Paul
Paul 2020-4-6
The plotted result should be similar to the picture from the description of the icosphere-function in the MathWorks File Exchange (see attachement).
My attempt:
A = surfacessphere; %coordinates of the triangular faces are stored in the surfaces_sphere.txt
Ax = A(:,5); %
Ay = A(:,6); %Defining columns of Matrix A as columnvectors
Az = A(:,7); %
Bx = A(:,8); %
By = A(:,9); %Defining columns of Matrix A as columnvectors
Bz = A(:,10); %
Cx = A(:,11); %
Cy = A(:,12); %Defining columns of MAtrix A as columnvectors
Cz = A(:,13); %
plot3(Ax,Bx,Cx); %
plot3(Ay,By,Cy); %Plotting
plot3(Az,Bz,Cz); %

请先登录,再进行评论。

回答(1 个)

darova
darova 2020-4-6
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 个评论
Paul
Paul 2020-4-20
Unfortunately the result of the submitted script looks like the attacheted picture and not like the cylinder in the xz-plane (attachement). Reading data is not the problem:) (i think)
darova
darova 2020-4-20
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by