Mit Sin-1 oder inverser Sünde in Python

Hier ist mein Code:

# point of intersection between opposite and hypotenuse x,y = pygame.mouse.get_pos() # using formula for length of line lenline1 = (xx)**2 + (300-y)**2 lenline2 = (x-700)**2 + (y-300)**2 opposite = math.sqrt(lenline1) adjacent = math.sqrt(lenline2) # Converting length of lines to angle PQ = opposite/adjacent k = math.sin(PQ) j = math.asin(k) print(j) 

Ich bekomme nicht die Ergebnisse, die ich erwartet hatte, obwohl nach dem Durcheinander mit ihm war ich nah, aber es war nicht ganz richtig. Könnte mir bitte jemand sagen, was ich falsch mache. Ich habe zwei Zeilen: gegenüber und angrenzend Und ich möchte den Winkel mit dem Inversen der Sünde bekommen. Was mache ich falsch. Ich bin nur ein Anfänger, also gib nicht zu detaillierte Infos. Ich kann mir nicht vorstellen, dass das schwer zu tun ist.

Vielen Dank.

  • Python-Tab-Vervollständigung Mac OSX 10.7 (Lion)
  • Auspacken eines struct-Endes mit einem ASCIIZ-String
  • Warum mein Python sieht nicht pysqlite?
  • Python wiederholen programm während wahr [duplizieren]
  • Hinzufügen von verschachtelten HasTraits-Eigenschaften zu einem TraitsUI TView
  • Das Paket kann nicht von virtualenv importiert werden
  • 3 Solutions collect form web for “Mit Sin-1 oder inverser Sünde in Python”

    Um den Winkel zwischen zwei Zeilen zu finden, verwenden Sie folgende Beziehung:

     cos(angle) = (l1 dot l2) / (|l1| |l2|) 

    Das ist,

     dotproduct = l1x * l2x + l1y * l2y lenproduct = |l1| * |l2| angle = acos(dotproduct / lenproduct) 

    Wobei l1x, l1y die x, y-Komponenten der Linie l1 sind.

    Kümmern Sie sich nicht mit der k Berechnung, es ist bedeutungslos.

     j = math.asin(PQ) 

    Allerdings funktioniert das nur für rechtwinklige Dreiecke und man muss die Seitenlängen an den richtigen Stellen anpassen. Im Allgemeinen wird das nicht funktionieren und du musst die Punkt-Produktmethode verwenden .

    Sieht aus wie Sie versuchen, den Winkel des Dreiecks (700.300), (x, 300), (x, y) zu finden. Du machst es viel komplizierter als es sein muss. Die Länge der Hypotenuse ist math.hypot((700-x),(300-y)) und der Winkel ist math.atan2((700-x), (300-y)) .

    Python ist die beste Programmiersprache der Welt.