Maxima con wxMaxima: software libre en el aula de matemáticas
Usando WxMaxima
-
Upload
freddy-murillo -
Category
Documents
-
view
34 -
download
2
description
Transcript of Usando WxMaxima
Universidad de Costa RicaEscuela de MatematicaProf. Miguel Walker Urena
Dpto. Matematica AplicadaMA-1003: Calculo 3
Ciclo 1-2014
Usando wxMaxima[ version 0.3’, compilado el 18/8/2014 ]
Contenidos
1 Calculo Simbolico con wxMaxima 21.1 Informacion General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Operadores Basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Constantes, referencias y formato numerico . . . . . . . . . . . . . . . . . . . . . . . . . . 61.5 Funciones Basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.6 Asignaciones y Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.7 Otras Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Matrices con wxMaxima 132.1 Insercion de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Operaciones de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3 Manipulacion de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 El paquete draw en wxMaxima 163.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2 Objetos basicos del entorno draw2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Opciones destacadas del entorno draw2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.4 Objetos basicos del entorno draw3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.5 Opciones destacadas del entorno draw3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Referencias 31
Usando wxMaxima 2
1 Calculo Simbolico con wxMaxima
1.1 Informacion General
Descripcion: wxMaxima es una interface grafica de usuario para el Sistema deAlgebra Simbolica(CAS) Maxima, basado en wxWidgets.
Autor: Andrej Vodopivec
Ano: 2004
Licencia: GNU
Plataforma: Linux, Microsoft Windows y Mac OS X
Sitio de desarrollo: http://andrejv.github.com/wxmaxima/
Version Portable: Buscar en http://portableapps.com/
Logo wxMaxima
Vista previa del programa wxMaxima:
Usando wxMaxima 3
1.2 Funcionamiento
El empecemos wxMaxima es un entorno grafico que se utiliza como entorno de trabajo para ejecutarcomandos del lenguaje Maxima.
Maxima es un sistema de algebra computacional el cual nos proporciona comandos para calculosnumericos y simbolicos ası como tambien un lenguaje de programacion propio.
Las instrucciones finalizan con un punto y coma, son organizadas en celdas (similar al software
mathematica) y se ejecutan tecleando SHIFT + ENTER , o tecleando INTRO , o simplemente haciendoclick en el menu
Celda → Evaluar Celda(s)
Ejemplo 1.1. Podemos probar que wxMaxima es funcional simplemente tecleando 1+1; y haciendo
Intro :[(%i1) 1+1;[(%o1) 2
inmediatamente se creara una celda de entrada numerada etiquetada como (%iη) siendo η la cantidadde veces que hemos evaluado una celda. Al evaluar la celda de entrada, automaticamente va a producirseuna celda de salida con el resultado de la operacion ( o sea 2 ), la cual tambien va numerada como (%oκ)siendo κ la cantidad de salidas hasta el momento.
Nota 1.1. Podemos organizar nuestro documento de wxMaxima insertando celdas de texto, tıtulo, secciony subseccion ingresando al menu
Celta → Insertar celda de texto ,
Celta → Insertar celda de tıtulo
Celta → Insertar celda de seccion y
Celta → Insertar celda de subseccion
respectivamente o simplemente tecleando Ctrl+1 , Ctrl+2 , Ctrl+3 y Ctrl+4 respectivamente.
Ejemplo 1.2.
Usando wxMaxima 4
Nota 1.2. El sımbolo “�” que aparece en cada celda es un boton, que al hacerle “click” oculta todocontenido que abarca.
Algo similar se aplica al hacer “click” en la esquina superior izquierda (en el “triangulito’) de las celdasde entrada y de texto, se reduce la celda a una sola lınea ocultando las lıneas posteriores.
Nota 1.3. wxMaxima soporta la insercion de imagenes ya sea desde el “porta papeles” o mediante el menu
Celta → Insertar imagen
Usando wxMaxima 5
1.3 Operadores Basicas
Maxima utiliza los siguientes sımbolos para operaciones basicas:
+ − ∗ / ˆ ( ) . !
Los sımbolos anteriores son los que nos permite realizar calculo aritmetico y simbolico.
operador notacion
suma �+�resta �−�
multiplicacion � ∗�division �/�
operador notacion
potencia �ˆ� o � ∗∗�factorial � !
doble factorial � !!
Ejemplo 1.3.[(%i2) 2*x^2*y-3*x^2*y+10/5;
0.5+0.2;[(%o2) 2− x2y(%o3) 0.7
Nota 1.4. Note que una celda puede generar varias salidas, desplegadas en el orden en que se escribieronlas instrucciones.
Las expresiones se agrupan usando parentesis redondos.
Ejemplo 1.4. (%i3) (a*b^3)^2;
10*x^3*y^5/2*x*y^(12);
10*x^3*y^5/( 2*x*y^(12) );(%o4) a2b6
(%o5) 5x4y17
(%o6)5x2
y7
Usando wxMaxima 6
1.4 Constantes, referencias y formato numerico
Nota 1.5. El sımbolo % es usado en maxima para referencias en general:
Referencia a Expresion
la ultima salida %
la salida η-esima %oη
la ultima entrada
la entrada η-esima %iη
la η-esima salida anterior %th(η)
Ejemplo 1.5.[(%i4) 2;
%+b;[(%o7) b+ 2
Nota 1.6. De manera predeterminada, las salidas de Maxima son expresiones exactas, pero si queremosun valor en notacion decimal aproximada, la manera mas sencilla es escribiendo
�,numer;
que tambien se puede escribir�,float;
o lo que es lo mismo: float(�);
Ejemplo 1.6.[(%i5) 1/2; %,numer;[(%o8) 1/2
(%o9) 0.5
Nota 1.7. Si no queremos que una expresion genere una salida, lo que hay que hacer es escribir el signo“$” en vez de “;”.
Ejemplo 1.7.[(%i6) 1/2$ %,numer;[(%o10) 0.5
Nota 1.8. Las constantes π, e, i tienen una manera especial de ser referenciadas:
Constante Referencia Significado o valor
π %pi 3.14159 . . . es un radian
e %e 2.71828 . . . es la base del logaritmo natural
i %i√−1 es el numero complejo (0, 1)
Ejemplo 1.8.[(%i7) %pi,numer;[(%o11) 3.141592653589793
Usando wxMaxima 7
Ejemplo 1.9.[(%i8) %i^2;[(%o12) −1
Nota 1.9. Para controlar la cantidad de decimales desplegadas por las expresiones numericas escribimosbfloat en vez de float, o sea
“bfloat(�);” o “�, bfloat;”
y se escribe el comandofpprec : η;
donde “η − 1” es el numero de decimales (por defecto es η = 16).El formato de los numeros es
n1n2 . . . n`.α1α2 . . . αηbk
que se traduce como el numero
n1n2 . . . n`.α1α2 . . . αη · 10k
Usando wxMaxima 8
1.5 Funciones Basicas
Los comandos basicos de Maxima en su mayorıa son palabras compuestas por letras minusculas y losparametros son recibidos entre parentesis redondos y separados por comas (similar al software mupad).
Ejemplo 1.10. El comando para la funcion coseno es cos(�), podemos ver que cos(0) = 1:[(%i9) cos(0);[(%o13) 1
Nota 1.10. Entre las funciones mas destacadas de Maxima tenemos:
1. Las funciones raız cuadrada√�, valor absoluto |�|, exponencial e� y logaritmo natural ln(�) son
respectivamente.sqrt(�) abs(�) exp(�) log(�)
2. Funciones trigonometricas y sus recıprocos:
sin(�) cos(�) tan(�)
csc(�) sec(�) cot(�)
3. Funciones trigonometricas inversas:
asin(�) acos(�) atan(�)
acsc(�) asec(�) acot(�)
4. Funciones hiperbolicas y sus recıprocos:
sinh(�) cosh(�) tanh(�)
csch(�) sech(�) coth(�)
5. Funciones hiperbolicas inversas:
asinh(�) acosh(�) atanh(�)
acsch(�) asech(�) acoth(�)
6. Maximo y mınimo de una lista de numeros a1, a2, . . . , an
max(a1, a2, . . . , an) min(a1, a2, . . . , an)
Ejemplo 1.11.[(%i10) log(%e);[(%o14) 1
Ejemplo 1.12.[(%i11) sin(3*%pi/2);[(%o15) −1
Usando wxMaxima 9
1.6 Asignaciones y Funciones
Nota 1.11. En maxima podemos declarar lıneas de codigo con ayuda del signo “:”.
Ejemplo 1.13.[(%i12) variable:58$
variable+2;[(%o16) 60
Nota 1.12. Tambien podemos evaluar variables en las expresiones con ayuda del signo “=”.
Ejemplo 1.14.[(%i13) x+4,x=5;[(%o17) 9
Ejemplo 1.15. (%i14) A:x+y$
A,y=2;
A+3*y;[(%o18) x+ 2
(%o19) 4y + x
Nota 1.13. La creacion de funciones se realiza con “:=” o con ayuda del comando “define(�,�)”conla siguientes diferencias:
• Al hacer “f(x):=H(x)” o “f(x1, x2, . . . , xn)=H(x1, x2, . . . , xn)” se define a f como el procedimientoH.
• Al hacer “define(f(x),H(x))” o “define(f(x1, x2, . . . , xn)=H(x1, x2, . . . , xn))” primero efectuael calculo de H y luego el resultado sera la definicion de f.
Ejemplo 1.16. (%i15) f(x):=x+2$
f(4);[(%o20) 6
Ejemplo 1.17.[(%i16) g(x,y):=x^2+y^2$
g(a,5);[(%o21) a2 + 25
Ejemplo 1.18.[(%i17) define(h(x),2*x)$
h(5);[(%o22) 10
Usando wxMaxima 10
Ejemplo 1.19. En este ejemplo f se define como una derivada.[(%i18) f(x):=diff( x^2 );
f( sin(x) );[(%o23) f(x) := diff(x2)
(%o24) 2 cos(x) sin(x) del(x)
Ejemplo 1.20. En este ejemplo f se define como el resultado de una derivada.[(%i19) define( f(x) , diff( x^2 ) );
f( sin(x) );[(%o25) f(x) := 2x del(x)
(%o26) 2 sin(x) del(sinx)
Nota 1.14. Las variables y funciones declaradas pueden ser liberadas usando el comando “kill(�)”.
Ejemplo 1.21. Si hemos asignado la variable “A” mediante “:” y una funcion “f” mediante “:=” o con“define”, podemos eliminarlas haciendo:[
(%i20) kill(A,f);
Nota 1.15. Para eliminar todas las variables y funciones hacemos[(%i21) kill(all);
Usando wxMaxima 11
1.7 Otras Funciones
Nota 1.16. Muchas funciones especiales pueden ser accesadas con ayuda de los menu y de los paneles.Por ejemplo, en el menu
Maxima → Paneles → Matematicas generales
podemos habilitar un panes lateral con botones que ponen a nuestra disposicion funciones especiales
algunas de las funciones especiales mas destacadas
Comando Descripcion
factor(�) Factoriza �solve(eq,x) Resuelve ecuacion eq en la variable x
solve([eq1, eq2, . . . ],[x1, x2, . . . ]) Resuelve las ecuaciones eq1, eq2, . . . en las variableseq1, eq2, . . .
expand(�) Descompone la expresion �ratsimp(�) Simplifica la expresion racional �radcan(�) Simplifica la expresion radical �
Nota 1.17. Para manipulacion de expresiones logarıtmicas tenemos
�, logexpand = super; logcontract(�)
Nota 1.18. Para manipulacion de expresiones trigonometricas tenemos las funciones
trigsimp trigreduce trigexpand trigrat
Ejemplo 1.22.[(%i22) solve(x^2+3*x-10, x);[(%o27) [x = −5, x = 2]
Usando wxMaxima 12
Ejemplo 1.23.[(%i23) factor(x^2+3*x-10);[(%o28) (x− 2)(x+ 5)
Ejemplo 1.24.[(%i24) factor(48);[(%o29) 24 3
Ejemplo 1.25.[(%i25) expand( (x-1)*(x+1)*(x+2) );[(%o30) x3 + 2x2 − x− 2
Ejemplo 1.26.[(%i26) solve( x^2-3*x+2=0, x );[(%o31) [x = 1, x = 2 ]
Ejemplo 1.27.[(%i27) solve( [A+B=7, A-B=3], [A,B] );[(%o32) [A = 5, B = 2 ]
Usando wxMaxima 13
2 Matrices con wxMaxima
2.1 Insercion de matrices
El comando usado para insertar una matriz en wxMaxima es
matrix(lista1, lista2, . . . , listam)
donde lista1, lista2, . . . , listam son listas de elementos que representas las filas de una matriz.Una lista es una coleccion de elementos agrupados entre parentesis cuadrados y separados por comas.
Ejemplo 2.1. A continuacion la insercion de una matriz asignada a la variable “A”(%i28) A: matrix(
[1,2,3],
[-1,5,1],
[3,2,1]
); (%o33)
1 2 3−1 5 13 2 1
Ejemplo 2.2. De la matriz A del ejemplo anterior podemos extraer filas 1, 2 y 3 haciendo A[1], A[2]
y A[3] respectivamente, el resultado es en formato lista.Tambien podemos extraer la componente ij-esima haciendo A[i,j].[(%i29) A[1]; A[2]; A[3];(%o34) [1, 2, 3]
(%o35) [−1, 5, 1]
(%o36) [3, 2, 1][(%i30) A[2,1]; A[2,2];[(%o37) −1
(%o38) 5
Nota 2.1. Tenemos comandos para insertar matrices especiales.
Comando Descripcion
ident(n) Matriz identidad n× nzeromatrix(m,n) Matriz nula m× ndiag matrix(d1, . . . , dn) Matriz diagonal Diag(d1, . . . , dn)
2.2 Operaciones de matrices
Nota 2.2. Producto de escalar por matriz: Se realiza mediante el operador “*”
Ejemplo 2.3.[(%i31) 2*matrix([a,b],[x,y]);[(%o39)
[2a 2b2x 2y
]
Usando wxMaxima 14
Nota 2.3. Suma de matrices: Se realiza mediante el operador “+”
Ejemplo 2.4.[(%i32) matrix([a,b],[x,y]) + matrix([1,2],[3,4]);[(%o40)
[a+ 1 b+ 2x+ 3 y + 4
]
Nota 2.4. Producto de matrices: Se realiza mediante el operador “.”
Ejemplo 2.5.[(%i33) matrix([a,b],[x,y]) . matrix([1,2],[3,4]);[(%o41)
[3b+ a 4b+ 2a3y + x 4y + 2x
]
Nota 2.5. Transpuesta de la matriz: Se realiza el comando “transpose(�)”
Ejemplo 2.6.[(%i34) matrix([a,b],[x,y]);
transpose(%)(%o42)
[a bx y
](%o43)
[a xb y
]
Inversa de la matriz: Se realiza el comando “invert(�)”
Ejemplo 2.7. (%i35) A:matrix([2,3],[1,1]);
invert(A);
A.%;
(%o44)
[2 31 1
](%o45)
[−1 31 −2
](%o46)
[1 00 1
]
Nota 2.6. Determinante de la matriz: Se realiza el comando “determinant(�)”
Ejemplo 2.8.[(%i36) determinant( matrix([a,b],[x,y]) );[(%o47) ay − bx
Usando wxMaxima 15
2.3 Manipulacion de matrices
Nota 2.7. Varias comandos que pueden ser utiles durante la manipulacion de matrices:
Comando Descripcion
row(A, i) Matriz Fila i de la matriz A
col(A, j) Matriz Columna j de la matriz A
rank(A) Rango de matriz A
echelon(A) Forma escalonada de la matriz A
Nota 2.8. El comandosubmatrix(i1, . . . , ik, A, j1, . . . , j`)
nos da como resultado la matriz A despues de eliminar las filas i1, . . . , ik y las columnas j1, . . . , j`
Usando wxMaxima 16
3 El paquete draw en wxMaxima
3.1 Introduccion
draw es un paquete para el software Maxima, que pone a nuestra disposicion muchos objetos y opcionesde ploteo de objetos geometricos en 2 y tres dimenciones.
Para empezar el paquete draw se carga usando el comando load:[(%i37) load(draw);[(%o48) ‘‘C:/.../share/draw/draw.lisp’’
Si aparece un mensaje como en (%o48) es porque el paquete se cargo satisfactoriamente.Ahora tenemos a nuestra disposicion los comandos para graficacion draw, draw2d, draw3d y sus va-
riantes wxdraw, wxdraw2d, wxdraw3d, los cuales nos proporcionan un entorno de dibujo en el cual insertarobjetos geometricos y sus respectivas opciones.
Si tales comandos comienzan con “wx” entonces el grfico aparecera en una celda de salida comun ycorriente permaneciendo de manera estatica, si no comienzan con “wx” por defecto el grafico se cargaraen gnuplot dando la posibilidad de mover y cambiar el tamano de dicho grafico.
Aclaramos que draw2d(...)=draw(gr2d(...)) y draw3d(...)=draw(gr3d(...))
3.2 Objetos basicos del entorno draw2d
A continuacion los objetos mas destacados para el comando draw2d
1. points([[x1,y1],[x2,y2],...])
Los puntos (x1, y1), (x2, y2) . . .
2. vector([x1,y1],[u1,u2])
Vector ~u = (u1, u2) de origen (x1, y1)
3. label(["etiqueta",x,y])
Palabra “etiqueta” en posicion (x, y)
4. explicit(f(x),x,x1,x2)
Curva explıcita y = f(x) en intervalo (x1, x2)
5. implicit(f(x, y) = 0,x,x1,x2,y,y1,y2)
Curva implıcita f(x, y) = 0 en caja (x1, x2)× (y1, y2)
6. parametric(x(t),y(t),t,t1,t2)
Curva parametrica r =[x(t), y(t)
]en intervalo (t1, t2)
7. polar(f(θ),θ,θ1,θ2)
Curva polar r = f(θ) en intervalo (θ1, θ2)
Usando wxMaxima 17
Ejemplo 3.1.(%i38) draw2d(
points([
[-3,9],[-2,4],[-1,1],[0,0],[1,1],[2,4],[3,9]
]) );(%o49)
Ejemplo 3.2.(%i39) draw2d(
points([[0,0]]),
vector([5,5],[40,50])
);(%o50)
Usando wxMaxima 18
Ejemplo 3.3.(%i40) draw2d(
points([[2,2],[1,1.5]]),
label(["Funcion seno",2,1.5]),
explicit(sin(x),x,-%pi/2,2*%pi)
);(%o51)
Ejemplo 3.4.(%i41) draw2d(
points([[0,0]]),
implicit(x^2-y^2=4,x,-6,6,y,-6,6)
);(%o52)
Usando wxMaxima 19
Ejemplo 3.5.(%i42) draw2d(
points([[0,0]]),
parametric(3*cos(t),3*sin(t),t,0,2*%pi)
);(%o53)
Usando wxMaxima 20
3.3 Opciones destacadas del entorno draw2d
Las opciones mas destacadas con las que cuenta el entorno draw son
1. title="..."
Le pone tıtulo al dibujo.
2. xlabel="...",ylabel="..."
Le pone tıtulo a los ejes del dibujo.
3. xtics, ytics,
Toma valores true o false, para ver o no los numeros en el eje x y el eje y respectivamente.
4. xaxis, yaxis,
Toma valores true o false, para ver o no el eje x y (o) el eje y.
5. xrange=[x1,x2], yrange=[y1,y2]
Establece el rango del area de dibujo como [x1, x2]× [y1, y2]
6. proportional_axes=xy
Con esta opcion los ejes “ x− y ” son proporcionales.
7. color
Esta opcion define el color de los objetos geometricos a partir del momento en que se declara
color = . . .
Algunos valores que puede tomar color son:
black
gray30
gray50gray
white
blue
dark_bluecyan
dark_cyangreen
dark_green
redorange
orange_red
yellow
dark_yellow
brown
purple
magenta
dark_magenta
pink
dark_pink
8. line_width
Toma valores racionales positivos y determina el ancho de las lıneas.
9. key="..."
Pone clave a los objetos geometricos a partir del momento en que se declara, key="" anula laasignacion de clave.
Es recomendable que cada objeto tenga color diferente al usar esta opcion.
10. point_type
Toma valores racionales enteros 1, 2, . . . , 13, y determina la forma de los puntos.
0 ·1 +
2 ×3 ∗
4 �5 �6 ◦7 •
8 ♦9 �
10 M11 N12 O13 H
Usando wxMaxima 21
11. point_size
Toma valores racionales positivos y determina el tamano de los puntos.
12. points_joined
Toma los valores true o false y determina si los puntos se deben unir o no.
13. head_length
Corresponde al ancho de la “cabeza” de un vector.
Ejemplo 3.6.
(%i43) draw2d(
color=dark-green,
points_joined=true,
points([
[-3,9],[-2,4],[-1,1],[0,0],[1,1],[2,4],[3,9]
]) );(%o54)
Usando wxMaxima 22
Ejemplo 3.7.
(%i44) draw2d(
title="Prueba de opciones",
xrange=[-7,7],yrange=[-7,7],
xaxis=true,yaxis=true,
xlabel="eje x",ylabel="eje y",
color=red,key="parabola",
explicit(x^2,x,-3,3),
color=blue,line_width=3,key="coseno",
explicit(cos(x),x,-2*%pi,2*%pi),
color=black,point_type=7,key="",
points([[%pi/6,sqrt(3)/2]]),
point_type=9,point_size=3,
points([[3,3]]),
head_length=0.5,
vector([0,-2],[4,-4])
);(%o55)
Usando wxMaxima 23
3.4 Objetos basicos del entorno draw3d
A continuacion los objetos mas destacados para el comando draw3d
1. points([[x1,y1,z1],[x2,y2,z2],...])
Los puntos (x1, y1, z1), (x2, y2, z2), . . .
2. vector([x1,y1,z1],[u1,u2,u3])
Vector ~u = (u1, u2, u3) de origen (x1, y1, y1)
3. label(["etiqueta",x,y,z])
Palabra “etiqueta” en posicion (x, y, z)
4. proportional_axes=xyz
Con esta opcion los ejes “ x− y − z ” son proporcionales. Podemos pones xy
5. explicit(f(x, y),x,x1,x2,y,y1,y2)
Superficie explıcita z = f(x, y) en el rectangulo
(x1, x2)× (y1, y2)
6. implicit(F (x, y, z) = 0,x,x1,x2,y,y1,y2,z,z1,z2)
Curva implıcita F (x, y, z) = 0 en la caja
(x1, x2)× (y1, y2)× (z1, z2)
7. parametric(x(t),y(t),z(t),t,t1,t2)
Curva parametrica r =[x(t), y(t), z(t)
]en intervalo (t1, t2)
8. parametric_surface(x(u, v),y(u, v),z(u, v),u,u1,u2,v,v1,v2)
Superficie parametrica r =[x(u, v), y(u, ), z(u, v)
]en el rectangulo (u1, u2)× (v1, v2)
9. cylindrical(f(θ, z),z,z1,z2,θ,θ1,θ2)
Superficie en coordenadas cilındricas de radio ρ = f(θ, z) en el rectangulo (θ1, θ2)× (z1, z2)
10. spherical(f(θ, ϕ),ϕ,ϕ1,ϕ2,θ,θ1,θ2)
Superficie en coordenadas esfericas de radio ρ = f(θ, ϕ) en el rectangulo (θ1, θ2)× (ϕ1, ϕ2)
Usando wxMaxima 24
Ejemplo 3.8.
(%i45) draw3d(
points([[50,30,10],[50,0,0]]),
label(["Punto (50,30,10)",50,30,20]),
vector([0,0,0],[90,0,0]),
vector([0,0,0],[0,90,0]),
vector([0,0,0],[0,0,90]),
label(["eje x",95,0,0])
);(%o56)
Ejemplo 3.9. (%i46) draw3d(
explicit(x^2+y^2,x,-10,10,y,-10,10)
);(%o57)
Usando wxMaxima 25
Ejemplo 3.10. (%i47) draw3d(
implicit(x^2+y^2=9,x,-4,4,y,-4,4,z,-2,5)
);(%o58)
Ejemplo 3.11. (%i48) draw3d(
parametric(3*cos(t),3*sin(t),2*t,t,0,3*%pi)
);(%o59)
Usando wxMaxima 26
3.5 Opciones destacadas del entorno draw3d
Las opciones mas destacadas con las que cuenta el entorno draw son
1. title="..."
Le pone tıtulo al dibujo.
2. xlabel="...",ylabel="...", zlabel="..."
Le pone tıtulo a los ejes del dibujo.
3. xtics, ytics, ztics
Toma valores true o false, para ver o no los numeros en el eje x, eje y y eje z respectivamente.
4. xaxis, yaxis, zaxis, axis_3d
Toma valores true o false, para ver o no el eje x, el eje y, el eje z y la caja de coordenadasrespectivamente.
5. xrange=[x1,x2], yrange=[y1,y2], zrange=[z1,z2]
Establece el rango de caja de dibujo como
[x1, x2]× [y1, y2]× [z1, z2]
6. proportional_axes=xyz
Con esta opcion los ejes “ x − y − z ” son proporcionales. Podemos poner “xy” en vez de “xyz”para que la proporcionalidad sea entre los ejes “ x− y ”.
7. rot_horizontal=k, rot_vertical=k
Con esta opcion el sistema gira “k” grados horizontal y verticalmente respectivamente.
“k” pertenece al intervalo[
0, 360].
8. surface_hide
Toma los valores true o false, y define visibilidad de las partes ocultas de una superficie.
9. color
Esta opcion define el color de los objetos geometricos a partir del momento en que se declara
color = . . .
black
gray30
gray50gray
white
blue
dark_bluecyan
dark_cyangreen
dark_green
redorange
orange_red
yellow
dark_yellow
brown
purple
magenta
dark_magenta
pink
dark_pink
10. line_width
Toma valores racionales positivos y determina el ancho de las lıneas.
Usando wxMaxima 27
11. key="..."
Pone clave a los objetos geometricos a partir del momento en que se declara, key="" anula laasignacion de clave.
Es recomendable que cada objeto tenga color diferente al usar esta opcion.
12. point_type
Toma valores racionales enteros 1, 2, . . . , 13, y determina la forma de los puntos.
0 ·1 +
2 ×3 ∗
4 �5 �6 ◦7 •
8 ♦9 �
10 M11 N12 O13 H
13. point_size
Toma valores racionales positivos y determina el tamano de los puntos.
14. points_joined
Toma los valores true o false y determina si los puntos se deben unir o no.
15. head_length
Corresponde al ancho de la “cabeza” de un vector.
16. enhanced3d
Toma los valores true o false, y define si queremos colorear o no las superficies.
Esta opcion es global, por lo que afecta todos los objetos geometricos.
Las opciones color, line_width, surface_hide, entre otras dejan de ser tomadas en cuenta paratodos los objetos.
17. palette
Define la escala de colores cuando enhanced3d=true.
palette = [r, g, b] ,donde r, g, b ∈ [−36, 36] son enteros
palette=gray nos pinta los objetos geometricos a escala de grises.
18. colorbox
Toma los valores true o false, y define si queremos visualizar la caja de colores cuando enhanced3d=true.
Usando wxMaxima 28
Ejemplo 3.12.
(%i49) draw3d(
title="Probando Opciones",
surface_hide=true,
zrange=[-3,21],
color=black, head_length=0.2,
vector([0,0,0],[10,0,0]),
label(["eje x",11,0,0]),
vector([0,0,0],[0,10,0]),
vector([0,0,0],[0,0,20]),
color=blue,
explicit(x^2+y^2,x,-8,8,y,-8,8),
color=green,
implicit(x^2+y^2=9,x,-4,4,y,-4,4,z,-3,21)
);(%o60)
Usando wxMaxima 29
Ejemplo 3.13.
(%i50) draw3d(
xtics=false,ytics=false,ztics=false,
axis_3d=false,
enhanced3d=true, palette=gray,
zrange=[-3,21],
explicit(x^2+y^2,x,-8,8,y,-8,8),
color=green,
implicit(x^2+y^2=9,x,-4,4,y,-4,4,z,-3,21)
);(%o61)
Usando wxMaxima 30
Ejemplo 3.14.
(%i51) draw3d(
xaxis=true,
enhanced3d=true, colorbox=false,
zrange=[-16,12],
implicit(x^2+y^2=z^2,x,-10,10,y,-10,10,z,-10,10),
parametric(10*cos(t),10*sin(t),2,t,0,2*%pi),
parametric(10*cos(t),10*sin(t),-15,t,0,2*%pi)
);(%o62)
Usando wxMaxima 31
Referencias
[1] Web: http://maxima.sourceforge.net/es/documentation.html
[2] Web: http://andrejv.github.io/wxmaxima/help.html
[3] Documentacion de wxMaxima: Maxima 5.24.0 Manual
[4] Web: http://riotorto.users.sourceforge.net/index.html
[5] Ipanaque Chero, R., Breve Manual de Maxima. Publicaciones eumed.net, Peru, 2010
[6] Haager W., Graphics with MAXIMA, 2011
[7] Web: www.wikipedia.org
[8] Web: www.google.com