問題タブ [angle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
937 参照

python - 正規表現を使用して角度値を解析する方法

正規表現を使用した経験はほとんどなく、正規表現を使用して、方位として表される角度値を解析する必要があります。例:

"N45°20'15.3"E"

これは、北東象限にある 45 度、20 分、15.3 秒を表します。

制限事項は次のとおりです。

  • 最初の文字は「N」または「S」にすることができます
  • 最後の文字は「E」または「W」
  • 0 <= 度 <= 59
  • 0 <= 分 <= 59
  • 0 <= 秒 < 60、省略可。

できれば Python またはその他の言語。

ありがとう

0 投票する
2 に答える
3384 参照

python - 特定の角度とオフセットで線をプロット

私が持っている元の画像(配列)の上に特定の線をプロットしようとしています。基本的に、線をプロットしたい角度とオフセット(画像の中心から測定)があります。問題は、これを行う方法が正確にわからないことです。これを行うための非常に複雑なコードを書くことはできますが、私が知らないもっと簡単な方法があるかどうか疑問に思っています(おそらくmatplotlibを使用)。ありがとう。

0 投票する
6 に答える
4103 参照

math - 角度と寸法が与えられたら、長方形の周囲に沿って座標を見つけます

アイコンが特定のピボット (または原点) を中心に回転するスクリプトを作成しています。楕円の周りでアイコンを回転させるためにこれを機能させることができましたが、特定の幅、高さ、原点の長方形の周囲を移動させたいと思っています。

私の現在のコードはすべての座標を配列に格納し、各角度の整数をキーとしており、このコードを再利用すると作業がはるかに簡単になるため、このようにしています。

誰かが 100x150 の長方形の例を教えてくれたら、それは素晴らしいことです。

編集:明確にするために、回転とは、形状の周囲 (または周回) を移動することを意味します。

0 投票する
3 に答える
1667 参照

math - 回転軸上の点を計算する方法は?

回転した軸上で、指定された距離だけ離れた点 (X,Y) を計算するにはどうすればよいですか? ポイントを「移動」させたい角度を(度単位で)知っています。

0 投票する
3 に答える
14653 参照

math - ラップアラウンドのある 2 つの角度の平均

重複の可能性:
一連の循環データの平均をどのように計算しますか?

a=20 度と b=350 度の 2 つの角度があります。これら 2 つの角度の平均は 185 度です。ただし、最大角度が 360 度であり、ラップアラウンドが可能であることを考慮すると、5 度がより近い平均であることがわかります。

平均を計算するときにラップアラウンドを処理するための適切な式を考え出すのに苦労しています。ヒントはありますか?

それとも、ここで自分の足を撃っていますか?これは数学の「悪い習慣」と見なされますか?

0 投票する
4 に答える
33457 参照

math - 3D ポイントを見るために回転を計算しますか?

3D オブジェクトが任意の 3D ポイントに面するように、2 つの角度 (ヨーとピッチ) を計算する必要があります。これらの回転は、最初の回転 (下の図に基づいて Z とします) の後、Y 軸もオブジェクトと共に回転するため、「オイラー」回転として知られています。

これは私が使用しているコードですが、完全には機能していません。地面 (Y = 0) にある場合、オブジェクトはポイントに面するように正しく回転しますが、ポイントを Y 方向に上に移動するとすぐに、回転が正しく見えません。

点から 2 つのオイラー角を計算する方法を知っていますか?


下の写真は、私が回転する方法を示しています。これらは私が計算する必要がある角度です。(唯一の違いは、Z、Y、X ではなく、X、Y、Z の順序でオブジェクトを回転させていることです)

写真

ここに画像の説明を入力


これが私のシステムです。

  • 座標系は、x = 右、y = 下、z = さらに奥です。
  • オブジェクトはデフォルトで (0,0,1) にあり、後ろ向きです
  • 回転は X、Y、Z の順で、X の回転はピッチ、Y はヨー、Z はロールです。

私のシステム

0 投票する
3 に答える
10779 参照

math - 数値が別の数値のパーセンテージ内にあるかどうかを判断する方法

スワイプした線がまっすぐかどうかをあいまいに認識する iPhone コードを書いています。2 つの終点の方位を取得し、それを 0、90、180、および 270 度と比較します。許容範囲はプラスマイナス 10 度です。今、私はたくさんの if ブロックを使ってそれをやっていますが、これは非常に不格好に思えます。

方位0..360、公差パーセンテージ (たとえば 20% = (-10° から +10°))、および90 度などの直線角度が与えられた場合、方位が公差内にあるかどうかを返す関数を作成する方法は?

更新: おそらく、私は具体的すぎます。数値が別の数値のパーセンテージ内にあるかどうかを判断する優れた一般的な関数は、多くの分野で役立つと思います。

例: swipeLength の数値はmaxSwipe10 %以内ですか? それは役に立ちます。

私が何を得ているか分かりますか?

0 投票する
7 に答える
3689 参照

math - 現在の速度ベクトルからターゲット ベクトルへの推力のスムーズな変化のプログラミング

TL;dr: 「あるベクトルから別のベクトルへの推力のスムーズな移行を計算する方法がわかりません。」

敵がオープンスペース(壁なし)でプレイヤーを追いかける簡単なゲームをプログラミングしています。敵の x 速度と y 速度を個別に計算し、敵がプレイヤーの方向に進んでいる場合は加速し、間違った方向に進んでいる場合は急速に減速しました (例: EnemyVelocity.x > 0 & player.x <enemy.x) 、次に EnemyVelocity.x - 2.)

