2

これが私のコードです:

# point of intersection between opposite and hypotenuse

x,y  =    pygame.mouse.get_pos()


# using formula for length of line

lenline1 = (x-x)**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)  

期待した結果が得られませんでしたが、いじり回した後、近づきましたが、正しくありませんでした。誰かが私が間違っていることを教えてもらえますか?私には2つの線があります:反対と隣接そして私はsinの逆数を使用して角度を取得したいと思います。私は何を間違っているのですか。私は初心者なので、あまり詳細な情報を提供しないでください。これが難しいとは思えません。

ありがとう。

4

3 に答える 3

3

2 つの線の間の角度を見つけるには、次の関係を使用します。

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

あれは、

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

ここで、l1x、l1y は直線 l1 の x、y コンポーネントです。

于 2012-09-15T08:52:22.270 に答える
1

計算を気にしないでくださいk、それは無意味です。

j = math.asin(PQ)

ただし、これは直角三角形に対してのみ機能し、適切な場所で適切な辺の長さを指定する必要があります。通常、これは機能せず、内積法を使用する必要があります。

于 2012-09-15T08:38:59.663 に答える