Programación General > Visual Basic para principiantes
Grafico Parametrico en PictureBox
IAO:
Holaaaaa:
Bueno solo para los que estuvieron siguiendo toda esta publicación, les dejo como resolví el problema
de la linea que baja por el eje 'Y'.
--- Código: Visual Basic --- Private Sub Command1_Click() Dim t As Single Dim X1 As Single, Y1 As Single '''Puesto Aquí no da problema de la Linea que deciende por 'Y' picGraph.CurrentX = X1 picGraph.CurrentY = 0 Call Ploting(t) End Sub
Lo que hice fue mudar el (picGraph.CurrentX = ??) de posición. Lo mudé o cambié para el
Private Sub Command1_Click(), eso fue todo.
Se les aprecia a todos gracias....
Bye('_').....
Nebire:
Hola IAO perdona que no te haya respondido antes, pero uno tiene ciertas obligaciones que delimitan tu tiempo libre... aprovechando que salgo de una gripe te comento algunas cosas. aunque sea un poco tarde...
Efectviamente agregar un valor a las cordenadas X proporciona un cierto 'grosor', de hecho si te fijas bien en el programa hacía precisamente eso. Ten en cuenta que conforme a estudiar una señal una cosa son los datos reales y otra los datos transformados para su evaluación. empecinarse en usar los datos reales en muchas ocasiones no conduce a nada, porque los datos pueden estar tan 'apiñados' que resulta indistinguible es por eso que los datos de una señal siempre deben ser 'convertidos' de modo que resulten útiles...
..entonces usar un '+3' es exactamente eso, convertir los datos reales a algo útil, no obstante no te pares ahí, sé más inteligente, el parámetro en vez de hacerlo fijo, dale un nombre tal como 'incrementoX' o lo que se te ocurra y permite establecer el valor con un control (por ejmplo un slider, hscroll,vscroll) , esto te permitirá 'ajustar' cada situación al idóneo. Establece un valor por defecto y un botón de regresar al valor por defecto.
Respecto del otro problema que comentas, es en efecto debuido a las cordenadas iniciales (o finales de un anterior dibujado). Como sabes la última posición del cursor gráfico es el actual currentX, currentY. Para que se entienda como opera lo mejor es hacer un círculo usando preciamente la función circle de un picturbos, form, frame,etc... . El currentX y currenY al dibujar en un círculo, empieza y acaba en las cordenadas del centro, sin embargo a simple vista esto pareciera ser falso, porque empieza dibujando en las 3 (en referencia con un reloj) luego las 2 luego la1 luego las 12,etc.. es decir gira en sentido contrario a las agujas del reloj, termina de dibujar en las 3, pareciera entonces que el currentX,currentY debería estar fijado en la posición de las '3', si a continuación hacemos un 'line step(destino)', es decir dibujamos una línea desde la posición actual hacia el punto señalado, veremos que la línea parte del centro del círculo. Resumiendo esto efectivamente suele corregirse poniendo currentX y currentY en las cordenadas de inicio adecuadas, normalmente el punto donde se empezará a pintar, sino se usa step, no es necesario, ya que eso implica que al señalar los dos pares de cordenadas implica que la cordenada origen lo que hace es precisamente eso, traducir currentx y currentY al valor indicado en las cordenadas de origen.
Quiero no obstante decirte que todavía habrá partes que tendrás que retocar porque hay partes que no quedan claras (al menos a mi), respecto de porqué esperas que te salga un gráfico u otro. Supongo que cuando te tropieces con esos problemas no tendrás más remedio que dar las explicaciones oportunas...
Saludos.
IAO:
Holaaa:
Si sr. Nebire, gracias por sus recomendaciones. Todo lo que escribió lo tengo bien guardado, porque
considero son buenas explicaciones.
-
Le comento que es correcto todo su aporte, estoy pendiente de hacer un Vertical Scroll, para colocar
esos valores desde -3 a +3. No lo he implementado porque se me incremento el trabajo días atrás y he
tenido que abandonar un poco.
Lo de que espero que me salga un gráfico u otro, es porque no solo es para un condensador los valores que recibiré
por RS232, tomaré valores de distintos tipos de componentes (Zener, Capacitores, Diodos, etc.). Por este motivo
las gráficas siempre me deben dar figuras diferentes, según los valores recibidos por rs232 de estos componentes.
Le dije que hiba a tomar otras lecturas de valores de diferentes componentes, no lo he hecho. Pero en lo que efectue
la nueva toma de valores se los paso.
Le comento que hice una modificación del programa para FreeBasic y me fui al foro de FB para preguntar algo
que no tenía claro todavía, y le resumo lo que me pasaba. Según respuesta me dice el sr. phishguy, que lo más
seguro es que no estoy tomando las lecturas de los valores en el mismo momento, y por esta razón me sale un
gráfico un tanto diferente. Eso es realmente cierto. Yo primero tomo las lecturas del horizontal y luego las
del vertical, por eso no me da el ovalo que espero ver. El sr. phishguy dió en el meollo del problema. El me informó
igual que usted, que puedo colocar ese +3 allí, haciendo los cambios pertinentes.
En unos días me dedico a realizar los cambios y poder integrar todo.
Gracias nuevamente por su apoyo, ha sido muy valioso para mi. Gracias nuevamente.
Pronto me pondré al día en esto......
Bye('_').....
Navegación
[*] Página Anterior
Ir a la versión completa