Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: oJosLoCos en 26 Julio 2009, 20:24 pm



Título: Como Representar un eje de coordenadas
Publicado por: oJosLoCos en 26 Julio 2009, 20:24 pm
Estoy creando un ejecutable en visual que resuelva ecuaciones , y necesito resolverlas de forma grafica , no obstante , no tengo ni la menor idea de como representar un eje de coordenadas cartesianas en visual basic.

Ni siquiera he podido idear un boceto..

Alguna sugerencia gente?

gracias


Título: Re: Como Representar un eje de coordenadas
Publicado por: h0oke en 26 Julio 2009, 20:46 pm
Mira este ejemplo:

(http://img21.imageshack.us/img21/6056/asd3r.jpg)

Código:

Código
  1. Dim oX, oY, dX, dY, x, y As Integer
  2.  
  3. Private Sub Cmd_Graficar_Click()
  4. x = oX + Val(Txt_CordX.Text)
  5. y = oY - Val(Txt_CordY.Text)
  6. Pic_Graf.Line (dX, dY)-(x, y), vbBlue
  7. End Sub
  8.  
  9. Private Sub Form_Load()
  10. Label1(0).Caption = "X"
  11. Label1(1).Caption = "Y"
  12. Txt_CordX.Text = ""
  13. Txt_CordY.Text = ""
  14. Me.ScaleMode = 3
  15. Pic_Graf.ScaleMode = 3
  16. Pic_Graf.Height = 400
  17. Pic_Graf.Width = 400
  18. Pic_Graf.AutoRedraw = True
  19. Pic_Graf.Line (200, 0)-(200, 400)
  20. Pic_Graf.Line (0, 200)-(400, 200)
  21. oX = 200
  22. oY = 200
  23. dX = 200
  24. dY = 200
  25. End Sub


Título: Re: Como Representar un eje de coordenadas
Publicado por: oJosLoCos en 26 Julio 2009, 21:49 pm
Wow , muchas gracias , lo adaptare a mis interteses :)

enserio gracias tio!

saludos


Título: Re: Como Representar un eje de coordenadas
Publicado por: h0oke en 26 Julio 2009, 22:06 pm
De nada, un gusto. Estamos para ayudar  ::)


Título: Re: Como Representar un eje de coordenadas
Publicado por: oJosLoCos en 27 Julio 2009, 14:06 pm
Una pregunta , como estan hechas las lineas y los ejes?

Con que herramienta.
saludos


Título: Re: Como Representar un eje de coordenadas
Publicado por: h0oke en 27 Julio 2009, 15:42 pm
Las líneas de los ejes se lo utiliza aprovechando el picturebox que da la opción de manipular gráficos 2d.

Por lo tanto sería con lo siguiente:

Código:
Picturbox.Line


Título: Re: Como Representar un eje de coordenadas
Publicado por: oJosLoCos en 28 Julio 2009, 00:33 am
Parecia mas facil de lo que es.

Quisiera recrear primero el programa en si , osea el ejemplo para poder entender todos los parametros y tal , pero.. me he quedado bloqueado.

La caja del picturebox , la he puesto.
Para hacer las lineas divisorias , de los 4 cuadrantes que aparecenen el ejemplo , como deberia hacerse? Con la herramienta Line?

private Sub Form_Load()
Label1(0).Caption = "X"
Label1(1).Caption = "Y"
Txt_CordX.Text = ""
Txt_CordY.Text = ""

Me.ScaleMode = 3
Pic_Graf.ScaleMode = 3
Pic_Graf.Height = 400
Pic_Graf.Width = 400
Pic_Graf.AutoRedraw = True
Pic_Graf.Line (200, 0)-(200, 400)
Pic_Graf.Line (0, 200)-(400, 200)
oX = 200
oY = 200
dX = 200
dY = 200
End Sub

De todo ese fragmento de codigo , todos esos parametros deverian ser retocados en las propeidades del picture box? o tienen que constar en el codigo.
Dentro del picturebox no encuentro nada de oX oY , etc...


Saludos u.u y ruego disculpas , soy novato..


Título: Re: Como Representar un eje de coordenadas
Publicado por: h0oke en 28 Julio 2009, 00:38 am
Los ejes se generan por una "propiedad"(no me atrevo a decirlo, ya lo confirmará un experto) del picturebox, que permite manipular lineas, circulos, etc.

Ahora ox,oy son las coordenadas del "origen", son variables declaradas por mi.

Para el proyecto solo necesitas 2 labels, 2 textbox, 1 command, 1 picturebox unicamente.


Título: Re: Como Representar un eje de coordenadas
Publicado por: oJosLoCos en 28 Julio 2009, 12:53 pm
Y donde puedo encontrar eso que dices para modificar circulos o lineas dentro del picturebox xD
Pq no consigo hacerlo.

saludos


Título: Re: Como Representar un eje de coordenadas
Publicado por: h0oke en 28 Julio 2009, 16:36 pm
La "propiedad" .line es lo mismo que utilizar una línea común, tienes X1 X2 Y1 Y2.
La "propiedad" .circle es muy parecido, unicamente cambian las coordenadas a representar.


Título: Re: Como Representar un eje de coordenadas
Publicado por: oJosLoCos en 28 Julio 2009, 18:37 pm
Vale.

Entonces creo 2 lineas una horizontal y otra vertical dentro del picture box.
Dices que oX , oY , son el centro , osea el origen , donde cruzan ambas lineas.

Pero siendo asi , no entiendo donde estan situados pues dX dY .

Que hace exactamente esta parte del codigo?
Private Sub Cmd_Graficar_Click()
x = oX + Val(Txt_CordX.Text)
y = oY - Val(Txt_CordY.Text)
Pic_Graf.Line (dX, dY)-(x, y), vbBlue
End Sub

x la entiendo , suma el valor del origen dependiendo de su signo correra a derecha o a izquierda , pero Y , no lo entiendo , porque restarle al orgien el valor de y?

Y por ultimo , picgra.line , no lo acavo de entender que funcion tiene lo de dx,dy - x,y

Siento ser taaan ignorante.. xD pero esque tampoco soy un buen matematico. saludos


Título: Re: Como Representar un eje de coordenadas
Publicado por: h0oke en 28 Julio 2009, 19:05 pm
Citar
. xD pero esque tampoco soy un buen matematico

No esperes graficar funciones entonces, si no sabes lo que es una línea(sin ofender).

Te recomiendo que depures el código y veas como se "dibujan" los "line".


Título: Re: Como Representar un eje de coordenadas
Publicado por: oJosLoCos en 28 Julio 2009, 19:35 pm
Bueno.. con lo de que no soy un buen matematico me referia a que no soy un iluminado de esas cosas , pero equaciones de una recta , y tal , he hecho. la cuestion es que me gusta asumir muy bien como funciona todo antes de ponerme a experimentar por mi cuenta . Habia cosas que ignorava , como que por ejemplo en visual basic , el orgien se situa en la parte superior izquierda por defecto , o eso he leido.

Tal vez es por eso que has colocado lo de  y = oY - Val(txt_cordY.text) , ya que las Y positivas van hacia abajo , no?

Entonces no se puede desplazar el punto 0,0 a donde queramos? tenemos que adaptar nuestra idea al punto superior izquierdo?

saludos


Edito , lo he creado y tal , siguiendo tu ejemplo xD y empiezo a entenderlo , empezare a experimentar y si me surge algo lo posteo.
Muchas gracias , sobretodo por la paciencia.