1

これは基本的な質問だと思いますが、私の数学のスキルが不足しています。

私は、人々が自分のプラットフォームを描いて卵を跳ね返すiPhoneゲームに取り組んでいます。

ゲームは2つのノードを接続するプラットフォームで構成され、これらの各ノードにはxとyの値があります。このプラットフォームは、ユーザーの描画方法に応じて任意の角度にすることができます。このプラットフォームに何かが当たった場合、垂直に当たる必要があります。必要な総電力量を知っています。XとYの間でどのように分解しますか。わかりやすく説明するために絵を描きました...

それぞれ異なる方向への私の問題の2つの例

この問題について私が持っている情報の2つの例は、ノードのX座標とY座標、および点線の垂線の長さです。私が見つける必要があるのは、X線とY線の長さ、およびXが正または負の方向に進んでいるかどうかです。

4

2 に答える 2

2

N1 と N2 の 2 つのノードがあり、行の長さが L の場合、次のようになります。

ndx = N1.x - N2.x
ndy = N1.y - N2.y
ndist = sqrt(ndx*ndx + ndy*ndy)
x = ndy * L / ndist
y = ndx * L / ndist
于 2012-06-08T22:13:42.287 に答える
1

2 点がABで、直線の長さが の場合、まずx 軸に対してLなす角度を見つける必要があります。AB

theta = atan( (B.x - A.x) / (B.y - A.y) )

これで武装すると、次のことがxわかりyます。

x = L * cos( theta )
y = L * sin( theta )

考慮しなければならない唯一のエッジ ケースは、水平線の場合です (この場合、シータの計算時にゼロ除算が行われるため、計算は失敗します)。横線の場合はx=0y=L.

于 2012-06-08T23:55:00.293 に答える