1. Graficador en visual Basic 6.0
Graficator
Sergio Esteban velez conde
Politecnico central
Sistemas de comunicacin e informatica
Medellín
2007
2. 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
3. Nota de aceptacion
Firma del presidente del jurado
Firma de jurado
Firma de jurado
Firma de jurado
Medellín 1 de diciembre de 2007
4. 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
5. 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.
6. 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…………………………………………………………………………………….
7. 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…………………………………………………………………………………….
8. 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
9. 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
10. 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
11. 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.
12. 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
13. 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:
14. 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.
15. 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.
16. 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.
17. 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
18. 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()
19. 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.
20. 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
21. 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
22. 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
30. 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"
31. 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.
32. 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:
33. 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)
34. 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
35. 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"
36. 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
37. 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"
38. 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
39. 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
40. 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 :
41. 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
42. 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
44. 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
45. 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
46. 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
47. 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
48. 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
49. 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
50. 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
51. 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
52. 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:
53. 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
54. 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
55. 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()
56. 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.
57. 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
58. 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
59. 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
60. 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
61. 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
62. 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
63. 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
64. 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