極座標平面の距離
半径3・角度0°の点と、半径4・角度90°の点の距離はちょうど5です。余弦定理を使うので、極座標の点をxとyに直さずに直線距離が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- R1
- 3
- シータ1
- 0
- R2
- 4
- シータ2
- 90
- 距離
- 5
- デルタシータ
- 90
- 角度の単位
- Degrees
平面上の点は、原点からの半径と固定基準線からの角を組にした極形式で書かれることがよくあります。ロボティクスの経路、アンテナパターン、レーダプロット、教室の三角法では、すべての座標を手作業で直交座標へ直さずに、そのような2点間の直線距離が必要です。極半径は原点からの非負の距離であるため、負の半径は拒否されます。
極座標平面距離の意味と余弦定理の公式
極座標では点を半径と角の順序対として書きます。半径は選んだ原点からのユークリッド距離であり、角は原点から点への半直線が、通常は平面の正の x 軸である固定正方向軸からどれだけ回転したかを測ります。原点での挟角は2つの極角の差の絶対値です。
非負の平方根をとると、半径と同じ長さ単位でのユークリッド距離が得られます。2点が同じ半直線と同じ半径を共有するとき距離は0です。挟角が90度のとき余弦項は消え、距離は平方のピタゴラス和の平方根に帰着し、半径が3と4なら古典的な3-4-5の直角三角形を再現します。
点が反対の半直線上にあるとき余弦は-1で、距離は半径の和になります。この式は x = r cos θ、y = r sin θ で直交座標へ変換して通常のユークリッド公式を使うのと代数的に同一です。余弦定理を使うと計算を極形式のまま保て、半径と角の対としてセンサやプロットデータを既に保持するクライアントコードでの中間変換を避けられます。
極座標の距離が役立つ場面
教室や個別指導のプラットフォームは、極座標距離計算機を使い、学習者が各問題を手で直交座標へ直して角の符号を誤ることなく、極点間の弦長を確認できるようにします。ロボティクスや組込みのチームは測距データをローカル原点からの半径と方位として保存します。
アンテナやレーダのツールはしばしば平面位置指示器上で目標を極形式でラベル付けし、近接警報の採点や実験レポートの採点に決定論的な距離オラクルが役立ちます。検証失敗は残高を消費しません。要求を小さく保ち、丸めた距離をテストに固定すれば、自前の数式処理基盤を立てずに宿題、LMS プラグイン、エッジワーカー向けの再現可能な平面距離が得られます。
本ツールは意図的に平面専用です。地理的 lat-lon 対の大圏距離や楕円体上の距離には、極座標の余弦定理ではなく専用の測地能力を使ってください。
活用例
教室での極幾何の確認
学習者に2点 (r, θ) を提出させ、手作業の直交変換なしに余弦定理で弦長を検証できるようにします。
ロボティクスとローカル極測距
共有ローカル原点からの半径と方位として保存された2つのセンサ戻り値間の直線距離を計算します。
レーダと平面位置ツール
PPI 表示上で極ラベルされた目標間の近接を、決定論的な平面距離オラクルで採点します。
よくある質問
これは大圏距離や地理的距離ですか?
いいえ。 余弦定理による極形式の平面ユークリッド距離です。lat/lon 測地には専用の geo 距離能力を使ってください。
極座標の距離はどんな式で計算しますか?
余弦定理を使います。1つ目の半径の2乗と2つ目の半径の2乗を足し、両方の半径の積の2倍に2点の間の角の余弦を掛けた値を引いて、その平方根を取ります。
2点が反対向きの線上にある場合はどうなりますか?
間の角の余弦がマイナス1になるため、距離は2つの半径の和になります。同じ向きの線上で半径も同じなら、距離は0です。
角度をラジアンで入力できますか?
はい。初期設定は度ですが、角度の単位の設定でラジアンを選べます。設定は2つの角度の両方に適用され、距離は半径と同じ長さの単位で返ります。
負の半径を受け付けないのはなぜですか?
極座標の半径は原点から点までの距離で、距離はマイナスになれないためです。反対向きを表したいときは、半径の符号ではなく角度を変えてください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geo/polar-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"r1":3,"theta1":0,"r2":4,"theta2":90}'const res = await fetch("https://api.kit.forhosting.com/geo/polar-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"r1": 3,
"theta1": 0,
"r2": 4,
"theta2": 90
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/polar-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"r1": 3,
"theta1": 0,
"r2": 4,
"theta2": 90
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/polar-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"r1":3,"theta1":0,"r2":4,"theta2":90}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"r1":3,"theta1":0,"r2":4,"theta2":90}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/polar-distance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"r1": 3,
"theta1": 0,
"r2": 4,
"theta2": 90
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.polar_distance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
角は既定では度、単位フィールドを設定すればラジアンでも指定できます。
入力契約、応答形、角の単位、エラー動作
いずれかの半径が負なら、この規約では極半径が符号付き長さになり得ないため要求は拒否されます。2本の半直線と弦のスケッチが必要ならご自身の描画と組み合わせてください。必須の有限数4つを含む JSON 本体を POST してください。任意の angle_unit は両角について度(既定)またはラジアンを選び、unit や angle_mode などの別名も受け付けます。各数値フィールドは JSON 数または十進文字列でよく、欠落・空文字列・非有限値・公開上限を超える絶対値はフィールド名付きの invalid_input で失敗します。成功時は本体が丸めた入力を返し、distance を平面弦長、delta_theta を角と同じ単位での theta2 から theta1 の差、angle_unit を解決済み単位、method を planar_law_of_cosines、formula を余弦定理の短い表示文字列として返します。本エンドポイントは距離のみを計算し、図、測地補正、球面三角法は出力しません。
極距離 API が価値を生む場面と料金の仕組み
小さな parse API を呼べば経路計画ノートブックに三角法ヘルパを重複させずに済みます。実装は純粋 parse の tier A のため、成功した各呼び出しはモデルトークンも外向きネットワークもなく、公開の基本料金 $0.002 です。
技術的な質問
2つの極点間の距離はどのように求めますか?
非負の r1 と r2、角 theta1 と theta2 を送ってください。API は既定で度を用い d = sqrt(r1² + r2² − 2·r1·r2·cos(θ2−θ1)) を返します。
角をラジアンで指定できますか?
はい。angle_unit を "radians" に設定します(別名: rad, unit)。theta1 と theta2 の両方がその単位で解釈されます。
負の半径が拒否される理由は?
本計算機では極半径は原点からの非負距離です。負の r1 または r2 は invalid_input で失敗し課金されません。
極距離計算機の料金は?
ブラウザツールは無料です。API 要求は成功呼び出しごとに前払い KIT 残高から $0.002 です。無効入力は課金されません。