Bonjour tout le monde;
Merci bien de m'aider à concevoir un cube avec des nœuds numérotés ou bien indexés par leur coordonnées et non pas par une simple appellation alphabétique. Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
clc
clear all
x = -8:8:8; y = -8:8:8; z = -8:8:8;
[X1 Y1 Z1] = meshgrid(x([1 end]),y,z);
X1 = permute(X1,[2 1 3]); Y1 = permute(Y1,[2 1 3]); Z1 = permute(Z1,[2 1 3]);
X1(end+1,:,:) = NaN; Y1(end+1,:,:) = NaN; Z1(end+1,:,:) = NaN;
[X2 Y2 Z2] = meshgrid(x,y([1 end]),z);
X2(end+1,:,:) = NaN; Y2(end+1,:,:) = NaN; Z2(end+1,:,:) = NaN;
[X3 Y3 Z3] = meshgrid(x,y,z([1 end]));
X3 = permute(X3,[3 1 2]); Y3 = permute(Y3,[3 1 2]); Z3 = permute(Z3,[3 1 2]);
X3(end+1,:,:) = NaN; Y3(end+1,:,:) = NaN; Z3(end+1,:,:) = NaN;
XYZ = [ 0 0 0   % A
          -8 0 0    % B
          0 -8 0   % C
          0 0 -8   % D
          8 0 0   % E
          0 8 0   % F  
          0 0 8   % G
          -8 -8 0   % H
]; 
 
% faces = ['IJKL'
%          'LQUP'
%          'RSTU'
%          'MJNS'
%          'QKMT'
%          'PINR'
%          'LKQ#'
%          'PIL#'
%          'INJ#'
%          'KJM#'
%          'MST#'
%          'NRS#'
%          'PUR#'
%          'QTU#'
%          ];
%  faces = faces-'A'+1;
% faces(faces == -29) = nan;
 
%#figure('Renderer','opengl')
h = line([X1(:);X2(:);X3(:)], [Y1(:);Y2(:);Y3(:)], [Z1(:);Z2(:);Z3(:)]);
%xlabel('x'); ylabel('y'); zlabel('z');
set(h, 'Color',[0.5 0.5 1], 'LineWidth',1, 'LineStyle','-')
%  hold on
%  patch('vertices',XYZ,'faces',faces,'facecolor','g')
text(XYZ(:,1),XYZ(:,2),XYZ(:,3),char((0:size(XYZ,1)-1).'+65))
view(3)   
axis off