敵をかわそうとするゲームプレイはそれなりに楽しいものですが、敵が適切な物理学を使用して動作するようにしたいというのが私の望みです。私が現在行っていることは、敵とプレイヤーの間の角度に基づいて敵に推力を設定させ (宇宙船を考えてください)、推力を最大速度まで加速させます (EnemyVelocity 三角形の辺 c を計算します)。それが起こると、推力を自動的に調整する最善の方法がわかりません。最大速度を設定しないと、敵はうまく加速しますが、プレイヤーを簡単に追い越してしまい、プレイヤーの方向に戻るのに十分な勢いを得るのに長い時間がかかります。

私が実現したいのは、敵がプレイヤーに向かう途中で常に速度を調整し、敵がいる場所をターゲットにすることです (プレイヤーがどこにいるかを敵に予測させたくありません)。次に、プレイヤーを逃した場合、同じ推力と加速の式で速度を再調整し、プレイヤーに送り返したいと思います。

これには 2 つのベクトルが関係すると考えています。1 つは敵が現在移動している場所で、もう 1 つは敵が移動しようとしている場所です (プレイヤーに直接向かうベクトル)。あるベクトルから別のベクトルへの推力のスムーズな移行を計算する方法がわかりません。

ヒント、公式、質問は大歓迎です!ありがとうスタックオーバーフロー。

0 投票する
7 に答える
15960 参照

math - 角度を水平方向に反転する

多くの操作を行うことなく、水平軸の角度を反転する方法を知りたいです。角度が 0 (コードの座標系で「右向き」) であるとします。反転した角度は 180 (左向き) である必要があります。90 (上向き) の場合、反転しても 90 のままです。89 は 91 などです。角度によって暗示される X/Y 速度で操作できますが、それでは速度が低下し、適切な方法ではないと感じています。私はあまり数学を知らないので、間違った名前で呼んでいるかもしれません...誰か助けてくれますか?

編集:申し訳ありませんが、時間がかかりました。長い間コンピューターから離れなければなりませんでした... http://img215.imageshack.us/img215/8095/screenshot031v.jpg

このスクリーンショットで十分かもしれません。上の構造は、2 つの衛星と、中央の白い点にリンクされたビームです。2 つのサテライトは白い点の角度を継承する必要があります (デバッグ目的で表示されます)。左の衛星が映っているので、こちらも初挑戦でしたが、おっしゃる通り180度で計算してみました。ご覧のとおり、ミラーではなく反転しています。そして、白い点が回転すると逆回転します。もう一方は大丈夫です。

これは、何か他のものにリンクされたものの角度の再計算です。pid が親になり、id が現在になります。pin.ang は、オブジェクトが別のオブジェクトにリンクされるときにコピーされる角度オフセットであるため、回転しても位置が保持されます。

そして、これが特定の回転部分です。OpenGL。offx/y は、ビームがそこに出ようとしているように、中心から外れたものを回転させるためのもので、他のすべてを正しくレンダリングします。

回転速度 (次の例のように、現在の角度に再描画ごとに追加される整数。時計回りに回転する場合は正 )

したがって、180 度ではないことは間違いありません。ミラーリングは、テクスチャ座標を逆にするだけで行われるため、角度には影響しません。GL ローテーションの癖かもしれません。

0 投票する
2 に答える
863 参照

java - 3d ベクトルのグローバル角度

方向を表す Up Right と Front の 3 つのベクトルがあります。

glRotatef() で使用できるように、これらを XYZ 角度 (3 つの浮動小数点数) に変換する必要があります。

助けてください

[編集]

正しくレンダリングされていません。ここで露骨なものかどうかわかりますか:pastebin.com/f6683492d