Graficador en visual Basic 6.0
Graficator
Sergio Esteban velez conde
Politecnico central
Sistemas de comunicacin e informatica
Medellín
2007
Graficador en visual Basic 6.0
Graficator
Creado por:
Sergio Esteban velez conde
Bajo la direccion de:
Politecnico central
Sistemas de comunicacin e informatica
Medellín
2007
Nota de aceptacion
Firma del presidente del jurado
Firma de jurado
Firma de jurado
Firma de jurado Medellín 1 de diciembre de 2007
Contenido
Pag
INTRODUCCION 1 Antecedentes históricos del lenguaje de aplicación
2 Características Generales del programa con el que se desarrollo “graficator”
2.1 Creación de una interfaz de usuario:
2.2 Generación del código del programa:
3 descripcion de manejo de visual basic
3.1 metodos graficos
3.1.1 metodo Line
3.1.2 metodo pset
3.1.3 metodo point
4 Construccion de graficator
4.1 construccion de las aplicaciones de geometria
4.1.1 linea recta en el plano 4.1.2 Dos lineas rectas en el plano 4.1.3 Proyeccion y reflexion sobre la recta L1 4.1.4 Solucion de ecuaciones de primer grado con dos incognitas 4.1.5 Valores y vectores propios
4.2 construccion de las aplicaciones de precalculo
4.2.1 Trasformaciones de diversas funciones 4.2.2 Transforamaciones de la forma a(x^b)+c 4.2.3Transformaciones de la forma a(x+b)+c 4.2.4 Transforamaciones de la forma a*(raiz(x+b))+c
4.2.5 Transformaciones trigonometricas
5 colores en visual basic
BIBLIOGRAFIA
INTRODUCCION
Este trabajo fue una largo proceso de aprendizaje en la programacion mezclado con el
aprendizaje de las matematicas, lo que reflejé aquí fue una vision que un dia en especial se me
vino a la cabeza y me propuse a reallizarlo. Lo que deseo hacer es lo teorico grafico para
entender mejor el concepto que tal vez en una hoja dejamos muchas veces pasar por alto,
quiero convertir la matematica en un juego agradable que sea complementado con el analisis
en el papel, en relildad esta aplicación hecha tiene principalmente dos motivos: ir orientado a
los estudiantes bachilleres en el caso de la ejecucion del programa y mostrar como se hizo
esta aplicación en uno de los lenguajes de programacion mas faciles que existen.
Lista de figuras
Pág
Tabla 1......................................................................................................................
Tabla 2………………………………………………………………………………………
Tabla 3………………………………………………………………………………………
Tabla 4………………………………………………………………………………………
Tabla 5………………………………………………………………………………………
Tabla 6………………………………………………………………………………………
Tabla 7………………………………………………………………………………………
Tabla 8………………………………………………………………………………………
Tabla 9………………………………………………………………………………………
Tabla 10……………………………………………………………………………………..
Tabla 11……………………………………………………………………………………..
Tabla 12……………………………………………………………………………………..
Tabla 13…………………………………………………………………………………….
Tabla 14…………………………………………………………………………………….
Tabla 15…………………………………………………………………………………….
Tabla 16…………………………………………………………………………………….
Tabla 17…………………………………………………………………………………….
Tabla 18…………………………………………………………………………………….
Tabla 19…………………………………………………………………………………….
Tabla 20…………………………………………………………………………………….
Tabla 21…………………………………………………………………………………….
Tabla 22…………………………………………………………………………………….
Tabla 23…………………………………………………………………………………….
Tabla 24…………………………………………………………………………………….
Tabla 25…………………………………………………………………………………….
Tabla 26……………………………………………………………………………………
Tabla 27……………………………………………………………………………………
Tabla 28…………………………………………………………………………………..
Tabla 29………………………………………………………………………………….
Tabla 30……………………………………………………………………………………
Tabla 31……………………………………………………………………………………
Tabla 32……………………………………………………………………………………
Tabla 33……………………………………………………………………………………
Tabla 34…………………………………………………………………………………….
Tabla 35……………………………………………………………………………………..
Tabla 36…………………………………………………………………………………….
Tabla 37…………………………………………………………………………………….
Tabla 38…………………………………………………………………………………….
Tabla 39…………………………………………………………………………………….
Tabla 40…………………………………………………………………………………….
Tabla 41…………………………………………………………………………………….
Tabla 42…………………………………………………………………………………….
Antecedentes históricos del lenguaje de aplicación
Graficator fue diseñado en el lenguaje de programación Basic en una de sus versiones, (visual
Basic 6.0) primero que todo daré antecedentes históricos de este lenguaje y sus diversas
versiones antes de explicar en si como fue hecho esta aplicación propuesta,
El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instrucción Code ) nació
en el año 1964 como una herramienta destinado a principiantes, buscaba una forma de realizar
programas de la forma mas fácil posible, fue hecho en ingles y con instrucciones muy sencillas
y escasas, Su evolución fue muy escasa por los años setenta por lenguajes de alto nivel que le
quitaron auge.
En 1978 se definió una norma para unificar los Basic existentes llamada BASIC STANDARD.
En los años ochenta apareció una versión mas potente de Basic se llamo quick-Basic de
Microsoft que corregía los defectos de las versiones anteriores, pero paso inadvertida, ya que
el sistema operativo al mismo tiempo lanzo una versión con quick-Basic como un producto
competitivo estoy hablando de MS-DOS.
Esta versión del popular BASIC ya es un lenguaje estructurado, lo que permite crear programas
modularmente, mediante subrutinas y módulos, capaz de crear programas ya competitivos con
otros lenguajes de alto nivel. Sin embargo llegaba tarde, pues los entornos MS-DOS estaban
ya superados por el entorno gráfico Windows.
Pero apareció un producto BASIC que siguió siendo sencillo, añadiendo el entorno grafico de
Windows entre otras cosas. Se llamo VISUAL –BASIC deasorrollasdo por Alan cooper para
Microsoft y tras su lanzamiento al mercado con su primera versión en 1991, la aceptación a
nivel profesional hizo borrar por fin el "mal nombre" asociado a la palabra BASIC.
Su intención era de simplificar la programación utilizando un ambiente de desarrollo
completamente gráfico que facilitara la creación de interfaces gráficas y en cierta medida
también la programación misma. constituye un IDE (entorno de desarrollo integrado )que ha
sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código
(programa donde se escribe el código fuente), un depurador (programa que corrige errores en
el código fuente para que pueda ser bien compilado), un compilador (programa que traduce el
código fuente a lengua máquina), y un constructor de interfaz gráfica o GUI (es una forma de
programar en la que no es necesario escribir el código para la parte gráfica del programa, sino
que se puede hacerlo de forma visual).
Las versiones lanzadas desde su primera versión hasta hoy son:
La versión de Microsoft Visual Basic 1.0 para MS-DOS (ediciones Profesional y Estándar) menos difundida y que data de 1992. Era un entorno que, aunque en modo texto, incluía un diseñador de formularios en el que se podían arrastrar y soltar distintos controles. La versión 3.0, incluía ya una detallada biblioteca de componentes para toda clase de usos. La versión 4.0, apareció Durante la transición de Windows 3.11 a Windows 95, que podía generar programas de 16 y 32 bits a partir de un mismo código fuente, a costa de un gran aumento en el tamaño de los archivos "runtime" necesarios. Además, se sustituyen los controles VBX por los nuevos OCX. la versión 5.0, se implementó por primera vez la posibilidad de compilar a código nativo, obteniendo una mejora de rendimiento considerable, soportan características propias de los lenguajes orientados a objetos, La versión 6.0 soportan características propias de los lenguajes orientados a objetos, aunque careciendo de algunos ítems importantes como la herencia, el polimorfismo y la sobrecarga. La versión 6.0 continúa utilizándose masivamente. Las versiones actuales de Visual Basic se basan en la plataforma .NET la versión 7 del lenguaje fue implementada por Microsoft en el programa Visual Basic .NET y tiene muchas de las características del lenguaje original la versión 8 fue implementada en el programa Visual Basic 2005. Tienen muchas de las características del lenguaje original
2 Características Generales del programa con el que se desarrollo “graficator”
Visual-Basic 6.0 es una herramienta de diseño de aplicaciones para Windows, en la que estas
se desarrollan en una gran parte a partir del diseño de una interfaz gráfica. “Graficator” esta
formado por una parte de código, y otras partes asociadas a los objetos que forman la interfaz
gráfica (Llamo Objeto también al nombre dado a un control).
2.1 Creación de una interfaz de usuario:
Este es el primer paso para desarrollar a “graficator” ya que será la vía por la cual la maquina
se comunicara con el usuario y este con la maquina, tanto para la entrada de los datos como la
respuesta de este al usuario. Por eso es necesario partir de un formulario que comúnmente los
usuarios llaman ventana, aquí es donde Irán todos los controles necesarios para ejecución del
programa.
Tabla 1 Al insertar los controles necesarios se les da un nombre y unas propiedades, estos se convierten en objetos la cual llaman a un procedimiento, una función o un modulo mediante un evento (�lic, doble �lic, una tecla pulsada. Entre otros). En el caso de graficator se llamaran solo a procedimientos y diversos eventos.
Controles Propiedades de los controles
Tabla 2
Las propiedades de los controles definen las características del control seleccionado, si es una
propiedad escrita en código se identifica por tener la forma: Objeto.Propiedad = Valor
2.2 Generación del código del programa:
Un programa puede hacerse con la programación de los distintos procedimientos que
acompañan a cada control. Sin embargo, VB ofrece la posibilidad de establecer un código de
programa separado de estos eventos. Este código puede introducirse en unos bloques
llamados Funciones, y otros llamados Procedimientos.
Tabla 3
3 descripcion de manejo de visual basic El primer objeto con el que nos encontramos al abrir visual Basic es el formulario que tiene por defecto el nombre de form1, este lo vamos a cambiar por frmgraficador, este formulario no va servir como contenedor de otros controles para desarrollar el graficador.
Tabla 4
Antes de darle las propiedades a los diversos controles les explicare para que sirve las propiedades que fueron utilizadas en graficator, además los métodos que utilizamos para poder obtener estas graficas antes de generar el código fuente. Propiedades del formulario principal Name Nombre Define al objeto durante la ejecución del programa. Caption Título Es el texto que aparecerá en la barra de Título al ingresar a este formulario. . MinButton y MaxButton Botones de minimizar y maximizar el graficador. admiten el valor True o False. BorderStyle Tipo de borde Define el tipo de borde que tendrá el formulario durante la ejecución. en graficator sera 2-Sizable su borde sera grueso, y se podrá cambiar su tamaño en tiempo de ejecución mediante los botones de maximizar y minimizar, y mediante el arrastre de uno de los bordes con el ratón. Appearance Apariencia Graficator tendra la propiedad (3D), el formulario aparecerá con cierto efecto tridimensional, y los controles que le introduzcamos a este formulario aparecerán como esculpidos dentro de él. Backcolor Color del fondo Establece el color del fondo del formulario. DrawStyle Establece el estilo de línea de la salida de métodos gráficos: Valores: 0 - Línea continua 1 - Rayas 2 - Puntos 3 - Raya-Punto 4 - Raya - Punto - Punto 5 - Transparente 6 - Continuo interior. Font Tipo de letra Especifica el tipo y tamaño de la letra que se usará en el formulario. FontSize Tamaño de letra Establece el tamaño de la letra. Height Altura Define la altura del formulario.
Icon Icono Esta propiedad define el icono que va a representar a este formulario cuando esté minimizado. Left Borde Izquierdo Indica la posición del borde izquierdo del formulario. ScaleHeight, ScaleWidth, ScaleMode Indican la unidad de medida de dimensión de altura y anchura del Formulario. ScaleMode indica en qué unidades de medida se van a medir esas dimensiones. . ScaleLeft, ScaleTop Expresan las coordenadas iniciales de la parte izquierda y de la parte superior respectivamente del Formulario.
Top Posición del borde superior Esta propiedad establece la posición del borde superior del formulario. Width Ancho Define la anchura del formulario. Juntamente con Height define el tamaño del formulario.. WindowState Establece el estado en el que aparecerá el formulario cuando se activa y presenta en pantalla. Admite tres opciones: 0 - Normal El formulario recupera la posición y tamaño que tenía en el tiempo de diseño. 1 - Minimizado El formulario aparece minimizado, representado por su icono. 2 - Maximizado El formulario aparece maximizado, ocupando toda la pantalla.
Los controles y sus propiedades que insertaremos en el formulario de graficator son:
Etiquetas (label) Esta etiquetas se utilizan generalmente para dos fines:
• Escribir texto en el formulario
• Mostrar resultados
Propiedades: Backcolor Color de fondo
Es el color de fondo de la etiqueta.
BackStyle Tipo de fondo
Opaco o transparente. Cuando se selecciona transparente, se ve solamente el texto de la
etiqueta. Cuando se selecciona opaco, este texto se vé sobre un fondo gris.
BorderStyle Tipo de borde
Sin borde o con borde.
Caption Título
Es el texto de la etiqueta.
. Font Fuente
Es el tipo de letra para el título. Name Nombre
Es el nombre de la etiqueta con el que se le conocerá a lo largo del programa
Cuadros de texto (textbox)
• Leer valores
• Mostrar resultados tal como las etiquetas, pero en este caso facilita la posibilidad de copiar y pegar.
Propiedades: . Backcolor: Color de fondo
Es el color de fondo de la caja de texto.
BorderStyle: Tipo de borde
Sin borde o con borde. Enabled: Habilitado
Propiedad Booleana que habilita o deshabilita la etiqueta ,Cuando está deshabilitado (Enabled
= False), no tienen efecto los eventos que se produzcan sobre el TextBox.
Name: Nombre
Es el nombre de la caja de texto con el que se le conocerá a lo largo del programa
TabIndex Nº de orden para obtener el foco
esta propiedad marca el orden en el que le llegará el foco al pulsar la tecla TAB
Visible: Visible
Propiedad Booleana. Si es true, la caja de texto se ve, si es False no se ve
Botones de comando (commandbuton): Su finalidad es de generar acciones cuando se hace clic sobre ellos , el evento principal es el evento clic.
Propiedades:
Name: Nombre
Es el nombre que define a este objeto. El nombre por defecto es Command1, Command2, etc.
Caption: Título
Es el texto que aparece en el botón.
Appearance: Apariencia
Determina la forma del botón. Admite los valores de Flat (Plano) y 3D.
Backcolor: Color de fondo
Es el color de un pequeño cuadrado que aparece rodeando el título,
Enabled: Habilitado
Propiedad Booleana que habilita o deshabilita el botón. Cuando está deshabilitado (Enabled =
False), el botón no tiene efecto, y su apariencia varía, presentando un tono pálido tanto en su
cuerpo como en su título. Font: Fuente
Es el tipo de letra para el título. Puede TabIndex Nº de orden para obtener el foco
esta propiedad marca el orden en el que le llegará el foco al pulsar la tecla TAB
Visible : Visible
Propiedad Booleana. Si es true, el botón se ve, si es False el botón no se ve..
Combobox (cuadro combinado)
Este control combina las posibilidades de una lista con un cuadro de texto, de manera que
presenta la posibilidad de elegir de una lista un elemento de interés, en graficator aparece
cuando se da a escoger cual funcion trigonometrica se desea graficar.
ListCount - Indica el número de elementos que tiene la lista
ListIndex - Indica el número de orden del elemento seleccionado dentro de la lista.
AddItem - Añade un elemento a la lista.
RemoveItem - Elimina un elemento de la lista.
Text - Obtiene el elemento seleccionado.
List (n) - Obtiene el elemento cuyo orden dentro de la lista es n.
HScrollBar y VScrollBar
Son dos controles similares, para introducir un dato cuasi-analógico en una aplicación. El
HScrollBar está en posición horizontal, y el VScrollBar en posición vertical.
Propiedades: Max
Esta propiedad establece el valor máximo para la propiedad Value, es decir, el valor de esta
propiedad cuando el cursor está en su parte máxima.
Min
Esta propiedad establece el valor mínimo para la propiedad Value, es decir, el valor de esta
propiedad cuando el cursor está en su parte mínima.
SmallChange
Esta propiedad establece la variación de la propiedad Value cada vez que se hace click en las
flechas superior o inferior de la barra de desplazamiento.
Value
Esta propiedad lee o establece el valor dado por la posición del cursor. Este valor tiene un
mínimo, establecido por Min y un máximo, establecido por Max. Esta propiedad es la que se
debe leer para conocer la posición del cursor.
Picturebox ( cuadro de imagen ): Los controles picturebox se utilizaron mara mostrar mediante los metodos graficos crear los graficos de funciones trigonometricas. Tambien lo utilizamos para que sirviera como contenedor de otros controles. Los Métodos Gráficos: En el control PictureBox se realizo el graficador de funciones trigonometricas ya que utilizamos el formulario principal como graficador de las demas funciones y graficas geometricas.
• Puntos: Se realizan mediante el método Pset:
Objeto.Pset (X,Y), [color] Donde el Objeto es el nombre en este caso del picturebox.
• Líneas: Se utiliza el método Line:
Objeto.Line (X1,Y1)-(X2,Y2), [color]
Donde X1 y Y1 son las coordenadas del punto inicial y X2 y Y2 las del punto final, el color es opcional.
3.1 metodos graficos Los metodos graficos fueron aquellas acciones que nos permitieron dibujar o representar graficos, analizarlos y borrarlos, los metodos graficos que dispones visual Basic y utilizamos fueron: Line, Point y PSet. 3.1.1 metodo Line Con este metodo dibujamos llineas mas que todo para representar el plano cartesiano, vectores directores y algunas rectas. Aunque con este metodo tambien se puede representar rectagulo y muchas figuras geometricas. Este metodo se ejecuto en el formulario principal y tambien en un picturebox un control que sirvio de contenedor para representar las funciones trigonometricas. Sintaxis 1 objeto.Line (x1, y1) - (x2, y2), color (Con esta sintaxis trazará una línea desde las coordenadas absolutas x1,y1 (origen) a las coordenadas también absolutas x2,y2. El color de la línea será el especificado en color. Sintaxis 2 objeto.Line (x1,y1) - Step (x2,y2), color objeto.Line (x1,y1) - (x1+x2, y1+y2), color (Con estas sintaxis se trazará una línea desde las coordenadas absolutas x1,y1 hasta las coordenadas relativas a (x1,y1), x2,y2. Es decir, al poner la palabra Step (paso) antes de las coordenadas finales, le estamos indicando que las coordenadas que siguen a Step son relativas. Sintaxis 3 objeto.Line Step (x1,y1) - Step (x2,y2), color Con esta expresión trazará una línea entre las coordenadas relativas (x1, y1), y las coordenadas relativas (x2,y2). En estas expresiones, las coordenadas estarán especificadas en las unidades de medida determinadas por las propiedades ScaleMode o ScaleWidth / ScaleHeight del objeto.
3.1.2 metodo pset Asigna a un punto de un objeto un color especificado. El objeto en graficator es el formulario principal o un picturebox que contendra un metodo grafico. Su sintaxis es: objeto.PSet (x, y), Color ó objeto.PSet Step (x, y), Color
3.1.3 metodo point Devuelve, como entero Long, el color rojo - verde - azul (RGB) del punto especificado en el formulario principal o picturebox donde estaran los planos cartesianos pero sera invocado en las aplicaciones que tiene graficator. Sintaxis objeto.Point(x, y) x, y Parámetro requerido. Valores Single que indican las coordenadas horizontal (eje x) y vertical (eje y) del punto según la propiedad ScaleMode del formulario principal o control PictureBox.
4 Construccion de graficator
Teniendo todos estos conceptos claros vamos a proceder a construir tan mencionando
graficator; Nuestra meta es llegara a hacer un graficador que ayude a estudiantes de
bachillerato y talves algunos que esten comenzando la universidad, la interfaz de entrada al
usuario seria el siguiente:
Tabla 5
bueno vamos a comenzar a desarrollar esta apllicacion que se ve muy interesante al espectador, primero que todo vamos a entrar al programa que permitira desarrollarla y nos encontraremos con los siguiente :
Tabla 6
Lo que vamos a hacer es una aplicación en entorno Windows por esto daremos clic en EXE estandar que generara un formulario. En este formulario modificaremos sus propiedades y le agregaremos diversos controles, en el caso de graficator todos los controles los contendra un solo formulario que lleva por nombre frmgraficador. Las propiedades del formulario son las siguientes: Begin VB.Form fmrgraficator
BackColor = &H80000007& (negro) Caption = "Form1" ClientHeight = 10815 ClientLeft = 195 ClientTop = 390 ClientWidth = 14880 Icon = (Icono) MinButton = 0 'False ScaleHeight = 14000 ScaleMode = 0 'User ScaleWidth = 14000
Tabla 7 Al dar las propiedades pertinentes y necesarias al formulario que contendra todos los controles, se procedera a generar el codigo en los bloques que genera visual Basic al dar dobleclick a un control. Primero que todo generaremos el codigo para hacer el plano cartesiano que contendra las graficas.
Tabla 8
Const XMIN = -15, XMAX = 15, YMIN = -15, YMAX = 15
Private Sub Form_Resize()
Scale Left = XMIN
Scale Top = YMAX + 4
Scale Width = (XMAX - XMIN)
Scale Height = - (YMAX - YMIN)
Refresh
End Sub
Private Sub Form_Paint()
DrawStyle = 0
Dim xcelda As Single
Dim ycelda As Single
ForeColor = vbBlue
For xcelda = -15 To 15 Step 0.5
Line (XMIN, xcelda)-(XMAX, xcelda)
Next
ForeColor = vbBlue
For ycelda = -15 To 15 Step 0.5
Line (ycelda, YMIN)-(ycelda, YMAX)
Next
ForeColor = vbGreen
Line (0, YMIN)-(0, YMAX)
ForeColor = vbWhite
For ycelda = -15 To 15 Step 1
Line (0 - 0.2, ycelda + 0.3)-(0 - 0.2, ycelda + 0.3)
Font.Size = 8
MSG = ycelda
Print MSG
Next
ForeColor = vbGreen
Line (XMIN, 0)-(XMAX, 0)
ForeColor = vbWhite
For xcelda = -15 To 15 Step 1
Line (xcelda - 0.2, 0 + 0.3)-(xcelda - 0.2, 0 + 0.3)
Font.Size = 8
MSG2 = xcelda
Print MSG2
Next
End Sub
Este es el resultado de lo hecho anteriormente (tabla 9), se puede visualizar un plano cartesiano con un espacio en la parte superior, que es donde ira un picturebox que contendra los diversos controles para la ejecucion del programa. Tenga en cuenta que hay ejecutarlo para ver este avance.
Tabla 9 Despues de generar el codigo para visualizar el plano cartesiano, Vamos entonces a proceder a colocar los botones que nos llevara a la aplicacion deseada, que estaran en tres picturebox que servira como contenedor. Y estos a su vez dentro de otro Picturebox. Que es el ocupara el espacio vacio en la visualizacion anterior. Lo que haremos es que jugaremos con la propieda visible para esconder o mostrar botones dando click a otro boton. En el caso de graficator los botones principales son: el boton geometría y el boton calculo, dando click a cualquiera de estos se desplegara una lista con otros botones, que daran entrada a aplicaciones graficas que ofrece graficator.
Tabla 10
Tabla 11
Conjunta mente se llevara a cabo la tarea arrastrar los controles a cada una de las aplicaciones de graficator que estaran contenidas encima de Picturebox que tambien se mostraran o escondera activando un boton de la lista que despliega gemetria o calculo, Tambien colocaremos otros dos picturebox para crear la interfaz del plano cartesiano para la aplicacones trigonometricas y la interfaz de entrada, que a su vez contendra otro picturebox para hacer una especia de barra que mostrara el boton cerrar y la hora.
Tabla 12
Para efecto de comprensión se comenzara primero por especificar las propiedades de todos los controles y la generacion de codigo excepto, los que estan contenidos en los picturebox que serviran para la ejecución de cada una de las apllicaciones de graficator, Teniendo esto claro vamos a comenzar por dar las propiedades de los controles que aquí se mencionan: Begin VB.PictureBox Picture1 AutoSize = -1 'True TabIndex = 0 Begin VB.Frame Framecontenedorcolor TabIndex = 28 Visible = 0 'False Begin VB.PictureBox pctgeometriavalorpropio Appearance = 0 'Flat BackColor = &H80000015& BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 27 Visible = 0 'False Begin VB.PictureBox pctgeometriamatricez Appearance = 0 'Flat BackColor = &H80000015& BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 26 Visible = 0 'False Begin VB.PictureBox pctgeometriaproyeccionyreflexiion Appearance = 0 'Flat BackColor = &H80000015& BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 25 Visible = 0 'False Begin VB.PictureBox pctbarratransformaciones
BackColor = &H00FF0000& TabIndex = 20 Visible = 0 'False Begin VB.CommandButton cmdcalculotransformacion2 Caption = "a(x+b)^c+d" TabIndex = 24 Begin VB.CommandButton cmdcalculotransformacion3 Caption = "a*raiz(x+b)+c" TabIndex = 23 Begin VB.CommandButton cmdcalculotransformaciontrigonometricas Caption = "trigonometricas" TabIndex = 22 Begin VB.CommandButton cmdcalculotransformacion1 Caption = "a(x+b)+c" TabIndex = 21 Begin VB.PictureBox pctbarracalculo BackColor = &H80000007& TabIndex = 17 Visible = 0 'False Begin VB.CommandButton cmdcalculograficasdefunciones Caption = "ax^n+bx^(n-1)+c" TabIndex = 19 Visible = 0 'False Begin VB.CommandButton cmdcalculotransformaciones Caption = "transformaciones" TabIndex = 18 Visible = 0 'False Begin VB.PictureBox pctbarrageometria BackColor = &H000000C0& TabIndex = 11 Visible = 0 'False Begin VB.CommandButton cmdgeometriarectasenelplano Caption = " linea recta en el plano" TabIndex = 16 Visible = 0 'False Begin VB.CommandButton cmdgeometriaproyeccionyreflexion Caption = "Pu(x) y Su(x) " TabIndex = 15 Visible = 0 'False Begin VB.CommandButton cmdgeometriaboton3 Caption = "solucion de ecuacjones 1`" TabIndex = 14 Visible = 0 'False Begin VB.CommandButton cmdgeometrialinearectaenelplano Caption = " linea recta en el plano " TabIndex = 13 Visible = 0 'False Begin VB.CommandButton cmdgeometriaboton5 Caption = "valor y vector propio" TabIndex = 12 Visible = 0 'False Begin VB.PictureBox pctgeometriarectasenelplano Appearance = 0 'Flat BackColor = &H80000015& BorderStyle = 0 'None Name = "Calibri" ForeColor = &H80000008& TabIndex = 9 Visible = 0 'False Begin VB.PictureBox Picture2 Appearance = 0 'Flat BackColor = &H80000015& BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 10 Begin VB.PictureBox pctcalculotransformacion2 Appearance = 0 'Flat
BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 8 Visible = 0 'False Begin VB.PictureBox pctcalculograficasdefunciones Appearance = 0 'Flat BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 7 Visible = 0 'False Begin VB.PictureBox pctcalculotransformacionestrigonometricas Appearance = 0 'Flat BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 6 Visible = 0 'False Begin VB.PictureBox pctcalculotransformacion3 Appearance = 0 'Flat BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 5 Visible = 0 'False Begin VB.PictureBox pctgeometrialinearectaenelplano Appearance = 0 'Flat BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 4 Visible = 0 'False Begin VB.PictureBox pctcalculotransformacion1 Appearance = 0 'Flat ForeColor = &H80000008& TabIndex = 3 Visible = 0 'False Begin VB.CommandButton cmdgeometria Caption = "geometria" TabIndex = 2 Begin VB.CommandButton cmdcalculo BackColor = &H8000000A& Caption = "calculo" MaskColor = &H80000002& TabIndex = 1 Begin VB.PictureBox pctplanocartesianotrigonometricas AutoSize = -1 'True BackColor = &H80000007& TabIndex = 4 Visible = 0 'False Begin VB.CommandButton Command12 Caption = "borrar" TabIndex = 5 Begin VB.PictureBox principal AutoRedraw = -1 'True AutoSize = -1 'True BackColor = &H00FFC0C0& OLEDropMode = 1 'Manual Picture = (Mapa de bits) TabIndex = 0 Begin VB.PictureBox Picture6 AutoSize = -1 'True TabIndex = 1 Top = 0 Begin VB.Timer Timer1 Interval = 1000 Begin VB.CommandButton cmdcerrar BackColor = &H00C0C0C0& Caption = "cerrar" TabIndex = 2 Begin VB.Label lblhora
BorderStyle = 1 'Fixed Single BeginProperty Font Name = "Calibri" TabIndex = 3
Teniendo todo esto hecho se generara el codigo para que todas estas acciones descritas se ejecuten:
Private Sub cmdcalculo_Click()
If pctbarracalculo.Visible = False Then
pctbarrageometria.Visible = False
pctbarratransformaciones.Visible = False
pctbarracalculo.Visible = True
cmdgeometrialinearectaenelplano.Visible = False
cmdgeometriarectasenelplano.Visible = False
cmdgeometriaboton3.Visible = False
cmdgeometriaproyeccionyreflexion.Visible = False
cmdgeometriaboton5.Visible = False
Framecontenedorcolor.Visible = True
cmdcalculograficasdefunciones.Visible = True
cmdcalculotransformaciones.Visible = True
cmdcalculotransformacion1.Visible = True
cmdcalculotransformacion3.Visible = True
cmdcalculotransformaciontrigonometricas.Visible = True
principal.Visible = True
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
principal.Visible = True
Else
pctgeometriamatricez.Visible = False
pctbarrageometria.Visible = False
pctbarratransformaciones.Visible = False
pctbarracalculo.Visible = False
cmdgeometrialinearectaenelplano.Visible = False
cmdgeometriarectasenelplano.Visible = False
cmdgeometriaboton3.Visible = False
cmdgeometriaproyeccionyreflexion.Visible = False
cmdgeometriaboton5.Visible = False
Framecontenedorcolor.Visible = False
cmdcalculograficasdefunciones.Visible = False
cmdcalculotransformaciones.Visible = False
cmdcalculotransformacion1.Visible = False
cmdcalculotransformacion3.Visible = False
cmdcalculotransformaciontrigonometricas.Visible = False
principal.Visible = True
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriavalorpropio.Visible = False
principal.Visible = True
End If
End Sub
Private Sub cmdgeometriaboton3_Click()
frmgraficador.Refresh
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = True
pctgeometriavalorpropio.Visible = False
End Sub
Private Sub cmdgeometriaboton5_Click()
frmgraficador.Refresh
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = True
End Sub
Private Sub cmdcalculotransformaciones_Click()
If pctbarratransformaciones.Visible = False Then
pctbarrageometria.Visible = False
pctbarratransformaciones.Visible = True
pctbarracalculo.Visible = True
cmdgeometrialinearectaenelplano.Visible = False
cmdgeometriarectasenelplano.Visible = False
cmdgeometriaboton3.Visible = False
cmdgeometriaproyeccionyreflexion.Visible = False
cmdgeometriaboton5.Visible = False
cmdcalculograficasdefunciones.Visible = True
cmdcalculotransformaciones.Visible = True
cmdcalculotransformacion1.Visible = True
cmdcalculotransformacion3.Visible = True
cmdcalculotransformaciontrigonometricas.Visible = True
pctplanocartesianotrigonometricas.Visible = False
principal.Visible = True
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
principal.Visible = True
Else
pctbarrageometria.Visible = False
pctbarratransformaciones.Visible = False
pctbarracalculo.Visible = True
cmdgeometrialinearectaenelplano.Visible = False
cmdgeometriarectasenelplano.Visible = False
cmdgeometriaboton3.Visible = False
cmdgeometriaproyeccionyreflexion.Visible = False
cmdgeometriaboton5.Visible = False
cmdcalculograficasdefunciones.Visible = True
cmdcalculotransformaciones.Visible = True
cmdcalculotransformacion1.Visible = True
cmdcalculotransformacion3.Visible = True
cmdcalculotransformaciontrigonometricas.Visible = True
principal.Visible = True
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
principal.Visible = True
End If
End Sub
Private Sub cmdcalculograficasdefunciones_Click()
Refresh
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = True
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctbarratransformaciones.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
End Sub
Private Sub cmdgeometrialinearectaenelplano_Click()
frmgraficador.Refresh
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = True
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
End Sub
Private Sub cmdgeometriaproyeccionyreflexion_Click()
frmgraficador.Refresh
pctgeometriaproyeccionyreflexiion.Visible = True
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
End Sub
Private Sub cmdgeometriarectasenelplano_Click()
frmgraficador.Refresh
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = True
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
End Sub
Private Sub cmdgeometria_Click()
If pctbarrageometria.Visible = False Then
pctbarrageometria.Visible = True
pctbarratransformaciones.Visible = False
pctbarracalculo.Visible = False
cmdgeometrialinearectaenelplano.Visible = True
cmdgeometriarectasenelplano.Visible = True
cmdgeometriaboton3.Visible = True
cmdgeometriaproyeccionyreflexion.Visible = True
cmdgeometriaboton5.Visible = True
Framecontenedorcolor.Visible = True
cmdcalculograficasdefunciones.Visible = False
cmdcalculotransformaciones.Visible = False
cmdcalculotransformacion1.Visible = False
cmdcalculotransformacion3.Visible = False
cmdcalculotransformaciontrigonometricas.Visible = False
principal.Visible = True
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
principal.Visible = True
Else
pctgeometriamatricez.Visible = False
pctbarrageometria.Visible = False
pctbarratransformaciones.Visible = False
pctbarracalculo.Visible = False
cmdgeometrialinearectaenelplano.Visible = False
cmdgeometriarectasenelplano.Visible = False
cmdgeometriaboton3.Visible = False
cmdgeometriaproyeccionyreflexion.Visible = False
cmdgeometriaboton5.Visible = False
cmdcalculograficasdefunciones.Visible = False
Framecontenedorcolor.Visible = False
cmdcalculotransformaciones.Visible = False
cmdcalculotransformacion1.Visible = False
cmdcalculotransformacion3.Visible = False
cmdcalculotransformaciontrigonometricas.Visible = False
principal.Visible = True
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriavalorpropio.Visible = False
principal.Visible = True
End If
End Sub
Private Sub cmdcalculotransformacion1_Click()
frmgraficador.Refresh
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = True
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
End Sub
Private Sub cmdcalculotransformacion2_Click()
frmgraficador.Refresh
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = True
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
End Sub
Private Sub cmdcalculotransformacion3_Click()
frmgraficador.Refresh
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = False
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = True
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = False
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
End Sub
Private Sub cmdcalculotransformaciontrigonometricas_Click()
pctplanocartesianotrigonometricas.Refresh
pctgeometriaproyeccionyreflexiion.Visible = False
pctgeometriarectasenelplano.Visible = False
pctcalculotransformacionestrigonometricas.Visible = True
pctcalculograficasdefunciones.Visible = False
pctcalculotransformacion2.Visible = False
pctgeometrialinearectaenelplano.Visible = False
pctcalculotransformacion1.Visible = False
pctcalculotransformacion3.Visible = False
principal.Visible = False
pctplanocartesianotrigonometricas.Visible = True
pctgeometriamatricez.Visible = False
pctgeometriavalorpropio.Visible = False
End Sub
Lo que generamos con este algoritmo es el de tener dos botones principales uno llamado geometia y otro calculo, el de geometria desprede cinco botones mas y el de calculo un boton y otro llamodo transformaciones que llama a otros cuatro. Estos botones hacen visible a unos picturebox que normalmente estan en estado invisible. Pero la condicion es que si yo presiono un boton no me muestre los controles de otras aplicaciones que se invocan con otros botones y por ejemplo si estoy en un boton de geometria y presiono un boton de calculo los de geometria se escondan.
Tabla 13
Private Sub pctplanocartesianotrigonometricas_Paint()
pctplanocartesianotrigonometricas.ScaleLeft = -10
pctplanocartesianotrigonometricas.ScaleTop = 10
pctplanocartesianotrigonometricas.ScaleWidth = 20
pctplanocartesianotrigonometricas.ScaleHeight = -20
Dim xcelda As Single
Dim ycelda As Single
pctplanocartesianotrigonometricas.ForeColor = vbBlue
For xcelda = -10 To 10 Step 0.5
pctplanocartesianotrigonometricas.Line (-10, xcelda)-(10, xcelda)
Next
pctplanocartesianotrigonometricas.ForeColor = vbBlue
For ycelda = -15.708 To 15.708 Step (3.1416 / 4)
pctplanocartesianotrigonometricas.Line (ycelda, -10)-(ycelda, 10)
Next
pctplanocartesianotrigonometricas.ForeColor = vbGreen
pctplanocartesianotrigonometricas.Line (0, -10)-(0, 10)
pctplanocartesianotrigonometricas.ForeColor = vbWhite
For ycelda = -10 To 10 Step 1
pctplanocartesianotrigonometricas.Line (0 - 0.2, ycelda + 0.3)-(0 - 0.2, ycelda + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG = ycelda
pctplanocartesianotrigonometricas.Print MSG
Next
pctplanocartesianotrigonometricas.ForeColor = vbGreen
pctplanocartesianotrigonometricas.Line (-10, 0)-(10, 0)
pctplanocartesianotrigonometricas.ForeColor = vbWhite
pctplanocartesianotrigonometricas.PSet (0 + 3.1416, 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "pi"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 + (3.1416 * 2), 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "2pi"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 + (3.1416 * 3), 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "3pi"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 - 3.1416, 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "-pi"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 - (3.1416 * 2), 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "-2pi"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 - (3.1416 * 3), 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "-3pi"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 + 3.1416 / 2, 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "pi/2"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 + (3.1416 / 2 * 3), 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "3/2pi"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 + (3.1416 / 2 * 5), 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "5/2pi"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 - 3.1416 / 2, 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "-pi/2"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 - (3.1416 / 2 * 3), 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "-3/2pi"
pctplanocartesianotrigonometricas.Print MSG2
pctplanocartesianotrigonometricas.PSet (0 - (3.1416 / 2 * 5), 0 + 0.3)
pctplanocartesianotrigonometricas.Font.Size = 8
MSG2 = "-5/2pi"
pctplanocartesianotrigonometricas.Print MSG2
End Sub
Lo que hicimos con este algoritmo es hacer otro plano cartesiano pero ideal para funciones trigonometricas ya que el formulario principal los dos ejes van con un paso de numeros enteros y este en el eje x va con un paso de π/2, este plano cartesiano esta hecho encima de un objeto llamado pctplanocartesiano que simplemente es un picturebox que nos sirvio de contenedor de este metodo grafico. Aquí podemos visualizar como es el plano cartesiano llamado por el boton trigonometricas desplegado del boton calculo.
Tabla 15
Private Sub cmdcerrar_Click()
End
End Sub
Private Sub Timer1_Timer() lblhora.Caption = Time End Sub
Tabla 16 Ya concluido la fase de nombrar y generar el codigo a todos los objetos ingresados anteriormente, vamos a la siguiente fase que es el de arrastrar los controles necesarios a los picturebox que me serviran como contenedores de cada una de las aplicaciones que ofrece graficator y generar su codigo pero Para comprender mejor como se elaboran y funciona cada una de las aplicaciones de graficator se estudiaran por separado y aquí comenzaremos con la siguiente: 4.1 construccion de las aplicaciones de geometría 4.1.1 linea recta en el plano
Tabla 17
Esta aplicacion que ofrece graficator nos permite graficar una recta generada por un punto y un vector director en el plano cartesiano, genera un vector ortogonal a la recta (la recta normal). Es una aplicación diseñada para ayudar a los estudiantes bachilleres a comprender mejor este concepto pertececinte a la geometria vectoria y analitica. Los controles y propiedades de esta aplicación son:
Begin VB.PictureBox pctgeometrialinearectaenelplano Appearance = 0 'Flat BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 0 Visible = 0 'False Begin VB.CommandButton cmdgraficargeometrialinearectaenelplano Caption = "graficar" TabIndex = 9 Begin VB.TextBox txtgeometriavectordirectorx Enabled = 0 'False TabIndex = 8 Text = "1" Begin VB.TextBox txtgeometriapuntox Enabled = 0 'False TabIndex = 7 Text = "0" Begin VB.TextBox txtgeometriavectordirectory Enabled = 0 'False TabIndex = 6 Text = "1" Begin VB.TextBox txtgeometriapuntoy Enabled = 0 'False TabIndex = 5 Text = "0" Begin VB.VScrollBar VSbgeometriapuntoy Max = -15 Min = 15 TabIndex = 4 Begin VB.VScrollBar VSbgeometriapuntox Max = -15 Min = 15 TabIndex = 3 Begin VB.VScrollBar VSbgeometriavectordirectory Max = -15 Min = 15 TabIndex = 2 Begin VB.VScrollBar VSbgeometriavectordirectorx Max = -15 Min = 15 TabIndex = 1 Begin VB.Label Label3 Caption = "t" Name = "MS Sans Serif" TabIndex = 13 Begin VB.Label Label4 Caption = "( )=" Name = "MS Sans Serif" TabIndex = 12 Begin VB.Label lblx Caption = "x" Name = "MS Sans Serif" Index = 4 TabIndex = 11 Begin VB.Label lbly Caption = "y" Name = "MS Sans Serif" TabIndex = 10
Private Sub cmdgraficargeometrialinearectaenelplano_Click()
Refresh
For u = -20 To 20 Step 0.01
DrawWidth = 2
Font.Size = 12
Line (0, 0)-(txtgeometriavectordirectorx, txtgeometriavectordirectory)
MSG = "D"
Print MSG
Line (txtgeometriapuntox, txtgeometriapuntoy)-(Val(txtgeometriapuntox.Text) +
Val(txtgeometriavectordirectorx.Text), Val(txtgeometriavectordirectory.Text) +
Val(txtgeometriapuntoy.Text))
DrawWidth = 5
Font.Size = 30
PSet (txtgeometriavectordirectorx, txtgeometriavectordirectory)
ForeColor = vbGreen
PSet (txtgeometriapuntox, txtgeometriapuntoy)
ForeColor = pctcolorl1.BackColor
PSet (Val(txtgeometriapuntox.Text) + Val(txtgeometriavectordirectorx.Text),
Val(txtgeometriavectordirectory.Text) + Val(txtgeometriapuntoy.Text))
DrawWidth = 1
Font.Size = 12
X = txtgeometriapuntox + txtgeometriavectordirectorx * u
Y = txtgeometriapuntoy + txtgeometriavectordirectory * u
msg3 = "L1"
Print msg3
PSet (X, Y)
ForeColor = vbRed
Line (0, 0)-(-txtgeometriavectordirectory, txtgeometriavectordirectorx)
MSG2 = "N"
Print MSG2
PSet (-txtgeometriavectordirectory, txtgeometriavectordirectorx)
ForeColor = vbWhite
Next
End Sub
Private Sub VSbgeometriapuntox_Change()
txtgeometriapuntox.Text = VSbgeometriapuntox.Value
End Sub
Private Sub VSbgeometriapuntoy_Change()
txtgeometriapuntoy.Text = VSbgeometriapuntoy.Value
End Sub
Private Sub VSbgeometriavectordirectorx_Change()
txtgeometriavectordirectorx.Text = VSbgeometriavectordirectorx.Value
End Sub
Private Sub VSbgeometriavectordirectory_Change()
txtgeometriavectordirectory.Text = VSbgeometriavectordirectory.Value
End Sub
Tabla 18
4.1.2 Dos lineas rectas en el plano
Tabla 19
Esta aplicación genera dos rectas llamadas L1 y L2 dando un punto y un vector director de cado una de ellas, las grafica y ademas de esto da la ecuación en forma general de cada una de ellas y determina si son paralelas y si son ortogonales (`perpendiculares). Begin VB.PictureBox pctgeometriarectasenelplano Appearance = 0 'Flat BackColor = &H80000015& BorderStyle = 0 'None BeginProperty Font Name = "Calibri" ForeColor = &H80000008& TabIndex = 0 Visible = 0 'False Begin VB.PictureBox Picture2 Appearance = 0 'Flat BackColor = &H80000015& BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 8 Begin VB.TextBox Txtgeometriavectordirectorxl1 Enabled = 0 'False TabIndex = 24 Text = "1" Begin VB.TextBox Txtgeometriapuntoxl1 Enabled = 0 'False TabIndex = 23 Text = "0"
Begin VB.TextBox Txtgeometriavectordirectoryl1 Enabled = 0 'False TabIndex = 22 Text = "1" Begin VB.TextBox txtgeometriapuntoyl1 Enabled = 0 'False TabIndex = 21 Text = "0" Begin VB.VScrollBar VSbgeometriapuntoyl1 Max = -15 Min = 15 TabIndex = 20 Begin VB.VScrollBar VSbgeometriapuntoxl1 Max = -15 Min = 15 TabIndex = 19 Begin VB.VScrollBar VSbgeometriavectordirectoryl1 Max = -15 Min = 15 TabIndex = 18 Begin VB.VScrollBar VSbgeometriavectordirectorxl1 Max = -15 Min = 15 TabIndex = 17 VB.VScrollBar VSbgeometriapuntoxl2 Max = -15 Min = 15 TabIndex = 16 Begin VB.VScrollBar VSbgeometriapuntoyl2 Max = -15 Min = 15 TabIndex = 15 Begin VB.TextBox Txtgeometriapuntoxl2 Enabled = 0 'False TabIndex = 14 Text = "0" Begin VB.TextBox Txtgeometriapuntoyl2 Enabled = 0 'False TabIndex = 13 Text = "0" Begin VB.VScrollBar VSbgeometriavectordirectorxl2 Max = -15 Min = 15 TabIndex = 12 Begin VB.VScrollBar VSbgeometriavectordirectoryl2 Max = -15 Min = 15 TabIndex = 11 Begin VB.TextBox Txtgeometriavectordirectorxl2 Enabled = 0 'False TabIndex = 10 Text = "1" Begin VB.TextBox Txtgeometriavectordirectoryl2 Enabled = 0 'False TabIndex = 9 Text = "1" Begin VB.Label Label17 BackColor = &H80000015& Caption = "( )=" Name = "MS Sans Serif" TabIndex = 32 Begin VB.Label Label1 BackColor = &H80000015& Caption = "x" Name = "MS Sans Serif" TabIndex = 31 Begin VB.Label Label19
BackColor = &H80000015& Caption = "y" Name = "MS Sans Serif" TabIndex = 30 Begin VB.Label Label12 BackColor = &H80000015& Caption = "( )=" Name = "MS Sans Serif" TabIndex = 29 Begin VB.Label Label10 BackColor = &H80000015& Caption = "x'" Name = "MS Sans Serif" TabIndex = 28 Begin VB.Label Label11 BackColor = &H80000015& Caption = "y'" Name = "MS Sans Serif" TabIndex = 27 Begin VB.Label l1 Caption = "L1 L2" BeginProperty Font Name = "Arial" TabIndex = 26 Begin VB.Label l1 Caption = "T J" Name = "Calibri" Index = 1 TabIndex = 25 Begin VB.CommandButton cmdgraficargeometriarectasenelplano Caption = "graficar" TabIndex = 7 Begin VB.TextBox txtecuaciondelarectal1x Enabled = 0 'False TabIndex = 6 Begin VB.TextBox txtecuaciondelarectal2x Enabled = 0 'False TabIndex = 5 Begin VB.TextBox Txtecuaciondelarectal1y Enabled = 0 'False TabIndex = 4 Begin VB.TextBox Txtecuaciondelarectal2y Enabled = 0 'False TabIndex = 3 Begin VB.TextBox Txtecuaciondelarectal1c Enabled = 0 'False TabIndex = 2 Begin VB.TextBox Txtecuaciondelarectal2c Enabled = 0 'False TabIndex = 1 Begin VB.Label l BorderStyle = 1 'Fixed Single TabIndex = 40 Begin VB.Label pendientel1 BorderStyle = 1 'Fixed Single TabIndex = 39 Begin VB.Label Label29 Caption = "D : vector director " TabIndex = 38 Begin VB.Label paralelas BorderStyle = 1 'Fixed Single TabIndex = 37 Begin VB.Label p BorderStyle = 1 'Fixed Single TabIndex = 36 Begin VB.Label Label6 Caption = "pendiente de L1 pendiente de L2"
TabIndex = 35 Begin VB.Label Label5 Caption = "x y x y" BeginProperty Font Name = "MS Sans Serif" TabIndex = 34 Begin VB.Label l1 Caption = "=" Index = 3 TabIndex = 33
Private Sub cmdgraficargeometriarectasenelplano_Click()
Refresh
For u = -25 To 25 Step 0.01
DrawWidth = 2
Font.Size = 12
Line (0, 0)-(Txtgeometriavectordirectorxl1, Txtgeometriavectordirectoryl1)
msg7 = "D1"
Print msg7
Line (Txtgeometriapuntoxl1, txtgeometriapuntoyl1)-(Val(Txtgeometriapuntoxl1.Text) +
Val(Txtgeometriavectordirectorxl1.Text), Val(Txtgeometriavectordirectoryl1.Text) +
Val(txtgeometriapuntoyl1.Text))
ForeColor = vbGreen
DrawWidth = 5
Font.Size = 30
ForeColor = vbWhite
PSet (Txtgeometriavectordirectorxl1, Txtgeometriavectordirectoryl1)
ForeColor = vbGreen
PSet (Txtgeometriapuntoxl1, txtgeometriapuntoyl1)
PSet (Val(Txtgeometriapuntoxl1.Text) + Val(Txtgeometriavectordirectorxl1.Text),
Val(Txtgeometriavectordirectoryl1.Text) + Val(txtgeometriapuntoyl1.Text))
DrawWidth = 1
Font.Size = 12
ForeColor = pctcolorl1.BackColor
x = Txtgeometriapuntoxl1 + Txtgeometriavectordirectorxl1 * u
y = txtgeometriapuntoyl1 + Txtgeometriavectordirectoryl1 * u
msg4 = "L1"
Print msg4
PSet (x, y)
ForeColor = vbWhite
Next
If Tm1 = 0 Then
lbllpendiente = "no hay pendiente"
Else
lblpendiente = Txtgeometriavectordirectoryl1 / Txtgeometriavectordirectorxl1
End If
For u = -25 To 25 Step 0.01
DrawWidth = 2
Font.Size = 12
Line (0, 0)-(Txtgeometriavectordirectorxl2, Txtgeometriavectordirectoryl2)
msg8 = "D2"
Print msg8
Line (Txtgeometriapuntoxl2, Txtgeometriapuntoyl2)-(Val(Txtgeometriapuntoxl2.Text) +
Val(Txtgeometriavectordirectorxl2.Text), Val(Txtgeometriavectordirectoryl2.Text) +
Val(Txtgeometriapuntoyl2.Text))
ForeColor = vbGreen
DrawWidth = 5
Font.Size = 30
ForeColor = vbWhite
PSet (Txtgeometriavectordirectorxl2, Txtgeometriavectordirectoryl2)
ForeColor = vbGreen
PSet (Txtgeometriapuntoxl2, Tl4)
ForeColor = vbWhite
PSet (Val(Txtgeometriapuntoxl2.Text) + Val(Txtgeometriavectordirectorxl2.Text),
Val(Txtgeometriavectordirectoryl2.Text) + Val(Txtgeometriapuntoyl2.Text))
DrawWidth = 1
Font.Size = 12
ForeColor = pctcolorl2.BackColor
x = Txtgeometriapuntoxl2 + Txtgeometriavectordirectorxl2 * u
y = Txtgeometriapuntoyl2 + Txtgeometriavectordirectoryl2 * u
msg6 = "L2"
Print msg6
PSet (x, y)
ForeColor = vbRed
Next
If Txtgeometriavectordirectorxl2 = 0 Then
l.Caption = " no hay pendiente"
Else
l.Caption = Txtgeometriavectordirectoryl2 / Txtgeometriavectordirectorxl2
End If
If Txtgeometriavectordirectorxl1 = 0 Then
pendientel1 = " no hay pendiente"
Else
pendientel1 = Txtgeometriavectordirectoryl1 / Txtgeometriavectordirectorxl1
End If
If Txtgeometriavectordirectoryl1 <> 0 And Txtgeometriavectordirectorxl2 <> 0 Then
If pendiente1 * l = -1 Then
p = "son perpendiculares"
Else
p = "no son perpendiculares"
End If
End If
If l.Caption = pendientel1.Caption Then
paralelas.Caption = "son paralelas"
Else
paralelas.Caption = "no son paralelas "
End If
End Sub
Private Sub VSbgeometriapuntoxl1_Change()
Txtgeometriapuntoxl1.Text = VSbgeometriapuntoxl1.Value
End Sub
Private Sub VSbgeometriapuntoxl1_Change()
Txtgeometriapuntoxl1.Text = VSbgeometriapuntoxl1.Value
End Sub
Private Sub VSbgeometriapuntoxl2_Change()
Txtgeometriapuntoxl2.Text = VSbgeometriapuntoxl2.Value
End Sub
Private Sub VSbgeometriapuntoyl1_Change()
txtgeometriapuntoyl1.Text = VSbgeometriapuntoyl1
End Sub
Private Sub VSbgeometriapuntoyl2_Change()
Txtgeometriapuntoyl2.Text = VSbgeometriapuntoyl2.Value
End Sub
Private Sub VSbgeometriavectordirectorxl1_Change()
Txtgeometriavectordirectorxl1.Text = VSbgeometriavectordirectorxl1.Value
End Sub
Private Sub VSbgeometriavectordirectorxl2_Change()
Txtgeometriavectordirectorxl2.Text = VSbgeometriavectordirectorxl2.Value
End Sub
Private Sub VSbgeometriavectordirectoryl1_Change()
Txtgeometriavectordirectoryl1.Text = VSbgeometriavectordirectoryl1.Value
End Sub
Private Sub VSbgeometriavectordirectoryl2_Change()
Txtgeometriavectordirectoryl2.Text = VSbgeometriavectordirectoryl2.Value
End Sud
Tabla 20
4.1.3 Proyeccion y reflexion sobre la recta L1
Tabla 21
Esta aplicación calcula la proyecion y reflexion de un punto a una recta, dando un punto de la recta y un punto exterior a ella. Ademas de esto se muestra la formula con los puntos dados y la grafica. los controles arrastrados y sus propiedades son :
Begin VB.PictureBox pctgeometriavalorpropio Appearance = 0 'Flat BackColor = &H80000015& BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 0 Visible = 0 'False Begin VB.CommandButton cmdvalorpropio Caption = "graficar" TabIndex = 19 Begin VB.VScrollBar VSbTxtgeometriavalorpropiol1x Max = -15 Min = 15 TabIndex = 18 Begin VB.VScrollBar VSbTxtgeometriavalorpropiol2x Max = -15 Min = 15 TabIndex = 17 Begin VB.TextBox Txtgeometriavalorpropiol1x Enabled = 0 'False TabIndex = 16 Text = "1" Begin VB.TextBox Txtgeometriavalorpropiol2x Enabled = 0 'False TabIndex = 15 Text = "1" Begin VB.VScrollBar VSbTxtgeometriavalorpropiol1y Max = -15 Min = 15 TabIndex = 14 Begin VB.VScrollBar VSbTxtgeometriavalorpropiol2y Max = -15 Min = 15 TabIndex = 13 Begin VB.TextBox Txtgeometriavalorpropiol1y Enabled = 0 'False TabIndex = 12 Text = "1" Begin VB.TextBox Txtgeometriavalorpropiol2y Enabled = 0 'False TabIndex = 11 Text = "1" Begin VB.TextBox txtvectorpropiox1 Enabled = 0 'False TabIndex = 10 Begin VB.TextBox Text2 Enabled = 0 'False TabIndex = 9 Text = "0" Begin VB.TextBox Text3 Enabled = 0 'False TabIndex = 8 Text = "0" Begin VB.TextBox txtvectorpropioy2 Enabled = 0 'False TabIndex = 7 Begin VB.TextBox txtvectorpropioy1 Enabled = 0 'False TabIndex = 6 Begin VB.TextBox txtvectorpropiox2 Enabled = 0 'False TabIndex = 5 Begin VB.TextBox txtesultadovectorpropiox1 Enabled = 0 'False TabIndex = 4 Begin VB.TextBox txtesultadovectorpropioy1 Enabled = 0 'False
TabIndex = 3 Begin VB.TextBox txtesultadovectorpropiox2 Enabled = 0 'False TabIndex = 2 Begin VB.TextBox txtesultadovectorpropioy2 Enabled = 0 'False TabIndex = 1 Begin VB.Label Label23 Caption = "@^2 @ = 0" TabIndex = 33 Begin VB.Label Lblecuaciovalorpropiox BorderStyle = 1 'Fixed Single TabIndex = 32 Begin VB.Label Lblecuaciovalorpropioy BorderStyle = 1 'Fixed Single TabIndex = 31 VB.Label lblvalorpropio1 BorderStyle = 1 'Fixed Single TabIndex = 30 Begin VB.Label lblvalorpropio2 BorderStyle = 1 'Fixed Single TabIndex = 29 Begin VB.Label Label30 Caption = "@1" TabIndex = 28 Begin VB.Label Label31 Caption = "@2" TabIndex = 27 Begin VB.Label Label32 Caption = "valores propios" TabIndex = 26 Begin VB.Label Label20 Caption = "A=" TabIndex = 25 End Begin VB.Label lblparentesis Caption = " ( ) " Name = "MS Sans Serif" Index = 10 TabIndex = 24 Begin VB.Label Label26 BackColor = &H80000002& Caption = "x y =" Name = "MS Sans Serif" TabIndex = 23 Begin VB.Label Label33 BackColor = &H80000002& Caption = "x y = " Name = "MS Sans Serif" TabIndex = 22 Begin VB.Label Label37 Caption = "vectores propios" TabIndex = 21 Begin VB.Label lblparentesis Caption = "( ) ( )" Name = "Arial" Index = 0 TabIndex = 20
El codigo generado es el siguiente :
Private Sub cmdgraficargeometriaproyeccion_Click()
Refresh
a = (((proy1 * proy1 * proy3) / (proy1 * proy1 + proy2 * proy2)) + ((proy2 * proy1 * proy4) / (proy1 *
proy1 + proy2 * proy2)))
b = (((proy1 * proy2 * proy3) / (proy1 * proy1 + proy2 * proy2)) + ((proy2 * proy2 * proy4) / (proy1 *
proy1 + proy2 * proy2)))
DrawWidth = 5
ForeColor = pctcolorl1.BackColor
PSet (proy1, proy2)
MSG1 = "U"
Print MSG1
DrawWidth = 5
ForeColor = vbYellow
PSet (a, b)
MSG = " Pu(x)"
Print MSG
DrawWidth = 5
ForeColor = pctcolorl2.BackColor
PSet (proy3, proy4)
MSG2 = " X"
Print MSG2
DrawWidth = 1
ForeColor = pctcolorl1.BackColor
Lpx(0).Caption = proy1.Text
Lpy(0).Caption = proy2.Text
Ly(0).Caption = proy2.Text
Lx(0).Caption = proy1.Text
Luxu(0).Caption = (proy1 * proy1) + (proy2 * proy2)
Lpx(1).Caption = proy1.Text
Lpy(1).Caption = proy2.Text
Ly(1).Caption = proy2.Text
Lx(1).Caption = proy1.Text
Luxu(1).Caption = (proy1 * proy1) + (proy2 * proy2)
lblresultadopuxx.Caption = a
lblresultadopuxy.Caption = b
lblresultadosuxx.Caption = ""
lblresultadosuxy.Caption = ""
For u = -15 To 15 Step 0.01
X = proy1 + a * u
Y = proy2 + b * u
PSet (X, Y)
Next
ForeColor = vbGreen
DrawStyle = 2
Line (a, b)-(proy3, proy4)
DrawStyle = 0
End Sub
Private Sub cmdgraficargeometriareflexion_Click()
Refresh
a = (((proy1 * proy1 * proy3) / (proy1 * proy1 + proy2 * proy2)) + ((proy2 * proy1 * proy4) / (proy1 *
proy1 + proy2 * proy2)))
b = (((proy1 * proy2 * proy3) / (proy1 * proy1 + proy2 * proy2)) + ((proy2 * proy2 * proy4) / (proy1 *
proy1 + proy2 * proy2)))
DrawWidth = 5
PSet (proy1, proy2)
MSG1 = "U"
Print MSG1
DrawWidth = 5
ForeColor = vbYellow
PSet (a, b)
MSG = " Pu(x)"
Print MSG
DrawWidth = 5
PSet (proy3, proy4)
MSG2 = " X"
Print MSG2
DrawWidth = 5
c = 2 * a - proy3
d = 2 * b - proy4
PSet (c, d)
msgsu = "Su(x)"
Print msgsu
DrawWidth = 1
ForeColor = pctcolorl1.BackColor
Lpx(0).Caption = proy1.Text
Lpy(0).Caption = proy2.Text
Ly(0).Caption = proy2.Text
Lx(0).Caption = proy1.Text
Luxu(0).Caption = (proy1 * proy1) + (proy2 * proy2)
Lpx(1).Caption = proy1.Text
Lpy(1).Caption = proy2.Text
Ly(1).Caption = proy2.Text
Lx(1).Caption = proy1.Text
Luxu(1).Caption = (proy1 * proy1) + (proy2 * proy2)
lblresultadosuxx.Caption = c
lblresultadosuxy.Caption = d
lblresultadopuxx.Caption = a
lblresultadopuxy.Caption = b
For u = -15 To 15 Step 0.01
X = proy1 + a * u
Y = proy2 + b * u
PSet (X, Y)
Next
ForeColor = vbGreen
DrawStyle = 2
Line (a, b)-(proy3, proy4)
ForeColor = vbYellow
DrawStyle = 2
Line (a, b)-(c, d)
DrawStyle = 0
End Sub
Private Sub VSbproy1_Change()
proy1.Text = VSbproy1.Value
End Sub
Private Sub VSbproy2_Change()
proy2.Text = VSbproy2.Value
End Sub
Private Sub VSbproy3_Change()
proy3.Text = VSbproy3.Value
End Sub
Private Sub VSbproy4_Change()
proy4.Text = VSbproy4.Value
End Sub
Tabla 22
4.1.4 Solucion de ecuaciones de primer grado con dos incognitas
Tabla 23
Esta aplicacion nos permite a travez de la formula general de la recta generar dos rectas L1 y L2, mostra su matriz y si es invertible dar el punto solucion de ambas rectas mediante la transpuesta de la matriz y el punto solucion de cada una de las rectas. Ademas grafica lo dicho anterior mente. Begin VB.PictureBox pctgeometriamatricez Appearance = 0 'Flat BackColor = &H80000015& BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 0 Visible = 0 'False Begin VB.PictureBox Picture4 BackColor = &H00E0E0E0& TabIndex = 19 Begin VB.TextBox Txtgeometriaecuacionl2c Enabled = 0 'False Index = 0 TabIndex = 31 Text = "0" Begin VB.TextBox Txtgeometriaecuacionl1c Enabled = 0 'False Index = 0 TabIndex = 30 Text = "0" Begin VB.TextBox Txtgeometriaecuacionl1y Enabled = 0 'False
Index = 0 TabIndex = 29 Text = "1" Begin VB.TextBox Txtgeometriaecuacionl1x Enabled = 0 'False Index = 0 TabIndex = 28 Text = "1" Begin VB.TextBox Txtgeometriaecuacionl2y Enabled = 0 'False Index = 0 TabIndex = 27 Text = "1" Begin VB.TextBox Txtgeometriaecuacionl2x Enabled = 0 'False TabIndex = 26 Text = "1" Begin VB.VScrollBar VSbTxtgeometriaecuacionl1x Max = -15 Min = 15 TabIndex = 25 Begin VB.VScrollBar VsbTxtgeometriaecuacionl2x Max = -15 Min = 15 TabIndex = 24 Begin VB.VScrollBar VSbTxtgeometriaecuacionl1y Max = -15 Min = 15 TabIndex = 23 Value = 1 Begin VB.VScrollBar VSbTxtgeometriaecuacionl2y Max = -15 Min = 15 TabIndex = 22 Top = 360 Value = 1 Begin VB.VScrollBar VSbTxtgeometriaecuacionl2c Max = -15 Min = 15 TabIndex = 21 Begin VB.VScrollBar VSbTxtgeometriaecuacionl1c Max = -15 Min = 15 TabIndex = 20 Begin VB.Label Label9 BackColor = &H00E0E0E0& Caption = "L2" TabIndex = 38 Begin VB.Label l1 BackColor = &H00E0E0E0& Caption = "=" Index = 4 TabIndex = 37 Begin VB.Label Label13 BackColor = &H00E0E0E0& Caption = "y" Name = "MS Sans Serif" TabIndex = 36 Begin VB.Label Label15 BackColor = &H00E0E0E0& Caption = "x" Name = "MS Sans Serif" TabIndex = 35 Begin VB.Label l1 BackColor = &H00E0E0E0& Caption = "L1" Index = 5
TabIndex = 34 Begin VB.Label Label16 BackColor = &H00E0E0E0& Caption = "x" Name = "MS Sans Serif" TabIndex = 33 Begin VB.Label Label18 BackColor = &H00E0E0E0& Caption = "y" BeginProperty Font Name = "MS Sans Serif" TabIndex = 32 Begin VB.CommandButton cmdgraficarecuacionesconmatricez Caption = "graficar" TabIndex = 18 Begin VB.TextBox Txtgeometriaecuacionl1x Enabled = 0 'False Index = 1 TabIndex = 17 Text = "1" Begin VB.TextBox Txtgeometriaecuacionl1y Enabled = 0 'False Index = 1 TabIndex = 16 Text = "1" Begin VB.TextBox Txtgeometriaecuacionl2x Enabled = 0 'False Index = 1 TabIndex = 15 Text = "1" Begin VB.TextBox Txtgeometriaecuacionl2y Enabled = 0 'False Index = 1 TabIndex = 14 Text = "1" Begin VB.PictureBox pctmatricez Appearance = 0 'Flat BackColor = &H80000015& BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 1 Begin VB.TextBox Txtx Enabled = 0 'False TabIndex = 10 Begin VB.TextBox txty Enabled = 0 'False TabIndex = 9 Begin VB.TextBox Txtinvertible Enabled = 0 'False TabIndex = 8 Begin VB.TextBox Txtgeometriaecuacionl1x Enabled = 0 'False Index = 2 TabIndex = 7 Begin VB.TextBox Txtgeometriaecuacionl2x Enabled = 0 'False Index = 2 TabIndex = 6 Begin VB.TextBox Txtgeometriaecuacionl1y Enabled = 0 'False Index = 2 TabIndex = 5 Begin VB.TextBox Txtgeometriaecuacionl2y Enabled = 0 'False Index = 2 TabIndex = 4 Begin VB.TextBox Txtgeometriaecuacionl1c
Enabled = 0 'False Index = 1 TabIndex = 3 Begin VB.TextBox Txtgeometriaecuacionl2c Enabled = 0 'False Index = 1 TabIndex = 2 Begin VB.Label lblparentesis BackColor = &H80000002& Caption = "( ) =" Name = "MS Sans Serif" TabIndex = 13 Begin VB.Label lblparentesis BackColor = &H80000002& Caption = "---( ) ( ) " Name = "Arial" Index = 8 TabIndex = 12 Begin VB.Label Label24 BackColor = &H80000002& Caption = "1" Name = "MS Sans Serif" Size = 12 TabIndex = 11 Begin VB.Label lblmatrizA Caption = "A=" TabIndex = 41 Begin VB.Label lblparentesis Caption = "( ) " Name = "Arial" Index = 6 TabIndex = 40 Begin VB.Label lblesinvertible Caption = "no es invertible" TabIndex = 39 Visible = 0 'False
Private Sub cmdgraficarecuacionesconmatricez_Click()
Refresh
For X = -20 To 20 Step 0.01
Y = ((-Txtgeometriaecuacionl1x(1) * X) + Txtgeometriaecuacionl1c(0)) / Txtgeometriaecuacionl1y(1)
Y2 = ((-Txtgeometriaecuacionl2x(1) * X) + Txtgeometriaecuacionl2c(0)) / Txtgeometriaecuacionl2y(1)
ForeColor = pctcolorl1.BackColor
PSet (X, Y)
ForeColor = pctcolorl2.BackColor
PSet (X, Y2)
Next
If (Txtgeometriaecuacionl1x(1) * Txtgeometriaecuacionl2y(1)) - (Txtgeometriaecuacionl2x(1) *
Txtgeometriaecuacionl1y(1)) = 0 Then
pctmatricez.Visible = False
lblesinvertible.Visible = True
Else
Txtinvertible.Text = (Txtgeometriaecuacionl1x(1) * Txtgeometriaecuacionl2y(1)) -
(Txtgeometriaecuacionl2x(1) * Txtgeometriaecuacionl1y(1))
pctmatricez.Visible = True
lblesinvertible.Visible = False
Txtgeometriaecuacionl1x(2).Text = Txtgeometriaecuacionl2y(1).Text
Txtgeometriaecuacionl2y(2).Text = Txtgeometriaecuacionl1x(1).Text
Txtgeometriaecuacionl1y(2).Text = -Txtgeometriaecuacionl1y(1).Text
Txtgeometriaecuacionl2x(2).Text = -Txtgeometriaecuacionl2x(1).Text
Txtgeometriaecuacionl1c(1).Text = Txtgeometriaecuacionl1c(0).Text
Txtgeometriaecuacionl2c(1).Text = Txtgeometriaecuacionl2c(0).Text
Txtx = ((Txtgeometriaecuacionl1x(2) * Txtgeometriaecuacionl1c(1)) + (Txtgeometriaecuacionl1y(2) *
Txtgeometriaecuacionl2c(1))) / Txtinvertible
txty = ((Txtgeometriaecuacionl2x(2) * Txtgeometriaecuacionl1c(1)) + (Txtgeometriaecuacionl2y(2) *
Txtgeometriaecuacionl2c(1))) / Txtinvertible
End If
End Sub
Tabla 24
4.1.5 Valores y vectores propios
Tabla25
Esta aplicación encuentra los valores propios y el vector propio de dos rectas que es ingresada al sistema por sus matricez dando las ecuaciones en forma general de cada una de las rectas la ecuación caracteristicas de de ambas ecuaciones y sus graficas. Begin VB.PictureBox pctgeometriavalorpropio Appearance = 0 'Flat BackColor = &H0000FF00& BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 0 Visible = 0 'False Begin VB.CommandButton cmdvalorpropio Caption = "graficar" TabIndex = 19 Begin VB.VScrollBar VSbTxtgeometriavalorpropiol1x Max = -15 Min = 15 TabIndex = 18 Begin VB.VScrollBar VSbTxtgeometriavalorpropiol2x Max = -15 Min = 15 TabIndex = 17 Begin VB.TextBox Txtgeometriavalorpropiol1x
Enabled = 0 'False TabIndex = 16 Text = "1" Begin VB.TextBox Txtgeometriavalorpropiol2x Enabled = 0 'False TabIndex = 15 Text = "1" Begin VB.VScrollBar VSbTxtgeometriavalorpropiol1y Max = -15 Min = 15 TabIndex = 14 Begin VB.VScrollBar VSbTxtgeometriavalorpropiol2y Max = -15 Min = 15 TabIndex = 13 Begin VB.TextBox Txtgeometriavalorpropiol1y Enabled = 0 'False TabIndex = 12 Text = "1" Begin VB.TextBox Txtgeometriavalorpropiol2y Enabled = 0 'False TabIndex = 11 Text = "1" Begin VB.TextBox txtvectorpropiox1 Enabled = 0 'False TabIndex = 10 Begin VB.TextBox Text2 Enabled = 0 'False TabIndex = 9 Text = "0" Begin VB.TextBox Text3 Enabled = 0 'False TabIndex = 8 Text = "0" Begin VB.TextBox txtvectorpropioy2 Enabled = 0 'False TabIndex = 7 Begin VB.TextBox txtvectorpropioy1 Enabled = 0 'False TabIndex = 6 Begin VB.TextBox txtvectorpropiox2 Enabled = 0 'False TabIndex = 5 Begin VB.TextBox txtesultadovectorpropiox1 Enabled = 0 'False TabIndex = 4 Begin VB.TextBox txtesultadovectorpropioy1 Enabled = 0 'False TabIndex = 3 Begin VB.TextBox txtesultadovectorpropiox2 Enabled = 0 'False TabIndex = 2 Begin VB.TextBox txtesultadovectorpropioy2 Enabled = 0 'False TabIndex = 1 Begin VB.Label Label23 Caption = "@^2 @ = 0" TabIndex = 33 Begin VB.Label Lblecuaciovalorpropiox BorderStyle = 1 'Fixed Single TabIndex = 32 Begin VB.Label Lblecuaciovalorpropioy BorderStyle = 1 'Fixed Single TabIndex = 31 Begin VB.Label lblvalorpropio1 BorderStyle = 1 'Fixed Single TabIndex = 30
Begin VB.Label lblvalorpropio2 BorderStyle = 1 'Fixed Single TabIndex = 29 Begin VB.Label Label30 Caption = "@1" TabIndex = 28 Begin VB.Label Label31 Caption = "@2" TabIndex = 27 Begin VB.Label Label32 Caption = "valores propios" TabIndex = 26 Begin VB.Label Label20 Caption = "A=" TabIndex = 25 Begin VB.Label lblparentesis Caption = " ( ) " BeginProperty Font Name = "MS Sans Serif" Index = 10 TabIndex = 24 Begin VB.Label Label26 BackColor = &H80000002& Caption = "x y =" BeginProperty Font Name = "MS Sans Serif" TabIndex = 23 Begin VB.Label Label33 BackColor = &H80000002& Caption = "x y = " BeginProperty Font Name = "MS Sans Serif" TabIndex = 22 Begin VB.Label Label37 Caption = "vectores propios" TabIndex = 21 Begin VB.Label lblparentesis Caption = "( ) ( )" BeginProperty Font Name = "Arial" Index = 0 TabIndex = 20
Private Sub cmdvalorpropio_Click()
Refresh
Lblecuaciovalorpropioy = (Txtgeometriavalorpropiol1x * Txtgeometriavalorpropiol2y) -
(Txtgeometriavalorpropiol2x * Txtgeometriavalorpropiol1y)
Lblecuaciovalorpropiox = -(-(-Txtgeometriavalorpropiol1x) - (-Txtgeometriavalorpropiol2y))
If (Lblecuaciovalorpropiox ^ 2) - (4 * Lblecuaciovalorpropioy) < 0 Then
lblvalorpropio1 = "raicez imaginarias"
lblvalorpropio2 = "raicez imaginarias"
For X = -20 To 20 Step 0.01
Y = (-Txtgeometriavalorpropiol1x * X) / Txtgeometriavalorpropiol1y
Y2 = (-Txtgeometriavalorpropiol2x * X) / Txtgeometriavalorpropiol2y
ForeColor = pctcolorl1.BackColor
PSet (X, Y)
ForeColor = pctcolorl2.BackColor
PSet (X, Y2)
Next
Else
lblvalorpropio1.Caption = (-Lblecuaciovalorpropiox + Sqr(Lblecuaciovalorpropiox ^ 2 - (4 *
Lblecuaciovalorpropioy))) / 2
lblvalorpropio2.Caption = (-Lblecuaciovalorpropiox - Sqr(Lblecuaciovalorpropiox ^ 2 - (4 *
Lblecuaciovalorpropioy))) / 2
txtvectorpropiox1 = Txtgeometriavalorpropiol1x - lblvalorpropio1
txtvectorpropioy1 = Txtgeometriavalorpropiol1y
txtvectorpropiox2 = Txtgeometriavalorpropiol1x - lblvalorpropio2
txtvectorpropioy2 = Txtgeometriavalorpropiol1y
txtesultadovectorpropiox1 = txtvectorpropioy1
txtesultadovectorpropioy1 = -txtvectorpropiox1
txtesultadovectorpropiox2 = txtvectorpropioy2
txtesultadovectorpropioy2 = -txtvectorpropiox2
DrawWidth = 1
Font.Size = 12
For X = -20 To 20 Step 0.01
Y = -(txtvectorpropiox1 * X) / txtvectorpropioy1
Y2 = -(txtvectorpropiox2 * X) / txtvectorpropioy2
ForeColor = pctcolorl1.BackColor
PSet (X, Y)
ForeColor = pctcolorl2.BackColor
PSet (X, Y2)
Next
End Sub
Tabla 26
4.2 construccion de las aplicaciones de precalculo
4.2.1 Trasformaciones de diversas funciones
Tabla 27
Mediante esta aplicación se podra graficar tantas graficas como queramos, cuadraticas, racionales, de tercer grado entre otras, ejemplo la graficas de 2x^-3 + x^2 + x^1+x^1+x^1 -2 que es igual a (x^5 + 2x^4-2x^3+2)/ x^3 si hacemos las operaciones para llevarla a esta forma. El color del contenedor podras escogerlo a tu gusto
Su grafica seria la siguiente:
Tabla 28 Los controles con sus propiedades son: Begin VB.PictureBox pctcalculograficasdefunciones Appearance = 0 'Flat BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 0 Visible = 0 'False Begin VB.TextBox txttransformacionpolinomica1 Enabled = 0 'False TabIndex = 19 Text = "1" Begin VB.TextBox txttransformacionpolinomica2 Enabled = 0 'False TabIndex = 18 Text = "1" Begin VB.TextBox txttransformacionpolinomicaindice1 Enabled = 0 'False TabIndex = 17 Text = "1" Begin VB.TextBox txttransformacionpolinomica5 Enabled = 0 'False TabIndex = 16 Text = "1" Begin VB.CommandButton cmdgraficarcalculograficasdefunciones Caption = "graficar" TabIndex = 15 Begin VB.TextBox txttransformacionpolinomica3 Enabled = 0 'False TabIndex = 14 Text = "1" Begin VB.TextBox txttransformacionpolinomicaindice2 Form1 - 2 Enabled = 0 'False TabIndex = 13 Text = "1" Begin VB.TextBox txttransformacionpolinomica4 Enabled = 0 'False TabIndex = 12 Text = "1" Begin VB.TextBox txttransformacionpolinomicaindice3 Enabled = 0 'False
TabIndex = 11 Text = "1" Begin VB.TextBox txttransformacionpolinomicaindice4 Enabled = 0 'False TabIndex = 10 Text = "1" Begin VB.VScrollBar VSbtransformacionpolinomicaindice2 Max = -4 Min = 4 TabIndex = 9 Begin VB.VScrollBar VSbtransformacionpolinomica3 Max = -8 Min = 8 TabIndex = 8 Begin VB.VScrollBar VSbtransformacionpolinomicaindice3 Max = -4 Min = 4 TabIndex = 7 Begin VB.VScrollBar VSbtransformacionpolinomica4 Max = -8 Min = 8 TabIndex = 6 Begin VB.VScrollBar VSbtransformacionpolinomicaindice4 Max = -4 Min = 4 TabIndex = 5 Begin VB.VScrollBar VSbtransformacionpolinomica5 Max = -8 Min = 8 TabIndex = 4 Begin VB.VScrollBar VSbtransformacionpolinomica2 Max = -8 Min = 8 TabIndex = 3 Begin VB.VScrollBar VSbtransformacionpolinomica1 Max = -8 Min = 8 TabIndex = 2 Begin VB.VScrollBar VSbtransformacionpolinomicaindice1 Max = -4 Min = 4 TabIndex = 1 Begin VB.Label lblx Appearance = 0 'Flat Caption = "x x x x" Index = 0 Left = 960 TabIndex = 20
Private Sub cmdgraficarcalculograficasdefunciones_Click()
Refresh
DrawWidth = 1
If txttransformacionpolinomicaindice1 > 0 And txttransformacionpolinomicaindice2 > 0 And
txttransformacionpolinomicaindice3 > 0 And txttransformacionpolinomicaindice4 > 0 Then
For x = -20 To 20 Step 0.01
y = (txttransformacionpolinomica1 * (x ^ txttransformacionpolinomicaindice1)) +
(txttransformacionpolinomica2 * (x ^ txttransformacionpolinomicaindice2)) +
(txttransformacionpolinomica3 * (x ^ txttransformacionpolinomicaindice3)) +
(txttransformacionpolinomica4 * (x ^ txttransformacionpolinomicaindice4)) +
txttransformacionpolinomica5
ForeColor = pctcolorl1.BackColor
PSet (x, y)
Next
End If
If txttransformacionpolinomicaindice1 < 0 Or txttransformacionpolinomicaindice2 < 0 Or
txttransformacionpolinomicaindice3 < 0 Or txttransformacionpolinomicaindice4 < 0 Then
For x = -20 To -0.1 Step 0.01
y = (txttransformacionpolinomica1 * (x ^ txttransformacionpolinomicaindice1)) +
(txttransformacionpolinomica2 * (x ^ txttransformacionpolinomicaindice2)) +
(txttransformacionpolinomica3 * (x ^ txttransformacionpolinomicaindice3)) +
(txttransformacionpolinomica4 * (x ^ txttransformacionpolinomicaindice4)) +
txttransformacionpolinomica5
ForeColor = pctcolorl13.BackColor
PSet (x, y)
Next
For x = 0.1 To 20 Step 0.01
y = (txttransformacionpolinomica1 * (x ^ txttransformacionpolinomicaindice1)) +
(txttransformacionpolinomica2 * (x ^ txttransformacionpolinomicaindice2)) +
(txttransformacionpolinomica3 * (x ^ txttransformacionpolinomicaindice3)) +
(txttransformacionpolinomica4 * (x ^ txttransformacionpolinomicaindice4)) +
txttransformacionpolinomica5
ForeColor = pctcolorl1.BackColor
PSet (x, y)
Next
End If
End Sub
Private Sub VSbtransformacionpolinomica1_Change()
txttransformacionpolinomica1.Text = VSbtransformacionpolinomica1.Value
End Sub
Private Sub VSbtransformacionpolinomica2_Change()
txttransformacionpolinomica2.Text = VSbtransformacionpolinomica2.Value
End Sub
Private Sub VSbtransformacionpolinomica3_Change()
txttransformacionpolinomica3.Text = VSbtransformacionpolinomica3.Value
End Sub
Private Sub VSbtransformacionpolinomica4_Change()
txttransformacionpolinomica4.Text = VSbtransformacionpolinomica4.Value
End Sub
Private Sub VSbtransformacionpolinomicaindice1_Change()
txttransformacionpolinomicaindice1.Text = VSbtransformacionpolinomicaindice1.Value
End Sub
Private Sub VSbtransformacionpolinomicaindice2_Change()
txttransformacionpolinomicaindice2.Text = VSbtransformacionpolinomicaindice2.Value
End Sub
Private Sub VSbtransformacionpolinomicaindice3_Change()
txttransformacionpolinomicaindice3.Text = VSbtransformacionpolinomicaindice3.Value
End Sub
Private Sub VSbtransformacionpolinomicaindice4_Change()
txttransformacionpolinomicaindice4.Text = VSbtransformacionpolinomicaindice4.Value
End Sub
Private Sub VSbtransformacionpolinomicaindice5_Change()
txttransformacionpolinomica5.Text = VSbtransformacionpolinomica5.Value
End Sub
Private Sub VSbtransformacionpolinomican_Change()
txttransformacionpolinomican.Text = VSbtransformacionpolinomican.Value
End Sub
Tabla 29
4.2.2 Transforamaciones de la forma a(x^b)+c
Tabla 30 Esta aplicacion genera la grafica de una ecuacin lineal, cuadratica, hasta de cuarto grado, de la forma a(x+b)+c que sera muy util para estudiantes. La importancia de mostrarla en esta forma es que nos ayadan a comprender las transformaciones ejemplo (x+3)^2 +5 es una parabola que esta corrida 3 unidades hacia la izquierda y 5 unidades hacia arriba y si la llevamos a la forma general seria: x^2 + 3x + 14 por completacion de trinomio cuadrado perfecto.
Tabla 31
Begin VB.PictureBox pctcalculotransformacion2 Appearance = 0 'Flat BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 0 Visible = 0 'False Begin VB.TextBox txttransformacionpolinomica Enabled = 0 'False TabIndex = 11 Text = "1" Begin VB.TextBox txttransformacionpolinomicagrado Enabled = 0 'False TabIndex = 10 Text = "1" Begin VB.TextBox txttransformacionpolinomicadesplazamientovertical Enabled = 0 'False TabIndex = 9 Text = "0" Begin VB.CommandButton cmdgraficarcalculotransformacion2 Caption = "graficar" TabIndex = 8 Begin VB.VScrollBar VSbtransformacionpolinomica Max = -15 Min = 15 TabIndex = 7 Value = 1 Begin VB.TextBox txttransformacionpolinomican Enabled = 0 'False TabIndex = 6 Text = "1" Begin VB.VScrollBar VSbtransformacionpolinomican Max = -15 Min = 15 TabIndex = 5 Begin VB.VScrollBar VSbtransformacionpolinomicagrado Max = -5 Min = 5 TabIndex = 4 Begin VB.VScrollBar Vsbtransformacionpolinomicadesplazamientovertical Max = -15 Min = 15 TabIndex = 3 Begin VB.TextBox txttransformacionpolinomicadesplazamientohorizontal Enabled = 0 'False
TabIndex = 2 Text = "1" Begin VB.VScrollBar Vsbtransformacionpolinomicadesplazamientohorizontal Max = -15 Min = 15 TabIndex = 1 Begin VB.Label lblparentesis BackStyle = 0 'Transparent Caption = "----(x )" Index = 1 TabIndex = 12
Su codigo seria el siguiente:
Private Sub cmdgraficarcalculotransformacion2_Click()
Refresh
DrawWidth = 1
If txttransformacionpolinomicagrado > 0 Then
For x = -25 To 25 Step 0.01
y = (txttransformacionpolinomican / txttransformacionpolinomica) * (x +
txttransformacionpolinomicadesplazamientohorizontal) ^ (txttransformacionpolinomicagrado) +
txttransformacionpolinomicadesplazamientovertical
ForeColor = pctcolorl1.BackColor
PSet (x, y)
Next
End If
If txttransformacionpolinomicagrado < 0 Then
For x = -25 To -txttransformacionpolinomicadesplazamientohorizontal - 0.1 Step 0.01
y = (txttransformacionpolinomican / txttransformacionpolinomica) * (x +
txttransformacionpolinomicadesplazamientohorizontal) ^ (txttransformacionpolinomicagrado) +
txttransformacionpolinomicadesplazamientovertical
ForeColor = pctcolorl1.BackColor
PSet (x, y)
Next
For x = -txttransformacionpolinomicadesplazamientohorizontal + 0.1 To 25 Step 0.01
y = (txttransformacionpolinomican / txttransformacionpolinomica) * (x +
txttransformacionpolinomicadesplazamientohorizontal) ^ (txttransformacionpolinomicagrado) +
txttransformacionpolinomicadesplazamientovertical
ForeColor =pctcolorl1.BackColor
PSet (x, y)
Next
End If
End Sub
Private Sub VSbtransformacionpolinomica_Change()
txttransformacionpolinomica.Text = VSbtransformacionpolinomica.Value
End Sub
Private Sub VSbtransformacionpolinomica5_Change()
txttransformacionpolinomica5.Text = VSbtransformacionpolinomica5.Value
End Sub
Private Sub Vsbtransformacionpolinomicadesplazamientohorizontal_Change()
txttransformacionpolinomicadesplazamientohorizontal.Text =
_Vsbtransformacionpolinomicadesplazamientohorizontal.Value
End Sub
Private Sub Vsbtransformacionpolinomicadesplazamientovertical_Change()
txttransformacionpolinomicadesplazamientovertical.Text =
_Vsbtransformacionpolinomicadesplazamientovertical.Value
End Sub
Private Sub VSbtransformacionpolinomicagrado_Change()
txttransformacionpolinomicagrado.Text = VSbtransformacionpolinomicagrado.Value
End Sub
Tabla 32
4.2.3Transformaciones de la forma a(x+b)+c
Tabla 33
Esta aplicación nos permite hallar graficas de raices cuadradas teniendo en cuenta la transformaciones de las funciones es de la forma a -,+1*(x^b)+c y si b es positivo se mueve hacia la izquierda, si es negativo se mueve hacia la derecha si c es positivo la grafica sube,si es negaivo la grafica baja , si 1 es positivo la grafica estara en el primer o segundo cuadrante y si es negativo habra una reflexion con respecto al eje x. Begin VB.PictureBox pctcalculotransformacion1 Appearance = 0 'Flat BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 0 Visible = 0 'False Begin VB.CommandButton cmdgraficarcalculotransformacion1 Caption = "graficar" TabIndex = 9 Begin VB.TextBox txttransformacionexponencialbase Enabled = 0 'False
TabIndex = 8 Text = "2" WhatsThisHelpID = 1 Begin VB.TextBox txttransforamacionexponencialdesplazamientovertical Enabled = 0 'False TabIndex = 7 Text = "0" Begin VB.TextBox txttransformacionexponencialexponente Enabled = 0 'False TabIndex = 6 Text = "1" Begin VB.TextBox txttransformacionmenos Enabled = 0 'False TabIndex = 5 Text = "+" Begin VB.CommandButton Cmdtransformacionmenos TabIndex = 4 Begin VB.VScrollBar VSbtransformacionexponencialexponente Max = -15 Min = 15 TabIndex = 3 Begin VB.VScrollBar VSbtransforamacionexponencialdesplazamientovertical Max = -15 Min = 15 TabIndex = 2 Begin VB.VScrollBar VSbtransformacionexponencialbase Max = 1 Min = 4 TabIndex = 1 Top = 360 Value = 1 Begin VB.Label lblparectesisyx Caption = "(x ) " TabIndex = 10
Private Sub cmdgraficarcalculotransformacion1_Click()
Refresh
DrawWidth = 1
If txttransformacionmenos= "+" Then
For x = -25 To -txttransformacionmenos + 5 Step 0.01
y = (txttransformacionexponencialbase) ^ (x + txttransformacionexponencialexponente) +
txttransforamacionexponencialdesplazamientovertical
ForeColor = pctcolorl1.BackColor
PSet (x, y)
Next
Else
If txttransformacionexponmenos = "-" Then
For x = -25 To -txttransformacionmenos + 5 Step 0.01
y = -(txttransformacionexponencialbase) ^ (x + txttransformacionexponencialexponente) +
txttransforamacionexponencialdesplazamientovertical
ForeColor = pctcolorl1.BackColor
PSet (x, y)
Next
End If
End If
End Sub
Private Sub VSbtransforamacionexponencialdesplazamientovertical_Change()
txttransforamacionexponencialdesplazamientovertical.Text =
VSbtransforamacionexponencialdesplazamientovertical
End Sub
Private Sub VSbtransformacionexponencialbase_Change()
txttransformacionexponencialbase.Text = VSbtransformacionexponencialbase
End Sub
Private Sub VSbtransformacionexponencialexponente_Change()
txttransformacionexponencialexponente.Text = VSbtransformacionexponencialexponente.Value
End Sub
Private Sub Cmdtransformacionmenos_Click()
If txttransformacionmenos.Text = "+" Then txttransformacionmenos.Text = "-"
Else
txttransformacionmenos.Text = "+"
End If
End Sub
Tabla 34
4.2.4 Transforamaciones de la forma a*(raiz(x+b))+c
Tabla 35
Esta aplicación nos permite hallar graficas de raices cuadradas teniendo en cuenta la transformaciones de las funciones es de la forma a*(raiz(x+b))+c y si b es positivo se mueve hacia la izquierda, si es negativo se mueve hacia la derecha si c es positivo la grafica sube,si es negaivo la grafica baja , si a es positivo la grafica estara en el primer o segundo cuadrante y si es negativo habra una reflexion con respecto al eje x.
Los controles y sus propiedades son: Begin VB.PictureBox pctcalculotransformacion3 Appearance = 0 'Flat BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 0 Visible = 0 'False
Begin VB.CommandButton cmdgraficarcalculotransformacion3 Caption = "graficar" TabIndex = 9 Begin VB.TextBox txtraiz3 Enabled = 0 'False TabIndex = 8 Text = "0" Begin VB.TextBox Txtraiz1 Enabled = 0 'False TabIndex = 7 Text = "1" Begin VB.TextBox txtraiz2 Enabled = 0 'False TabIndex = 5 Text = "0" Begin VB.VScrollBar VSbraiz2 Max = -15 Min = 15 TabIndex = 4 Begin VB.Label Label25 BackColor = &H00E0E0E0& Caption = "(x )" BeginProperty Font Name = "MS Sans Serif" TabIndex = 6 Begin VB.VScrollBar VSbraiz1 Max = -15 Min = 15 TabIndex = 2 Begin VB.VScrollBar VSbraiz3 Max = -15 Min = 15 TabIndex = 1
Private Sub cmdgraficarcalculotransformacion3_Click()
Refresh
DrawWidth = 1
For X = -txtraiz2 To 25 Step 0.01
Y = Txtraiz1 * Sqr(X + txtraiz2) + txtraiz3
ForeColor = pctcolorl1.BackColor
PSet (X, Y)
Next
End Sub
Private Sub VSbraiz1_Change()
Txtraiz1.Text = VSbraiz1.Value
End Sub
Private Sub VSbraiz2_Change()
txtraiz2.Text = VSbraiz2.Value
End Sub
Private Sub VSbraiz3_Change()
txtraiz3.Text = VSbraiz3.Value
End Sub
Tabla 36
4.2.5 Transformaciones trigonometricas
Tabla 37
Esta aplicación servira para graficar funciones trigonometrica, lo que la diferencia de las otras aplicacones es que tiene un combobox que le permitira escoger de las diversa funciones trigonometricas: seno, coseno,tangente y sus inversas, por ejemplo cosecante -4 es la siguiente grafica:
Tabla 38
Begin VB.PictureBox pctcalculotransformacionestrigonometricas Appearance = 0 'Flat BorderStyle = 0 'None ForeColor = &H80000008& TabIndex = 0 Visible = 0 'False
Begin VB.ComboBox cbotrigonometricas TabIndex = 8 Text = "seno" Begin VB.CommandButton cmdgraficarcalculotransformacionestrigonometricas Caption = "graficar" TabIndex = 7 Begin VB.TextBox txtdesfasamientotrigonometrica Enabled = 0 'False TabIndex = 6 Text = "0" Begin VB.TextBox txtdesplazamientoverticaltrigonometrica Enabled = 0 'False TabIndex = 5 Text = "0" Begin VB.TextBox txtaplitudtrigonometrica Enabled = 0 'False TabIndex = 4 Text = "1" Begin VB.VScrollBar Vsbaplitudtrigonometrica Max = -15 Min = 15 TabIndex = 3 Begin VB.VScrollBar VSbdesfasamientotrigonometrica Max = -15 Min = 15 TabIndex = 2 Begin VB.VScrollBar VSbdesplazamientoverticaltrigonometrica Max = -15 Min = 15 TabIndex = 1 Begin VB.Label Label27 Caption = "( ) " Name = "MS Sans Serif" TabIndex = 9
Private Sub cmdgraficarcalculotransformacionestrigonometricas_Click()
pctplanocartesianotrigonometricas.Refresh
For X = -25 To -txttrig2 Step 0.01
Select Case cbotrigonometricas.Text
Case "cosecante"
Y = txtaplitudtrigonometrica * (1 / Sin(X + txtdesfasamientotrigonometrica)) +
txtdesplazamientoverticaltrigonometrica
Case "secante"
Y = txtaplitudtrigonometrica * (1 / Cos(X + txtdesfasamientotrigonometrica)) +
txtdesplazamientoverticaltrigonometrica
Case " cotangente"
Y = txtaplitudtrigonometrica * (1 / Tan(X + txtdesfasamientotrigonometrica)) +
txtdesplazamientoverticaltrigonometrica
Case "coseno"
Y = txtaplitudtrigonometrica * Cos(X + txtdesfasamientotrigonometrica) +
txtdesplazamientoverticaltrigonometrica
Case "seno"
Y = txtaplitudtrigonometrica * Sin(X + txtdesfasamientotrigonometrica) +
txtdesplazamientoverticaltrigonometrica
Case "tangente"
Y = txtaplitudtrigonometrica * Tan(X + txtdesfasamientotrigonometrica) +
txtdesplazamientoverticaltrigonometrica
End Select
pctplanocartesianotrigonometricas.ForeColor = pctcolorl1.BackColor
pctplanocartesianotrigonometricas.PSet (X, Y)
Next
For X = -txtdesfasamientotrigonometrica + 0.1 To 25 Step 0.01
Select Case cbotrigonometricas.Text
Case "cosecante"
Y = txtaplitudtrigonometrica * (1 / Sin(X + txtdesfasamientotrigonometrica)) +
txtdesplazamientoverticaltrigonometrica
Case "secante"
Y = txtaplitudtrigonometrica * (1 / Cos(X + txtdesfasamientotrigonometrica)) +
txtdesplazamientoverticaltrigonometrica
Case " cotangente"
Y = txtaplitudtrigonometrica * (1 / Tan(X + txtdesfasamientotrigonometrica)) +
txtdesplazamientoverticaltrigonometrica
Case "coseno"
Y = txtaplitudtrigonometrica * Cos(X + txtdesfasamientotrigonometrica) +
txtdesplazamientoverticaltrigonometrica
Case "seno"
Y = txtaplitudtrigonometrica * Sin(X + txtdesfasamientotrigonometrica) +
txtdesplazamientoverticaltrigonometrica
Case "tangente"
Y = txtaplitudtrigonometrica * Tan(X + txtdesfasamientotrigonometrica) +
txtdesplazamientoverticaltrigonometrica
End Select
pctplanocartesianotrigonometricas.ForeColor = pctcolorl1.BackColor
pctplanocartesianotrigonometricas.PSet (X, Y)
Next
End Sub
Private Sub VSbdesfasamientotrigonometrica_Change()
txtdesfasamientotrigonometrica.Text = VSbdesfasamientotrigonometrica.Value
End Sub
Private Sub VSbdesplazamientoverticaltrigonometrica_Change()
txtdesplazamientoverticaltrigonometrica.Text = VSbdesplazamientoverticaltrigonometrica.Value
End Sub
Private Sub Vsbaplitudtrigonometrica_Change()
txtaplitudtrigonometrica.Text = Vsbaplitudtrigonometrica.Value
End Sub
Tabla 40
5 colores en visual basic
Visual Basic acepta para especificar un color, tres procedimientos: Mediante el número de color
o mediante la sentencia RGB ( rojo, verde, azul )
Por número
El número que representa el color en VB está formado por la suma de la componente roja, la
componente verde y la componente azul. Podríamos verlo muy bien en numeración
Hexadecimal:
Color = Hex XX YY ZZ
Donde ZZ es un número Hexadecimal que representa la cantidad del color rojo. El mínimo
estaría en 0 (H00) y el máximo en 255 (HFF)
YY representaría la cantidad de color verde y XX la de color azul, ambos con los mismos
límites explicados para el rojo.
Por ejemplo: el rojo puro sería: Hex(0000FF) = 255
el verde puro sería: Hex(00FF00) = 652280
el azul puro sería: Hex(FF0000) = 16711680
Una mezcla de un poco de rojo (HB1), otro poco de verde (H56) y otro poco de azul (H1F)
daría el siguiente número:
Hex(1F56B1) = 2053809
Por la sentencia RGB
Se puede expresar el color, poniendo simplemente RGB (rojo, verde, azul), donde rojo es un
número entre 0 y 255 que indica la cantidad de color rojo que se aporta al color, verde un
número comprendido entre 0 y 255 indicando la cantidad de verde, y lo mismo para azul.
Esta es la forma mas sencilla de poner la propiedad color, y con la que mejor controlaremos el
mismo.
Teniendo en cuenta como funcionan los colores en visual Basic vamos a hacer una pequeña
aplicación que nos servira para cambiar los colores a la recta L1 y L2 por sentencia RBG.
Tabla 41 Begin VB.Frame Framecontenedorcolor TabIndex = 0 Visible = 0 'False Begin VB.Frame framecolorl1y2 BorderStyle = 0 'None TabIndex = 7 Begin VB.OptionButton Optcolorl2
TabIndex = 9 Begin VB.OptionButton Optcolorl1 TabIndex = 8 Begin VB.PictureBox pctcolorl1 BackColor = &H0000FFFF& TabIndex = 6 Begin VB.PictureBox pctcolorl2 BackColor = &H00C0FFC0& TabIndex = 5 Begin VB.Frame frameColor Caption = "Color" TabIndex = 1 Begin VB.HScrollBar Azul Height = 255 LargeChange = 20 Max = 255 TabIndex = 4 Begin VB.HScrollBar Verde LargeChange = 20 Left = 120 Max = 255 TabIndex = 3 Begin VB.HScrollBar Rojo LargeChange = 20 Left = 120 Max = 255 TabIndex = 2 Begin VB.Label l1 Caption = "L1 L2" BeginProperty Font Name = "Arial" Index = 2 TabIndex = 10
Private Sub Rojo_Change()
If Optcolorl1.Value = True Then
pctcolorl1.BackColor = RGB(Rojo.Value, Verde.Value, Azul.Value)
End If
If Optcolorl2.Value = True Then
pctcolorl2.BackColor = RGB(Rojo.Value, Verde.Value, Azul.Value)
End If
End Sub
Private Sub Verde_Change()
If Optcolorl1.Value = True Then
pctcolorl1.BackColor = RGB(Rojo.Value, Verde.Value, Azul.Value)
End If
If Optcolorl2.Value = True Then
pctcolorl2.BackColor = RGB(Rojo.Value, Verde.Value, Azul.Value)
End If
End Sub
Private Sub Azul_Change()
If Optcolorl1.Value = True Then
pctcolorl1.BackColor = RGB(Rojo.Value, Verde.Value, Azul.Value)
End If
If Optcolorl2.Value = True Then
pctcolorl2.BackColor = RGB(Rojo.Value, Verde.Value, Azul.Value)
End If
End Sub
Tabla 42
BIBLIOGRAFIA
Geometría Vectorial y Analítica. Una Introducción al Algebra Lineal: Abraham Asmar Charris, Patricia Restrepo de Pelaez,Rosa Franco Arbelaez,Fernando Vargas Hernandez. Escuela de Matemáticas. Universidad Nacional de Colombia Sede Medellín. 2006.