| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| 47.1 Introducción a draw | ||
| 47.2 Definiciones para draw |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
draw es un interfaz para comunicar Maxima con Gnuplot.
Hay tres funciones a utilizar a nivel de Maxima:
draw2d, draw3d y draw.
Sígase este enlace para ver ejemplos más elaborados de este paquete:
http://www.telefonica.net/web2/biomates/maxima/gpdraw
Se necesita tener instalado Gnuplot 4.2 para ejecutar este paquete.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Valor por defecto: false
Cuando xrange vale false, el rango de la coordenada x
se calcula de forma automática.
Si el usuario quiere especificar un intervalo para x, éste debe
expresarse como una lista de Maxima, como en xrange=[-2, 3].
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xrange = [-3,5],
explicit(x^2,x,-1,1))$
|
Véanse también yrange y zrange.
Valor por defecto: false
Cuando yrange vale false, el rango de la coordenada y
se calcula de forma automática.
Si el usuario quiere especificar un intervalo para y, éste debe
expresarse como una lista de Maxima, como en yrange=[-2, 3].
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(yrange = [-2,3],
explicit(x^2,x,-1,1),
xrange = [-3,3])$
|
Véanse también xrange y zrange.
Valor por defecto: false
Cuando zrange vale false, el rango de la coordenada z
se calcula de forma automática.
Si el usuario quiere especificar un intervalo para z, éste debe
expresarse como una lista de Maxima, como en zrange=[-2, 3].
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(yrange = [-3,3],
zrange = [-2,5],
explicit(x^2+y^2,x,-1,1,y,-1,1),
xrange = [-3,3])$
|
Véanse también yrange y zrange.
Valor por defecto: false
Cuando logx vale true, el eje x se dibujará
en la escala logarítmica.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(explicit(log(x),x,0.01,5),
logx = true)$
|
Véanse también logy y logz.
Valor por defecto: false
Cuando logy vale true, el eje y se dibujará
en la escala logarítmica.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(logy = true,
explicit(exp(x),x,0,5))$
|
Véanse también logx y logz.
Valor por defecto: false
Cuando logz vale true, el eje z se dibujará
en la escala logarítmica.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(logz = true,
explicit(exp(u^2+v^2),u,-2,2,v,-2,2))$
|
Véanse también logx y logy.
Valor por defecto: screen
Selecciona el terminal a utilizar por Gnuplot; valores posibles son:
screen (por defecto), png, jpg, eps y eps_color.
Puesto que ésta es una opción global, su posición dentro de la
descripción de la escena no reviste importancia. También puede
usarse como argumento de la función draw.
Examples:
(%i1) load(draw)$
(%i2) /* screen terminal (default) */
draw2d(explicit(x^2,x,-1,1))$
(%i3) /* png file */
draw2d(terminal = 'png,
pic_width = 300,
explicit(x^2,x,-1,1))$
(%i4) /* jpg file */
draw2d(terminal = 'jpg,
pic_width = 300,
pic_height = 300,
explicit(x^2,x,-1,1))$
(%i5) /* eps file */
draw2d(file_name = "myfile",
explicit(x^2,x,-1,1),
terminal = 'eps)$
|
Véanse también file_name, pic_width y pic_height.
Valor por defecto: false
Cuando grid vale true, se dibujará una rejilla sobre el
plano xy.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(grid = true,
explicit(exp(u),u,-2,2))$
|
Valor por defecto: "" (cadena vacía)
La opción title almacena una cadena de Maxima con el
título de la escena. Por defecto, no se escribe
título alguno.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(explicit(exp(u),u,-2,2),
title = "Exponential function")$
|
Valor por defecto: "" (cadena vacía)
La opción xlabel almacena una cadena de Maxima con la
etiqueta del eje x. Por defecto, el eje no tiene etiqueta.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xlabel = "Time",
explicit(exp(u),u,-2,2),
ylabel = "Population")$
|
Véanse también ylabel y zlabel.
Valor por defecto: "" (cadena vacía)
La opción ylabel almacena una cadena de Maxima con la
etiqueta del eje y. Por defecto, el eje no tiene etiqueta.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xlabel = "Time",
ylabel = "Population",
explicit(exp(u),u,-2,2) )$
|
Véanse también xlabel y zlabel.
Valor por defecto: "" (cadena vacía)
La opción zlabel almacena una cadena de Maxima con la
etiqueta del eje z. Por defecto, el eje no tiene etiqueta.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(zlabel = "Z variable",
ylabel = "Y variable",
explicit(sin(x^2+y^2),x,-2,2,y,-2,2),
xlabel = "X variable" )$
|
Véanse también xlabel y ylabel.
Valor por defecto: true
Cuando xtics vale true, se dibujarán las marcas
del eje x.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) /* No tics in the x-axis */
draw2d(xtics = false,
explicit(exp(u),u,-2,2))$
|
Véanse también ytics y ztics.
Valor por defecto: true
Cuando ytics vale true, se dibujarán las marcas
del eje y.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(ytics = false,
explicit(exp(u),u,-2,2),
xtics = false)$
|
Véanse también xtics y ztics.
Valor por defecto: true
Cuando ztics vale true, se dibujarán las marcas
del eje z.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) /* No tics in the z-axis */
draw3d(ztics = false,
explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$
|
Véanse también xtics y ytics.
Valor por defecto: 60
rot_vertical es el ángulo (en grados) de la rotación vertical
(alrededor del eje x) para situar el punto del observador en las
escenas 3d.
El ángulo debe pertenecer al intervalo [0, 180].
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(rot_vertical = 170,
explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$
|
Véase también rot_horizontal.
Valor por defecto: 30
rot_horizontal es el ángulo (en grados) de la rotación horizontal
(alrededor del eje z) para situar el punto del observador en las
escenas 3d.
El ángulo debe pertenecer al intervalo [0, 360].
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(rot_vertical = 170,
rot_horizontal = 360,
explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$
|
Véase también rot_vertical.
Valor por defecto: "" (cadena vacía)
xy_file es el nombre del fichero donde se almacenarán las
coordenadas después de hacer clic con el botón del ratón en un
punto de la imagen y pulsado la tecla 'x'. Por defecto, las
coordenadas no se almacenan.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Valor por defecto: "" (cadena vacía)
Usuarios expertos en Gnuplot pueden hacer uso de esta opción para
afinar el comportamiento de Gnuplot escribiendo código que será
enviado justo antes de la instrucción plot o splot.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
El terminal dumb no está soportado por el paquete draw,
pero es posible activarlo haciendo uso de la opción user_preamble,
(%i1) load(draw)$
(%i2) draw2d(explicit(exp(x)-1,x,-1,1),
parametric(cos(u),sin(u),u,0,2*%pi),
user_preamble="set terminal dumb")$
|
Valor por defecto: "maxima_out"
file_name es el nombre del fichero en el que los terminales png,
jpg, eps y eps_color guardarán el gráfico.
Puesto que ésta es una opción global, su posición dentro de la
descripción de la escena no reviste importancia. También puede
usarse como argumento de la función draw.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(file_name = "myfile",
explicit(x^2,x,-1,1),
terminal = 'png)$
|
Véanse también terminal, pic_width y pic_height.
Valor por defecto: 640
pic_width es la anchura del fichero de imagen de bits generado por
los terminales png y jpg.
Puesto que ésta es una opción global, su posición dentro de la
descripción de la escena no reviste importancia. También puede
usarse como argumento de la función draw.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(terminal = 'png,
pic_width = 300,
pic_height = 300,
explicit(x^2,x,-1,1))$
|
Véanse también terminal, file_name y pic_height.
Valor por defecto: 640
pic_height es la altura del fichero de imagen de bits generado por
los terminales png y jpg.
Puesto que ésta es una opción global, su posición dentro de la
descripción de la escena no reviste importancia. También puede
usarse como argumento de la función draw.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(terminal = 'png,
pic_width = 300,
pic_height = 300,
explicit(x^2,x,-1,1))$
|
Véanse también terminal, file_name y pic_width.
Valor por defecto: 12
eps_width es el ancho (medido en cm) del archivo Postscipt
generado por los terminales eps y eps_color.
Puesto que ésta es una opción global, su posición dentro de la
descripción de la escena no reviste importancia. También puede
usarse como argumento de la función draw.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(terminal = 'eps,
eps_width = 3,
eps_height = 3,
explicit(x^2,x,-1,1))$
|
Véanse también terminal, file_name y eps_height.
Valor por defecto: 8
eps_height es la altura (medida en cm) del archivo Postscipt
generado por los terminales eps y eps_color.
Puesto que ésta es una opción global, su posición dentro de la
descripción de la escena no reviste importancia. También puede
usarse como argumento de la función draw.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(terminal = 'eps,
eps_width = 3,
eps_height = 3,
explicit(x^2,x,-1,1))$
|
Véanse también terminal, file_name y eps_width.
Valor por defecto: true
Cuando axis_bottom vale true, el eje inferior permanece visible en las escenas 2d.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(axis_bottom = false,
explicit(x^3,x,-1,1))$
|
Véanse también axis_left, axis_top, axis_right y axis_3d.
Valor por defecto: true
Cuando axis_left vale true, el eje izquierdo permanece visible en las escenas 2d.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(axis_left = false,
explicit(x^3,x,-1,1))$
|
Véanse también axis_bottom, axis_top, axis_right y axis_3d.
Valor por defecto: true
Cuando axis_top vale true, el eje superior permanece visible en las escenas 2d.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(axis_top = false,
explicit(x^3,x,-1,1))$
|
Véanse también axis_bottom, axis_left, axis_right y axis_3d.
Valor por defecto: true
Cuando axis_right vale true, el eje derecho permanece visible en las escenas 2d.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(axis_right = false,
explicit(x^3,x,-1,1))$
|
Véanse también axis_bottom, axis_left, axis_top y axis_3d.
Valor por defecto: true
Cuando axis_3d vale true, los ejes x, y y z
permanecen visibles en las escenas 3d.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(axis_3d = false,
explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$
|
Véanse también axis_bottom, axis_left, axis_top y axis_right for axis in 2d.
Valor por defecto: color
palette indica cómo transformar los valores reales de una
matriz pasada al objeto image en componentes cromáticas.
palette es un vector de longitud tres con sus componentes tomando
valores enteros en el rango desde -36 a +36; cada valor es un
índice para seleccionar una fórmula que transforma los niveles
numéricos en las componentes cromáticas rojo, verde y azul:
0: 0 1: 0.5 2: 1 3: x 4: x^2 5: x^3 6: x^4 7: sqrt(x) 8: sqrt(sqrt(x)) 9: sin(90x) 10: cos(90x) 11: |x-0.5| 12: (2x-1)^2 13: sin(180x) 14: |cos(180x)| 15: sin(360x) 16: cos(360x) 17: |sin(360x)| 18: |cos(360x)| 19: |sin(720x)| 20: |cos(720x)| 21: 3x 22: 3x-1 23: 3x-2 24: |3x-1| 25: |3x-2| 26: (3x-1)/2 27: (3x-2)/2 28: |(3x-1)/2| 29: |(3x-2)/2| 30: x/0.32-0.78125 31: 2*x-0.84 32: 4x;1;-2x+1.84;x/0.08-11.5 33: |2*x - 0.5| 34: 2*x 35: 2*x - 0.5 36: 2*x - 1 |
los números negativos se interpretan como colores invertidos de las componentes cromáticas.
palette = gray y palette = color son atajos para
palette = [3,3,3] y palette = [7,5,15], respectivamente.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplos:
(%i1) load(draw)$
(%i2) im: apply(
'matrix,
makelist(makelist(random(200),i,1,30),i,1,30))$
(%i3) /* palette = color, default */
draw2d(image(im,0,0,30,30))$
(%i4) draw2d(palette = gray, image(im,0,0,30,30))$
(%i5) draw2d(palette = [15,20,-4],
colorbox=false,
image(im,0,0,30,30))$
|
Véase también colorbox.
Valor por defecto: true
Cuando colorbox vale true, se dibuja una escala de color al
lado de los objetos image.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) im: apply('matrix,
makelist(makelist(random(200),i,1,30),i,1,30))$
(%i3) draw2d(image(im,0,0,30,30))$
(%i4) draw2d(colorbox=false, image(im,0,0,30,30))$
|
Véase también palette.
Valor por defecto: false
Si enhanced3d vale true, se coloreaerán las superficies
de los gráficos tridimensionales; en otras palabras, se activa el
modo pm3d de Gnuplot.
Véase la opción palette para informarse sobre cómo
se especifican las paletas de colores.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(surface_hide = true,
enhanced3d = true,
palette = gray,
explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$
|
Valor por defecto: 1
point_size establece el tamaño de los puntos dibujados. Debe
ser un número no negativo.
Esta opción afecta a los siguientes objetos gráficos:
gr2d: points.
gr3d: points.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(points(makelist([random(20),random(50)],k,1,10)),
point_size = 5,
points(makelist(k,k,1,20),makelist(random(30),k,1,20)))$
|
Valor por defecto: 1
point_type es un índice (mayor o igual que -1)
que permite especificar cómo serán dibujados los puntos aislados.
El color de los puntos se controla mediante esta opción.
Esta opción afecta a los siguientes objetos gráficos:
gr2d: points.
gr3d: points.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xrange = [0,10],
yrange = [0,10],
point_size = 3,
point_type = 1,
points([[1,1],[5,1],[9,1]]),
point_type = 2,
points([[1,2],[5,2],[9,2]]),
point_type = 3,
points([[1,3],[5,3],[9,3]]),
point_type = 4,
points([[1,4],[5,4],[9,4]]),
point_type = 5,
points([[1,5],[5,5],[9,5]]),
point_type = 6,
points([[1,6],[5,6],[9,6]]),
point_type = 7,
points([[1,7],[5,7],[9,7]]),
point_type = 8,
points([[1,8],[5,8],[9,8]]),
point_type = 9,
points([[1,9],[5,9],[9,9]]) )$
|
Valor por defecto: false
Cuando points_joined vale true, los puntos se unen con segmentos.
Esta opción afecta a los siguientes objetos gráficos:
gr2d: points.
gr3d: points.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xrange = [0,10],
yrange = [0,4],
point_size = 3,
point_type = 1,
line_type = 3,
points([[1,1],[5,1],[9,1]]),
points_joined = true,
point_type = 3,
line_type = 5,
points([[1,2],[5,2],[9,2]]),
point_type = 5,
line_type = 8,
line_width = 7,
points([[1,3],[5,3],[9,3]]) )$
|
Valor por defecto: false
filled_func indica si la función se debe rellenar (true)
o no (false).
Esta opción sólo afecta al objeto gráfico bidimensional explicit.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(fill_color = red,
filled_func = true,
explicit(sin(x),x,0,10) )$
|
Véase también fill_color.
Valor por defecto: false
Cuando transparent vale true, las regiones internas de
los polígonos se rellenan de acuerdo con fill_color.
Esta opción afecta a los siguientes objetos gráficos:
gr2d: polygon, rectangle y ellipse.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(polygon([[3,2],[7,2],[5,5]]),
transparent = true,
color = blue,
polygon([[5,2],[9,2],[7,5]]) )$
|
Valor por defecto: true
Cuando border vale true, los bordes de los
polígonos se dibujan de acuerdo con line_type y
line_width.
Esta opción afecta a los siguientes objetos gráficos:
gr2d: polygon, rectangle y ellipse.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(color = brown,
line_width = 8,
polygon([[3,2],[7,2],[5,5]]),
border = false,
fill_color = blue,
polygon([[5,2],[9,2],[7,5]]) )$
|
Valor por defecto: false
Cuando head_both vale true, los vectores se dibujan bidireccionales.
Si vale false, se dibujan unidireccionales.
Esta opción sólo es relevante para objetos de tipo vector.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xrange = [0,8],
yrange = [0,8],
head_length = 0.7,
vector([1,1],[6,0]),
head_both = true,
vector([1,7],[6,0]) )$
|
Véanse también head_length, head_angle y head_type.
Valor por defecto: 2
head_length indica, en las unidades del eje x, la
longitud de las flechas de los vectores.
Esta opción sólo es relevante para objetos de tipo vector.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xrange = [0,12],
yrange = [0,8],
vector([0,1],[5,5]),
head_length = 1,
vector([2,1],[5,5]),
head_length = 0.5,
vector([4,1],[5,5]),
head_length = 0.25,
vector([6,1],[5,5]))$
|
Véanse también head_both, head_angle y head_type.
Valor por defecto: 45
head_angle indica el ángulo, en grados, entre la flecha y el
segmento del vector.
Esta opción sólo es relevante para objetos de tipo vector.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xrange = [0,10],
yrange = [0,9],
head_length = 0.7,
head_angle = 10,
vector([1,1],[0,6]),
head_angle = 20,
vector([2,1],[0,6]),
head_angle = 30,
vector([3,1],[0,6]),
head_angle = 40,
vector([4,1],[0,6]),
head_angle = 60,
vector([5,1],[0,6]),
head_angle = 90,
vector([6,1],[0,6]),
head_angle = 120,
vector([7,1],[0,6]),
head_angle = 160,
vector([8,1],[0,6]),
head_angle = 180,
vector([9,1],[0,6]) )$
|
Véanse también head_both, head_length y head_type.
Valor por defecto: filled
head_type se utiliza para especificar cómo se habrán de
dibujar las flechas de los vectores. Los valores posibles para
esta opción son: filled (flechas cerradas y rellenas),
empty (flechas cerradas pero no rellenas) y nofilled
(flechas abiertas).
Esta opción sólo es relevante para objetos de tipo vector.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xrange = [0,12],
yrange = [0,10],
head_length = 1,
vector([0,1],[5,5]), /* default type */
head_type = 'empty,
vector([3,1],[5,5]),
head_type = 'nofilled,
vector([6,1],[5,5]))$
|
Véanse también head_both, head_angle y head_length.
Valor por defecto: center
label_alignment se utiliza para especificar dónde se escribirán
las etiquetas con respecto a las coordenadas de referencia. Los valores posibles para
esta opción son: center, left y right.
Esta opción sólo es relevante para objetos de tipo label.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xrange = [0,10],
yrange = [0,10],
points_joined = true,
points([[5,0],[5,10]]),
color = blue,
label("Centered alignment (default)",5,2),
label_alignment = 'left,
label("Left alignment",5,5),
label_alignment = 'right,
label("Right alignment",5,8))$
|
Véanse también label_orientation y color.
Valor por defecto: horizontal
label_orientation se utiliza para especificar la orientación
de las etiquetas. Los valores posibles para esta opción son:
horizontal y vertical.
Esta opción sólo es relevante para objetos de tipo label.
Ejemplo:
En este ejemplo, el punto ficticio que se añade sirve para obtener
la imagen, ya que el paquete draw necesita siempre de datos para
construir la escena.
(%i1) load(draw)$
(%i2) draw2d(xrange = [0,10],
yrange = [0,10],
point_size = 0,
points([[5,5]]),
color = navy,
label("Horizontal orientation (default)",5,2),
label_orientation = 'vertical,
color = "#654321",
label("Vertical orientation",1,5))$
|
Véanse también label_alignment y color.
Valor por defecto: "black"
color especifica el color para dibujar líneas,
puntos, bordes de polígonos y etiquetas.
Los colores se pueden dar a partir de sus nombres o en código hexadecimal rgb.
Los nombres de colores disponibles son:
"white", "black", "gray0", "grey0", "gray10",
"grey10", "gray20", "grey20", "gray30", "grey30",
"gray40", "grey40", "gray50", "grey50", "gray60",
"grey60", "gray70", "grey70", "gray80", "grey80",
"gray90", "grey90", "gray100", "grey100", "gray",
"grey", "light-gray", "light-grey", "dark-gray",
"dark-grey", "red", "light-red", "dark-red", "yellow",
"light-yellow", "dark-yellow", "green", "light-green",
"dark-green", "spring-green", "forest-green", "sea-green",
"blue", "light-blue", "dark-blue", "midnight-blue",
"navy", "medium-blue", "royalblue", "skyblue",
"cyan", "light-cyan", "dark-cyan", "magenta",
"light-magenta", "dark-magenta", "turquoise",
"light-turquoise", "dark-turquoise", "pink", "light-pink",
"dark-pink", "coral", "light-coral", "orange-red",
"salmon", "light-salmon", "dark-salmon", "aquamarine",
"khaki", "dark-khaki", "goldenrod", "light-goldenrod",
"dark-goldenrod", "gold", "beige", "brown", "orange",
"dark-orange", "violet", "dark-violet", "plum" y "purple".
Las componentes cromáticas en código hexadecimal se introducen
en el formato "#rrggbb".
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(explicit(x^2,x,-1,1), /* default is black */
color = "red",
explicit(0.5 + x^2,x,-1,1),
color = blue,
explicit(1 + x^2,x,-1,1),
color = "light-blue", /* double quotes if - is used */
explicit(1.5 + x^2,x,-1,1),
color = "#23ab0f",
label("This is a label",0,1.2) )$
|
Véase también fill_color.
Valor por defecto: "red"
fill_color especifica el color para rellenar polígonos
y funciones explícitas bidimensionales.
Véase color para más información sobre cómo definir
colores.
Valor por defecto: 1
line_width es el ancho de las líneas a dibujar.
Su valor debe ser un número positivo.
Esta opción afecta a los siguientes objetos gráficos:
gr2d: points, polygon, rectangle,
ellipse, vector, explicit, implicit,
parametric y polar.
gr3d: points y parametric.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(explicit(x^2,x,-1,1), /* default width */
line_width = 5.5,
explicit(1 + x^2,x,-1,1),
line_width = 10,
explicit(2 + x^2,x,-1,1))$
|
Véase también line_type.
Valor por defecto: 1
line_type indica cómo se van a dibujar las líneas;
valores posibles son solid y dots.
Esta opción afecta a los siguientes objetos gráficos:
gr2d: points, polygon, rectangle,
ellipse, vector, explicit, implicit,
parametric y polar.
gr3d: points, explicit, parametric y parametric_surface.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(line_type = dots,
explicit(1 + x^2,x,-1,1),
line_type = solid, /* default */
explicit(2 + x^2,x,-1,1))$
|
Véase también line_width.
Valor por defecto: 30
nticks es el número de puntos muestreados por la rutina gráfica.
Esta opción afecta a los siguientes objetos gráficos:
gr2d: ellipse, explicit, parametric y polar.
gr3d: parametric.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(transparent = true,
ellipse(0,0,4,2,0,180),
nticks = 5,
ellipse(0,0,4,2,180,180) )$
|
Valor por defecto: 10
adapt_depth es el número máximo de particiones utilizadas por
la rutina gráfica adaptativa.
Esta opción sólo es relevante para funciones de tipo explicit en 2d.
Valor por defecto: "" (cadena vacía)
key es la clave de una función en la leyenda. Si key
es una cadena vacía, las funciones no tendrán clave
asociada en la leyenda.
Esta opción afecta a los siguientes objetos gráficos:
gr2d: points, polygon, rectangle,
ellipse, vector, explicit, implicit,
parametric y polar.
gr3d: points, explicit, parametric,
y parametric_surface.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(key = "Sinus",
explicit(sin(x),x,0,10),
key = "Cosinus",
line_type = 3,
explicit(cos(x),x,0,10) )$
|
Valor por defecto: 30
xu_grid es el número de coordenadas de la primera variable
(x en superficies explcítas y u en las
paramétricas) para formar la rejilla de puntos muestrales.
Esta opción afecta a los siguientes objetos gráficos:
gr3d: explicit y parametric_surface.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(xu_grid = 10,
yv_grid = 50,
explicit(x^2+y^2,x,-3,3,y,-3,3) )$
|
Véase también yv_grid.
Valor por defecto: 30
yv_grid es el número de coordenadas de la segunda variable
(y en superficies explcítas y v en las
paramétricas) para formar la rejilla de puntos muestrales.
Esta opción afecta a los siguientes objetos gráficos:
gr3d: explicit y parametric_surface.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(xu_grid = 10,
yv_grid = 50,
explicit(x^2+y^2,x,-3,3,y,-3,3) )$
|
Véase también xu_grid.
Valor por defecto: false
Cuando surface_hide vale true, las partes ocultas no
se muestran en las superficies de las escenas 3d.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw(columns=2,
gr3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3)),
gr3d(surface_hide = true,
explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3)) )$
|
Valor por defecto: none
La opción contour permite al usuario decidir dónde colocar
las líneas de nivel.
Valores posibles son:
none:
no se dibujan líneas de nivel.
base:
las líneas de nivel se proyectan sobre el plano xy.
surface:
las líneas de nivel se dibujan sobre la propia superficie.
both:
se dibujan dos conjuntos de líneas de nivel: sobre
la superficie y las que se proyectan sobre el plano xy.
map:
las líneas de nivel se proyectan sobre el plano xy
y el punto de vista del observador se coloca perpendicularmente a él.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
contour_levels = 15,
contour = both,
surface_hide = true) $
|
Véase también contour_levels.
Valor por defecto: 5
contour_levels is the number of levels in contour plots.
Puesto que ésta es una opción global, su posición dentro de la descripción de la escena no reviste importancia.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
contour_levels = 15,
contour = both,
surface_hide = true) $
|
Véase también contour.
Valor por defecto: 1
columns es el número de columnas en gráficos múltiples.
Puesto que ésta es una opción global, su posición dentro de la
descripción de la escena no reviste importancia. También puede
usarse como argumento de la función draw.
Ejemplo:
(%i1) load(draw)$
(%i2) scene1: gr2d(title="Ellipse",
nticks=30,
parametric(2*cos(t),5*sin(t),t,0,2*%pi))$
(%i3) scene2: gr2d(title="Triangle",
polygon([4,5,7],[6,4,2]))$
(%i4) draw(scene1, scene2, columns = 2)$
|
Valor por defecto: [50, 50]
ip_grid establece la rejilla del primer muestreo para los
gráficos de funciones implícitas.
Esta opción sólo es relevante para funciones de tipo implicit.
Valor por defecto: [5, 5]
ip_grid_in establece la rejilla del segundo muestreo para los
gráficos de funciones implícitas.
Esta opción sólo es relevante para funciones de tipo implicit.
La función gr2d construye un objeto que describe una escena 2d. Los
argumentos son opciones gráficas y objetos gráficos. Esta escena
se interpreta secuencialmente: las opciones gráficas afectan a aquellos
objetos gráficos colocados a su derecha.
Para utilizar esta función, ejecútese primero load(draw).
Esta es la lista de objetos gráficos disponibles para escenas en dos dimensiones:
points([[x1,y1], [x2,y2], [x3,y3],...]) o points([x1,x2,x3,...], [y1,y2,y3,...]):
dibuja los puntos [x1,y1], [x2,y2], [x2,y2], ....
Este objeto depende de las siguientes opciones gráficas: point_size,
point_type, points_joined, line_width, key,
line_type y color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(key = "puntitos",
points(makelist([random(20),random(50)],k,1,10)),
point_type = 6,
point_size = 3,
points_joined = true,
key = "puntazos",
points(makelist(k,k,1,20),makelist(random(30),k,1,20)))$
|
polygon([[x1,y1], [x2,y2], [x3,y3],...]) o polygon([x1,x2,x3,...], [y1,y2,y3,...]):
dibuja sobre el plano el polígono de vértices [x1,y1], [x2,y2],
[x2,y2], ....
Este objeto depende de las siguientes opciones gráficas: transparent,
fill_color, border, line_width, key,
line_type and color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(color = "#e245f0",
line_width = 8,
polygon([[3,2],[7,2],[5,5]]),
border = false,
fill_color = yellow,
polygon([[5,2],[9,2],[7,5]]) )$
|
rectangle([x1,y1], [x2,y2]):
dibuja un rectángulo con vértices opuestos [x1,y1] y [x2,y2].
Este objeto depende de las siguientes opciones gráficas: transparent,
fill_color, border, line_width, key,
line_type and color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(fill_color = red,
line_width = 6,
line_type = dots,
transparent = false,
fill_color = blue,
rectangle([-2,-2],[8,-1]), /* opposite vertices */
transparent = true,
line_type = solid,
line_width = 1,
rectangle([9,4],[2,-1.5]),
xrange = [-3,10],
yrange = [-3,4.5] )$
|
ellipse(xc, yc, a, b, ang1, ang2):
dibuja una elipse de centro [xc, yc] con semiejes horizontal y vertical
a y b, respectivamente, a partir del ángulo ang1 un
ángulo de amplitud ang2.
Este objeto depende de las siguientes opciones gráficas: nticks,
transparent, fill_color, border, line_width,
line_type, key and color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(transparent = false,
fill_color = red,
color = gray30,
transparent = false,
line_width = 5,
ellipse(0,6,3,2,270,-270), /* center (x,y), a, b, start & end in degrees */
transparent = true,
color = blue,
line_width = 3,
ellipse(2.5,6,2,3,30,-90),
xrange = [-3,6],
yrange = [2,9] )$
|
label(string,x,y):
escribe el texto string en la posición [x,y].
Este objeto depende de las siguientes opciones gráficas: label_alignment,
label_orientation and color.
Ejemplo:
En este ejemplo, el punto ficticio que se añade sirve para obtener
la imagen, ya que el paquete draw necesita siempre de datos para
construir la escena. Estos colores pueden cambiar en diferentes terminales.
(%i1) load(draw)$
(%i2) draw2d(explicit(x^2,x,-1,1),
color = "red",
label("Label in red",0,0.3),
color = "#0000ff",
label("Label in blue",0,0.6),
color = "light-blue", /* double quotes if - is used */
label("Label in light-blue",0,0.9) )$
|
vector([x,y], [dx,dy]):
dibuja el vector [dx,dy] con origen en [x,y].
Este objeto depende de las siguientes opciones gráficas: head_both,
head_length, head_angle, head_type, line_width,
line_type, key and color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(xrange = [0,12],
yrange = [0,10],
head_length = 1,
vector([0,1],[5,5]), /* default type */
head_type = 'empty,
vector([3,1],[5,5]),
head_both = true,
head_type = 'nofilled,
line_type = dots,
vector([6,1],[5,5]))$
|
explicit(fcn,var,minval,maxval):
dibuja la función explícita fcn, con la variable var
tomando valores desde minval hasta maxval.
Este objeto depende de las siguientes opciones gráficas: nticks,
adapt_depth, line_width, line_type, key,
filled_func, fill_color and color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(line_width = 3,
color = blue,
explicit(x^2,x,-3,3) )$
(%i3) draw2d(fill_color = brown,
filled_func = true,
explicit(x^2,x,-3,3) )$
|
implicit(fcn,x-var,x-minval,x-maxval,y-var,y-minval,y-maxval):
dibuja la función implícita fcn, con la variable x-var
tomando valores desde x-minval hasta x-maxval y la variable y-var
tomando valores desde y-minval hasta y-maxval.
Este objeto depende de las siguientes opciones gráficas: ip_grid,
ip_grid_in, line_width, line_type, key and color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(terminal = eps,
grid = true,
line_type = solid,
key = "y^2=x^3-2*x+1",
implicit(y^2=x^3-2*x+1, x, -4,4, y, -4,4),
line_type = dots,
key = "x^3+y^3 = 3*x*y^2-x-1",
implicit(x^3+y^3 = 3*x*y^2-x-1, x, -4,4, y, -4,4),
title = "Two implicit functions" )$
|
polar(radius,ang,minang,maxang):
dibuja la función radius(ang) definida en coordenadas polares, con la variable ang
tomando valores desde minang hasta maxang.
Este objeto depende de las siguientes opciones gráficas: nticks,
line_width, line_type, key and color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(user_preamble = "set grid polar",
nticks = 200,
xrange = [-5,5],
yrange = [-5,5],
line_type = 6,
line_width = 3,
title = "Hyperbolic Spiral",
polar(10/theta,theta,1,10*%pi) )$
|
parametric(xfun,yfun,par,parmin,parmax):
dibuja la función paramétrica [xfun,yfun], con el parámetro par
tomando valores desde parmin hasta parmax.
Este objeto depende de las siguientes opciones gráficas: nticks,
line_width, line_type, keyand color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw2d(explicit(exp(x),x,-1,3),
color = red,
key = "This is the parametric one!!",
parametric(2*cos(rrr),rrr^2,rrr,0,2*%pi))$
|
image(im,x0,y0,width,height):
dibuja la imagen im en la región rectangular desde el vértice (x0,y0)
hasta el (x0+width,y0+height) del plano real. El argumento im debe ser una
matriz de números reales o una matriz de vectores de longitud tres.
Si im es una matriz de números reales, los valores de los
píxeles se interpretan según indique la opción
gráfica palette, que es un vector de longitud tres con sus componentes tomando
valores enteros en el rango desde -36 a +36; cada valor es un
índice para seleccionar una fórmula que transforma los niveles
numéricos en las componentes cromáticas rojo, verde y azul:
0: 0 1: 0.5 2: 1 3: x 4: x^2 5: x^3 6: x^4 7: sqrt(x) 8: sqrt(sqrt(x)) 9: sin(90x) 10: cos(90x) 11: |x-0.5| 12: (2x-1)^2 13: sin(180x) 14: |cos(180x)| 15: sin(360x) 16: cos(360x) 17: |sin(360x)| 18: |cos(360x)| 19: |sin(720x)| 20: |cos(720x)| 21: 3x 22: 3x-1 23: 3x-2 24: |3x-1| 25: |3x-2| 26: (3x-1)/2 27: (3x-2)/2 28: |(3x-1)/2| 29: |(3x-2)/2| 30: x/0.32-0.78125 31: 2*x-0.84 32: 4x;1;-2x+1.84;x/0.08-11.5 33: |2*x - 0.5| 34: 2*x 35: 2*x - 0.5 36: 2*x - 1 |
los números negativos se interpretan como colores invertidos de las componentes cromáticas.
palette = gray y palette = color son atajos para
palette = [3,3,3] y palette = [7,5,15], respectivamente.
Si im es una matriz de vectores de longitud tres, s'tos se
interpretarán como las componentes cromáticas rojo, verde y azul.
Ejemplos:
Si im es una matriz de números reales, los valores de los
píxeles se interpretan según indique la opción
gráfica palette.
(%i1) load(draw)$
(%i2) im: apply(
'matrix,
makelist(makelist(random(200),i,1,30),i,1,30))$
(%i3) /* palette = color, default */
draw2d(image(im,0,0,30,30))$
(%i4) draw2d(palette = gray, image(im,0,0,30,30))$
(%i5) draw2d(palette = [15,20,-4],
colorbox=false,
image(im,0,0,30,30))$
|
Véase también colorbox.
Si im es una matriz de vectores de longitud tres, éstos se
interpretarán como las componentes cromáticas rojo, verde y azul.
(%i1) load(draw)$
(%i2) im: apply(
'matrix,
makelist(
makelist([random(300),
random(300),
random(300)],i,1,30),i,1,30))$
(%i3) draw2d(image(im,0,0,30,30))$
|
Véanse también las siguientes opciones gráficas: xrange, yrange,
logx, logy, terminal, grid, title,
xlabel, ylabel, xtics, ytics, xy_file,
file_name, pic_width, pic_height,
eps_width, eps_height,
user_preamble, axis_bottom, axis_left, axis_top
y axis_right.
La función gr3d construye un objeto que describe una escena 3d. Los
argumentos son opciones gráficas y objetos gráficos. Esta escena
se interpreta secuencialmente: las opciones gráficas afectan a aquellos
objetos gráficos colocados a su derecha.
Para utilizar esta función, ejecútese primero load(draw).
Esta es la lista de objetos gráficos disponibles para escenas en tres dimensiones:
points([[x1,y1,z1], [x2,y2,z2], [x3,y3,z3],...]) o
points([x1,x2,x3,...], [y1,y2,y3,...], [z1,z2,z3,...]):
dibuja los puntos [x1,y1,z1], [x2,y2,z2], [x2,y2,z3], ....
Este objeto depende de las siguientes opciones gráficas: point_size,
point_type, points_joined, line_width, key, line_type
and color.
Ejemplos:
Una muestra tridimensional,
(%i1) load(draw)$
(%i2) load (numericalio)$
(%i3) s2 : read_matrix (file_search ("wind.data"))$
(%i4) draw3d(title = "Daily average wind speeds",
point_size = 2,
points(args(submatrix (s2, 4, 5))) )$
|
Dos muestras tridimensionales,
(%i1) load(draw)$
(%i2) load (numericalio)$
(%i3) s2 : read_matrix (file_search ("wind.data"))$
(%i4) draw3d(title = "Daily average wind speeds. Two data sets",
point_size = 2,
key = "Sample from stations 1, 2 and 3",
points(args(submatrix (s2, 4, 5))),
point_type = 4,
key = "Sample from stations 1, 4 and 5",
points(args(submatrix (s2, 2, 3))) )$
|
label(string,x,y,z):
escribe el texto string en la posición [x,y,z].
Este objeto depende de las siguientes opciones gráficas: label_alignment,
label_orientation y color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3),
color = red,
label("UP",-2,0,3),
color = blue,
label("DOWN",2,0,-3) )$
|
explicit(fcn,var1,minval1,maxval1,var2,minval2,maxval2):
dibuja la función explícita fcn, con la variable var1
tomando valores desde minval1 hasta maxval1 y la variable var2
tomando valores desde minval2 hasta maxval2.
Este objeto depende de las siguientes opciones gráficas: xu_grid,
yv_grid, line_type, key and color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(key = "Gauss",
color = "#a02c00",
explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3),
yv_grid = 10,
color = blue,
key = "Plane",
explicit(x+y,x,-5,5,y,-5,5),
surface_hide = true)$
|
parametric(xfun,yfun,zfun,par,parmin,parmax):
dibuja la función paramétrica [xfun,yfun,zfun], con el parámetro par
tomando valores desde parmin hasta parmax.
Este objeto depende de las siguientes opciones gráficas: nticks,
line_width, line_type, key and color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3),
color = royalblue,
parametric(cos(5*u)^2,sin(7*u),u-2,u,0,2),
color = turquoise,
line_width = 2,
parametric(t^2,sin(t),2+t,t,0,2),
surface_hide = true,
title = "Surface & curves" )$
|
parametric_surface(xfun,yfun,zfun,par1,par1min,par1max,par2,par2min,par2max):
dibuja la superficie paramétrica [xfun,yfun,zfun], con el parámetro par1
tomando valores desde par1min hasta par1max y el parámetro par2
tomando valores desde par2min hasta par2max.
Este objeto depende de las siguientes opciones gráficas: xu_grid,
yv_grid, line_type, key and color.
Ejemplo:
(%i1) load(draw)$
(%i2) draw3d(title = "Sea shell",
xu_grid = 100,
yv_grid = 25,
rot_vertical = 100,
rot_horizontal = 20,
surface_hide = true,
parametric_surface(0.5*u*cos(u)*(cos(v)+1),
0.5*u*sin(u)*(cos(v)+1),
u*sin(v) - ((u+3)/8*%pi)^2 - 20,
u, 0, 13*%pi, v, -%pi, %pi) )$
|
Véanse también las siguientes opciones gráficas: xrange, yrange,
zrange, logx, logy, logz, terminal,
grid, title, xlabel, ylabel, zlabel,
xtics, ytics, ztics, xy_file,
user_preamble, axis_bottom, axis_left,
axis_top, file_name, pic_width, pic_height,
eps_width, eps_height,
axis_right, rot_vertical, rot_horizontal,
axis_3d, xu_grid, yv_grid, surface_hide,
contour, contour_levels, palette, colorbox
y enhanced3d.
Representa gráficamente una serie de escenas; sus argumentos son objetos
gr2d y gr3d, junto con algunas opciones. Por defecto,
las escenas se representan en una columna.
La función draw acepta dos opciones posibles:terminal
y columns.
Las funciones draw2d y draw3d son atajos a utilizar
cuando se quiere representar una única escena en dos o tres
dimensiones, respectivamente.
Para utilizar esta función, ejecútese primero load(draw).
Ejemplo:
(%i1) load(draw)$
(%i2) scene1: gr2d(title="Ellipse",
nticks=30,
parametric(2*cos(t),5*sin(t),t,0,2*%pi))$
(%i3) scene2: gr2d(title="Triangle",
polygon([4,5,7],[6,4,2]))$
(%i4) draw(scene1, scene2, columns = 2)$
|
Esta función es un atajo para
draw2d(gr2d(options, ..., graphic object, ...)).
Puede utilizarse para representar una única escena en 2d.
Para utilizar esta función, ejecútese primero load(draw).
Esta función es un atajo para
draw3d(gr3d(options, ..., graphic object, ...)).
Puede utilizarse para representar una única escena en 3d.
Para utilizar esta función, ejecútese primero load(draw).
Valor por defecto: true
Cuando draw_pipes vale true, Maxima se comunica con Gnuplot
mediante una tubería (pipe, en inglés). Cuando draw_pipes
vale false, Maxima se comunica con Gnuplot mediante ficheros.
Esto sólo tiene efecto en sistemas que no son Windows.
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Robert Dodier on mayo, 2 2007 using texi2html 1.76.