Usando WxMaxima

31
Universidad de Costa Rica Escuela de Matem´ atica Prof. Miguel Walker Ure˜ na Dpto. Matem´ atica Aplicada MA-1003: C´ alculo 3 Ciclo 1-2014 Usando wxMaxima [ versi´ on 0.3’, compilado el 18/8/2014 ] Contenidos 1 alculo Simb´ olico con wxMaxima 2 1.1 Informaci´ on General ....................................... 2 1.2 Funcionamiento .......................................... 3 1.3 Operadores B´ asicas ........................................ 5 1.4 Constantes, referencias y formato num´ erico .......................... 6 1.5 Funciones B´ asicas ......................................... 8 1.6 Asignaciones y Funciones .................................... 9 1.7 Otras Funciones .......................................... 11 2 Matrices con wxMaxima 13 2.1 Inserci´ on de matrices ....................................... 13 2.2 Operaciones de matrices ..................................... 13 2.3 Manipulaci´ on de matrices .................................... 15 3 El paquete draw en wxMaxima 16 3.1 Introducci´ on ............................................ 16 3.2 Objetos b´ asicos del entorno draw2d ............................... 16 3.3 Opciones destacadas del entorno draw2d ............................ 20 3.4 Objetos b´ asicos del entorno draw3d ............................... 23 3.5 Opciones destacadas del entorno draw3d ............................ 26 Referencias 31

description

Manual de WxMaxima

Transcript of Usando WxMaxima

Page 1: 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

Page 2: Usando WxMaxima

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:

Page 3: Usando 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.

Page 4: Usando WxMaxima

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

Page 5: Usando WxMaxima

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

Page 6: Usando WxMaxima

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

Page 7: Usando WxMaxima

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

Page 8: Usando WxMaxima

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

Page 9: Usando WxMaxima

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

Page 10: Usando WxMaxima

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);

Page 11: Usando WxMaxima

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]

Page 12: Usando WxMaxima

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 ]

Page 13: Usando WxMaxima

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

]

Page 14: Usando WxMaxima

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

Page 15: Usando WxMaxima

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`

Page 16: Usando WxMaxima

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)

Page 17: Usando WxMaxima

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)

Page 18: Usando WxMaxima

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)

Page 19: Usando WxMaxima

Usando wxMaxima 19

Ejemplo 3.5.(%i42) draw2d(

points([[0,0]]),

parametric(3*cos(t),3*sin(t),t,0,2*%pi)

);(%o53)

Page 20: Usando WxMaxima

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

Page 21: Usando WxMaxima

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)

Page 22: Usando WxMaxima

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)

Page 23: Usando WxMaxima

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)

Page 24: Usando WxMaxima

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)

Page 25: Usando WxMaxima

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)

Page 26: Usando WxMaxima

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.

Page 27: Usando WxMaxima

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.

Page 28: Usando WxMaxima

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)

Page 29: Usando WxMaxima

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)

Page 30: Usando WxMaxima

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)

Page 31: Usando WxMaxima

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