Escolar Documentos
Profissional Documentos
Cultura Documentos
Fundamentos de Informtica
Unidad Temtica 6
Grficos 3D
ANEXO
Grficos en 3D con PLOT3D
Scilab puede generar grficos en 3D utilizando la funcin plot3d (x,y,z, argumentos). Estos
grficos son realmente una superficie representada por los valores de (x,y,z) para realizar un grfico
con esta funcin hay que tener en cuenta loi siguiente:
x y y son vectores de xm y yn dimensin, z una matriz de dimensiones (xm, yn)
Z(i,j) son los valores de la superficie en el punto (x(i),y(j)).
Ejemplo en SCILAB:
-->//graficar el seno de una funcion en 3D.
-->x=0:0.1:2*%pi;
-->y=sin(x);
-->z=y'*ones(1,63);
-->plot3d(x,x/2,z);
El resultado se muestra en la figura 1
Figura 1 : seno de una funcin en 3D
Pgina 1 de 7
Fundamentos de Informtica
Unidad Temtica 6
Grficos 3D
El Argumento leg=
Leg= leyenda del grfico, al igual que con plot2d(), podemos escribir una cadena de caracteres para
cada eje, separados por el signo @
-->y=-5:0.1:5;
-->b=-3:0.1:3;
-->z=y'*(-b**2+2);
-->plot3d1(y,b,z,leg="eje x@eje y@eje z");
Otros ejemplos que podemos probar en grficos 3D, utilizando la funcin plot3d dibuja una superficie
en 3 dimensiones, ejemplo.
-->t=[0:0.3:2*%pi];
-->z=sin(t)*cos(t);
-->plot3d(t,t,z,);
Pgina 2 de 7
Fundamentos de Informtica
Unidad Temtica 6
Grficos 3D
Pgina 3 de 7
Fundamentos de Informtica
Unidad Temtica 6
Grficos 3D
Estos son unos ejemplos de las posibilidades que Scilab ofrece para el uso de grficos 3D.
Funcin PARAM3D
La funcin param3d es anloga a su homloga bidimensional plot2d. Su forma ms sencilla es la
siguiente
-->param3d(x,y,z);
que dibuja una lnea que une los puntos (x(1), y(1), z(1)), (x(2), y(2), z(2)), etc. y la proyecta sobre un
plano para poderla representar en la pantalla. Al igual que en el caso plano, se puede incluir una
cadena de 1, 2 3 caracteres para determinar el color, los markers, y el tipo de lnea, tambin se
pueden utilizar tres matrices X, Y y Z del mismo tamao:
-->param3d(X,Y,Z)
en cuyo caso se dibujan tantas lneas como columnas tienen estas 3 matrices, cada una de las cuales
est definida por las 3 columnas homlogas de dichas matrices.
A continuacin se va a realizar un ejemplo sencillo consistente en dibujar un cubo. Para ello se crear
una matriz que contenga las aristas correspondientes, definidas mediante los vrtices del cubo como
una lnea poligonal continua (obsrvese que algunas aristas se dibujan dos veces). La matriz A cuyas
Pgina 4 de 7
Fundamentos de Informtica
Unidad Temtica 6
Grficos 3D
columnas son las coordenadas de los vrtices, y cuyas filas son las coordenadas x, y y z de los
mismos:
-->A=[0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0
--> 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1
--> 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0];
-->param3d(A(1,:)',A(2,:)',A(3,:)')
Pgina 5 de 7
Fundamentos de Informtica
Unidad Temtica 6
Grficos 3D
Se habr podido comprobar que la funcin plot3d2 dibuja en perspectiva una funcin en base a una
retcula de lneas de colores, rodeando cuadrilteros del color de fondo, con eliminacin de lneas
ocultas. Ejectese ahora el comando:
-->plot3d2(X,Y,Z)
En vez de lneas aparece ahora una superficie faceteada (aunque no es fcilmente visible, pero de
manera terica es as). El color de las facetas depende tambin del valor de la funcin.
Pgina 6 de 7
Fundamentos de Informtica
Unidad Temtica 6
Grficos 3D
De esta manera terminamos el captulo de grficos en SCILAB, aunque tratamos de cubrir el tema de
forma amplia, queremos recomendar el uso de los comandos de ayuda help plot y apropos
graphics, para observar las caractersticas de los comandos de grficos que no se han nombrados
en este anexo.
Pgina 7 de 7