2010-12-16 6 views
3

私はいくつかの解決策を見つけましたが、それらは言語固有のものか、複雑すぎるものです。私は単に、n点を回転させた別の点から点n距離を取得する必要があります。私はこれをHTML5キャンバスのプロジェクトに使用しています。私は回転機能があることを知っていますが、私はパスを使って作業しています。それにもかかわらず、私はx、y、距離、方向をつけることができる式が好きです。点回転のXとYを別の点から一定の距離だけ取得します

+2

鉛筆と紙を壊して、数学を計算します。コードに変換します。 –

+0

これは単純な三角計算です。ラジアンまたは度で '' n ''ですか? – stillstanding

+1

私はこれらの三角法の計算を、ゲームを開発する日に戻していました。あなたがプログラミングの時にこの数学をするのは楽しいことですが、たとえそれがどこに当てはまるのか分からずに学ばなければならない時に、私は大学で同じ数学を憎んでいました。 @ Ruffianあなたは数学のテキストを読んで、このことを学ぶべきです、それが適切にして画面上で回転するものを得ると、それは面白くて非常に有益です:) –

答えて

4
newx = distance * Math.cos(direction) + x 
newy = distance * Math.sin(direction) + y 
+0

ありがとう、私は彼らがコスと罪を使用したと思った。どちらもかなりよく理解していません。 trig関数を調べる必要があるとします。 – Anonymous

+0

高校から 'sohcahtoa'を覚えていますか? :) – sje397

0

角度のサインとコサインを計算することで、指定された回転で原点から1単位離れたポイントを得ることができます。必要な距離だけ座標を掛けてください。余弦は、Xに相当し、サインは言い換える

をYに対応する:

  • 角度を決定します。
  • 角度の余弦を求めることによってXを計算します。
  • 角度のサインを取得してYを計算します。
  • XとYに距離を掛けます。
  • "ソース"ポイントでXとYをオフセットします。
+1

サインはYに対応し、コサインはXに対応 –

+0

@Senthilありがとう、編集中。詳細な説明は – Maxpm

+0

+1です。いくつかの擬似コードを追加することができたら、それは完全であると言うでしょう。 –

関連する問題