Gráficas en visual basic

Me han pedido que haga una gráfica con el visual basic que represente la posición en función del tiempo de un cuerpo.
A partir de una velocidad que entro en un textbox y el angulo de inclinación que entro en otra textbox.
El gráfico tiene que ser lineal donde se vea la progresión de este cuerpo
io tengo exa una parte pero no se como acer para que me salga en la gráfica...
Dim x, y, v, at, t, ay As Single
Dim Array1() As Single
Dim Array2() As Single
Dim i As Long
ReDim Array1(1 To 500)
ReDim Array2(1 To 500)
For i = 1 To 500
at = 0.01
ay = -9.8
v = Val(Txt1.Text)
t = t + at
x = (v * Cos(Txt2.Text / 180 * 3.141593)) * t
y = (v * Sin(Txt2.Text / 180 * 3.141593)) * t + 1 / 2 * ay * t ^ 2
Array1(i) = x
Array2(i) = y
GR1.Col = 1
GR1(i).Rows = Array1(i)
GR1(i).Text = Array1(i)
GR2.Col = 2
GR2(i).Rows = Array2(i)
GR2(i).Text = Array2(i)
Next i
Tengo esto pero tampoco se si esta bien, no se si los arrays los tengo bien echos o no..
Por favor me urge bastante, si podéis ayudarme os lo agradecería muchísimo

1 respuesta

Respuesta
1
Para representar dibujos en VB debes incluir en tu formulario un objeto llamado "Picturebox". Una vez hecho ésto debes llamar a las funciones de dibujo para el mismo, te dejo un ejemplo de como dibujar unos ejes X-Y para ver si te aclaro tus dudas.
Public Sub dibuja_ejes()
Dim dibujo As Graphics = PB_1.CreateGraphics 'declaramos area de dibujo
Dim lapiz As New Pen(Color.White) 'declaramos lapiz ejes
Dim xcentro As Integer = 2
Dim ycentro As Integer = PB_1.Height / 2
Dim yfin As Integer = PB_1.Height / 2
Dim xfin As Integer = PB_1.Width / 2 lapiz.Width = 4
dibujo.TranslateTransform(xcentro, ycentro) 'tranladamos cordenadas al centro
dibujo.ScaleTransform(1, -1) 'convertimos a cordenadas normales
xfin = PB_1.Width
dibujo.Clear(Color.Black)
'DIBUJAMOS EJES X-Y
ycentro = -(PB_1.Height / 2) + 5
xcentro = 2
Dibujo. DrawLine(lapiz, xcentro, ycentro, xfin, ycentro) 'eje X
dibujo. DrawLine(lapiz, xcentro, ycentro, xcentro, yfin) 'eje Y
End sub
Pero aver yo lo que quiero es acer un gráfico a patir de una dadas que encuentro mediante los cálculos que e puesto antes... y es eso lo que no se acer...
Si me pudieras ayudar te lo agradecería
A y muchas gracias por la respuesta!
Al igual que en la función de dibujar los ejes X-Y una vez que tengas los arrays, lo único que tienes que ir haciendo es dibujar una linea entre un punto y otro. Es decir, dibujas una linea el punto x1, y1 hasta x2, y2 y sucesivamente, las escalas y toda la preparación que lleva lo que te coloqué antes, es para poder dividir en N partes iguales el eje X e Y, para que la representación ocupe siempre todo el área de dibujo. Ahora bien si tienes valores positivos y negativos, tendrás que jugar con tu Xcentra e y centro de lo que te he colocado antes, para comenzar la gráfica desde donde desees.
En conclusión para dibujar una gráfica solo has de hacer una instrucción "for" para recorrer todo tu array, y refrescarlo cada cierto tiempo. Pon un Timer que te dibuje las gráficas cada N décimas de segundo por ejemplo. Así es al menos como suelo hacerlo yo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas