Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problema matematico sin^-1

Estas en el tema de Problema matematico sin^-1 en el foro de Visual Basic clásico en Foros del Web. buenas estoy con un problema matematico y e recurrido a un foro de matematica y bien me an dado la respuesta pero el tema es ...
  #1 (permalink)  
Antiguo 27/08/2006, 21:15
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 20 años
Puntos: 3
Problema matematico sin^-1

buenas estoy con un problema matematico y e recurrido a un foro de matematica y bien me an dado la respuesta pero el tema es que no se como carajo aplicarlo con visual



el probema esta en como puedo hacer sin elevado a la -1 (Seno^-1)
pero la verdad no doy con pies con bola

si yo utlizo X = 50 e Y = 50 entonses el resultado deveria ser 45º

y tampoco se como hacerlo con la calcualdora cientifica

es para poder obtener un angulo mediante la hipotenusa

bien si alguien sabe que chifle ya que no se mas que solucion buscar

el post en cuestion por si alugien quiere algun dato mas
http://www.rinconmatematico.com.ar/f....php?topic=381 1.0
__________________
www.leandroascierto.com
  #2 (permalink)  
Antiguo 27/08/2006, 21:53
Avatar de [EX3]  
Fecha de Ingreso: marzo-2006
Ubicación: Fuenlabrada, Madrid
Mensajes: 203
Antigüedad: 19 años, 1 mes
Puntos: 1
Exactamente que necesitas saber? el angulo dado entre dos puntos? por que de ser asi la solucion seria mas sencilla. Este el codigo que tengo implementado en la dx_lib32 para calcular el angulo entre dos puntos:

Código:
'Calcula en angulo entre dos puntos:
Public Function MATH_GetAngle(X1 As Long, Y1 As Long, X2 As Long, Y2 As Long) As Single
    MATH_GetAngle = CSng(MATH_Atan2(CDbl(Y2) - CDbl(Y1), CDbl(X2) - CDbl(X1)) * 180 / PI)

End Function

'Devuelve el arco tangente en radianes de dos números:
Public Function MATH_Atan2(X As Double, Y As Double) As Double
    On Error GoTo ErrOut
    Dim Theta As Double

    If (Abs(X) < 0.0000001) Then
         If (Abs(Y) < 0.0000001) Then
              Theta = 0#

         ElseIf (Y > 0#) Then
               Theta = 1.5707963267949

         Else
               Theta = -1.5707963267949

         End If

    Else
         Theta = Atn(Y / X)
  
         If (X < 0) Then
              If (Y >= 0#) Then
                   Theta = 3.14159265358979 + Theta

               Else
                  Theta = Theta - 3.14159265358979

               End If

            End If

     End If
    
    MATH_Atan2 = Theta

ErrOut:

End Function
No sera el metodo mas optimo quizas pero igual podria servirte para lo que estas intentando hacer.

Salu2...
__________________
Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX

Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra.

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:19.