quarta-feira, 24 de abril de 2024

Como criar um gráfico 3D no Scilab.

 

 

As figuras que iniciam esta postagem foram geradas no Scilab, para isso foram usados os seguintes comandos: meshgrid, plot3d, title. Além desses comando, usamos também as funções isoview, gcf e gce. Vamos explicar esses comandos:

  • meshgrid: constrói matrizes ou matrizes 3D replicando vetores de entrada ao longo de 2 ou 3 dimensões;
  • plot3d: esboço 3d de uma superfície;
  • title: cria o título para um gráfico;
  • isoview: é usado para definir ou relaxar escalas de renderização isométrica nos eixos x, y (e z), sem alterar o tamanho da janela gráfica;
  • gcf: retorna o manipulador da janela GUI ou de gráficos corrente;
  • gce: retorna o manipulador da entidade corrente.

Um exemplo básico do uso desses comandos:

// Gerando dados:
x = -1:0.1:1.7;
y = -1:0.1:1;
[X, Y] = meshgrid(x, y);
Z = sinc(2*%pi * X.*Y);

// Ajustando os elementos do gráfico:
clf
gcf().color_map = parulacolormap(64);
gcf().axes_size = [650 530];

// Desenhando:
Sgrayplot(x, y, Z')
title(["Sgrayplot(x, y, Z'' ) " "\$←\;Z^t\; required\$"], "fontsize",3)
isoview, colorbar
Para gerar os três gráficos acima:
close(winsid()); clc;
 
x = -2:0.05:2;
y = -2:0.05:2;
[X, Y] = meshgrid(x, y);
Z = (X.*X + Y.*Y).^(1/3);
plot3d(x, y, Z', -60,60)
gce().color_flag = 1;
title(["$f(X,Y) = (X^2 + Y^2)^{1/3}$"], "fontsize",4);
isoview;
gcf().color_map = parulacolormap(64);
// Definir a cor de fundo da figura:
gcf().background = -2;

figure;
x = -2:0.05:2;
y = -2:0.05:2;
[X, Y] = meshgrid(x, y);
Z = 3*exp(-(X.*Y.*X.*Y)).*(sin(%pi*(Y+X)/2)).*(cos(%pi*(Y+X))/2);
plot3d(x, y, Z', -60,60)
gce().color_flag = 1;
title(["$f(X,Y) = 3\exp(-X^2Y^2)(\sin(\pi(Y+X)/2))^2$"], "fontsize",4);
isoview;
gcf().color_map = parulacolormap(64);
// Definir a cor de fundo da figura:
gcf().background = -2;
//drawnow;

//meshgrid, plot3d, title
figure;
x = -2:0.05:2;
y = -2:0.05:2;
[X, Y] = meshgrid(x, y);
Z = cos(%pi*((X.*X + Y.*Y).^(1/3)));
plot3d(x, y, Z', -60,60)
gce().color_flag = 1;
title(["$f(X,Y) = \cos(\pi((X^2 + Y^2)^{1/3}))$"], "fontsize",4);
isoview;
gcf().color_map = parulacolormap(64);
// Definir a cor de fundo da figura:
gcf().background = -2; 

Nenhum comentário:

Postar um comentário