Visual Basic - Gráficas de Funciones de dos Variables

Life is soft - evento anual de software empresarial
   
Vista:

Gráficas de Funciones de dos Variables

Publicado por Iharob Al Asimi (2 intervenciones) el 11/10/2007 16:28:14
Hola soy estudiante de física, hace un tiempo me había preguntado, como hacer la representación gráfica de una función de dos variables (3D), usando visual basic. Descubrí que es posible con una simple suma de vectores. esa explicación la puedo enviar si alguien me la pide porque es tedioso escribirla para el foro. Lo que hay que hacer es lo siguiente.

En un formulario creamos un control Picture_Box.

Declaramos en el Módulo

Public Theta, Phi

Luego construimos estas funciones en un módulo

'Para transformar de Grados a Radianes.

Public Function Radianes (Angulo)
Radianes = Angulo * ( 180 / 3.141592654 ) ' 3.141592654 es el valor de Pi, puede ser mas preciso si quieren
End Function

'Para dibujar puntos de 3D en un plano 2D

Public Function X_Bidimensional (x, y, z)
X_Bidimensional = (y * Cos (Phi)) - (x * Cos (Theta))
End Function

Public Function Y_Bidimensional (x, y, z)
Y_Bidimensional = z - ((x * Sin(Theta)) + (y * Sin(Phi)))
End Function

Public Function f (x, y, z)
f = 5 * Exp(-(x^2 + y^2)) ' Esto es una función de dos variables PUEDE SER CUALQUIERA
End Function

Ahora en el Evento Form_Load()

Private Sub Form_Load()

Theta = Radianes (25)
Phi = Radianes (15)

With Picture_Box

.Scale = (-10, -10)-(10, 10) 'Los Límites del espacio donde se va a graficar

' Los ejes de coordenadas

.Line (X_Bidimensional(0, 0, 8), Y_Bidimensional(0, 0, 8))-(0, 0) 'Z
.Line (X_Bidimensional(0, 8, 0), Y_Bidimensional(0, 8, 0))-(0, 0) 'Y
.Line (X_Bidimensional(8, 0, 0), Y_Bidimensional(8, 0, 0))-(0, 0) 'X

'La Gráfica de la función

For x = -8 to 8 Step 0.02
For y = -8 to 8 Step 0.5
z= f (x, y, z)
.Line (X_Bidimensional(x, y, z), Y_Bidimensional(x, y, z))-(X_Bidimensional(x, y, z) + 0.1, Y_Bidimensional(x, y, z) + 0.1) , vbBlue
Next
Next

' Ahora se gráfica transversal a la primera vez, para ver la gráfica cuadriculada

For x = -8 to 8 Step 0.5
For y = -8 to 8 Step 0.03
z= f (x, y, z)
.Line (X_Bidimensional(x, y, z), Y_Bidimensional(x, y, z))-(X_Bidimensional(x, y, z) + 0.1, Y_Bidimensional(x, y, z) + 0.1) , vbBlue
Next
Next

End With

End Sub

No se ve profundidad en el dibujo, pero para fines de analísis es bastante útil.... Además si eres ingenioso puedes Hacer Aún Más cosas con este código.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Gráficas de Funciones de dos Variables

Publicado por Fabian (2 intervenciones) el 06/12/2007 01:38:22
Muchas gracias por el dato.
Al copiar, se ve que por cuestión de ancho de caracteres falta algo porque me da errores.
Si puede y es tan amable le pediría el código completo. Es para hacer una gráfica para una tesis de grado.
Desde ya muchas gracias por todo.

Fabián Palacios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gráficas de Funciones de dos Variables

Publicado por KIMBERLIN (1 intervención) el 19/06/2011 03:12:50
HOOLA ESTOY INTERESADA ME PODRIAS AYUDAR esa expliacacion de los vectores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar