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
Mira este ejemplo:
(http://img21.imageshack.us/img21/6056/asd3r.jpg)
Código:
Dim oX, oY, dX, dY, x, y As Integer
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
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
Wow , muchas gracias , lo adaptare a mis interteses :)
enserio gracias tio!
saludos
De nada, un gusto. Estamos para ayudar ::)
Una pregunta , como estan hechas las lineas y los ejes?
Con que herramienta.
saludos
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:
Picturbox.Line
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..
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.
Y donde puedo encontrar eso que dices para modificar circulos o lineas dentro del picturebox xD
Pq no consigo hacerlo.
saludos
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.
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
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".
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.