二直線のなす角
2つの傾きを入力すると、二直線のなす鋭角が分かります。傾き1と0なら45°、2と−1/2なら積が−1で垂直に交わる90°です。平行なら0°で、結果は度とラジアンの両方で示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- M1
- 1
- M2
- 0
- 角度 (度)
- 45
- 角度 (rad)
- 0.7853981634
- 積 m1·m2
- 0
2直線のなす角計算機は、傾きがすでに分かっているとき、2本の直線が形成する鋭角を求めます。解析幾何では垂直でない直線はいずれも上昇を水平方向で割った傾き m を持ち、教科書の古典的な恒等式 — tan θ は m2 から m1 を引いた絶対値を 1 に m1 と m2 の積を足したもので割った値 — が、その2数を0度から90度までの一意の鋭角に変換します。生徒、チューター、CAD 補助、試験対策ツールは、平行・垂直の浮動小数点の端ケースを毎回作り直さずにその結果を必要とします。本機能は有限の傾き m1 と m2 を受け取り、恒等式を適用し、結果を鋭角範囲に折り畳み、度・ラジアン・積 m1·m2・平行/垂直フラグを返します。
2直線のなす角を求める傾きの公式
直交座標平面で2点を通る垂直でない直線の傾き m は、y の変化を x の変化で割った値です。その1数が、正の x 軸から測った傾き角の正接になります。そのような2直線が交わるとき、形成する角は補角の対になります。
一方が alpha なら隣は180度から alpha を引いた値なので、幾何的に有用な要約は常に0度から90度までの鋭角(または直角)theta です。解析幾何は、その鋭角の正接が tan theta = |(m2−m1)/(1+m1·m2)| を満たすことを示します。絶対値が符号を除くため、どちらを先に呼んでも式は変わりません。
分母が0のとき傾きの積は −1 で直線は垂直となり、theta はちょうど90度で、正接の式は0除算になっていたはずです。傾きが等しいときは分子が消え、直線は平行または同方向となり、theta は0です。本計算機はまさにその恒等式を安定した丸めとともに実装し、宿題確認・LMS 自動採点・本番エッジワーカーが同じ入力でバイト一致するようにします。
切片や点は送りません。 方向を既に符号化した2つの傾きだけです。
入力する傾きと、縦の直線の扱い
m1 は第1直線の傾き、m2 は第2直線の傾きです。垂直線はこの契約の外に意図的に置かれます。垂直線は傾きが未定義なので、有限の m を渡しても垂直方向を意味できません。
クライアントがいずれかの傾きに vertical・inf・infinity を送ると、ハンドラは垂直線の傾きは未定義であり有限の m1 と m2 が必要だと明確に拒否します。例:m1 が1で m2 が0は水平に対して45度の直線なので鋭角は45度です。例:m1 が2で m2 が −0.5 は積が −1 となり、直線は垂直で角は90度です。
検証失敗は課金されません。図が必要ならご自身の作図と組み合わせてください。
活用例
授業・宿題の検算
生徒に2つの傾きを提出させ、教科書の tan 公式に対して鋭角・平行フラグ・垂直フラグを確認させます。
試験・LMS の自動採点
傾きが等しいとき 0°、m1·m2 = −1 のとき 90° を返す確定的オラクルで解析幾何の問題を採点します。
CAD マクロと経路計画
局所図の2つの方向傾きを交角に変換し、旋回・フィレット・すきま規則を適用する前に使います。
よくある質問
角は常に鋭角ですか?
はい。 絶対値と arctan の範囲により、直線間の鋭角(または直角)が得られ、鈍い補角にはなりません。
平行や垂直に交わるときはどうなりますか?
傾きが等しければ同じ向きなので0°になります。傾きの積が−1なら垂直に交わり、角はちょうど90°です。どちらの場合も結果にはっきり示されます。
y軸に平行な直線を入力できますか?
できません。y軸に平行な直線には傾きが定まらず、有限の数で表せないため受け付けません。傾きで表せる直線に使ってください。
傾きを入力する順番で結果は変わりますか?
変わりません。傾きの差の絶対値を使うため、入れ替えても同じ鋭角になります。どちらの直線を先に入力してもかまいません。
2点から直線の傾きを求めるには?
2点のyの変化をxの変化で割ります。この1つの数が直線の向きを表し、この計算機に必要なのはそれだけです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geom/angle-between-lines \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"m1":1,"m2":0}'const res = await fetch("https://api.kit.forhosting.com/geom/angle-between-lines", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"m1": 1,
"m2": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/angle-between-lines",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"m1": 1,
"m2": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/angle-between-lines", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"m1":1,"m2":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"m1":1,"m2":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/angle-between-lines", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"m1": 1,
"m2": 0
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.angle_between_lines",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
垂直線は傾きが未定義のため invalid_input で拒否し、呼び出し側が Infinity を黙って捏造しないようにします。
入力契約・垂直線・応答フィールド
必須の有限数2つを含む JSON 本体を POST します。各フィールドは JSON 数または数値文字列でよく、空文字・欠落・NaN・Infinity はフィールド名付きの invalid_input で失敗します。成功時は丸めた傾き、鋭角の angle_deg と angle_rad、角計算と同じ許容差から導いた is_parallel と is_perpendicular の真偽フラグ、垂直の積の規則を授業で素早く確認するための product_m1_m2、答えの横に示せる短い formula 文字列を返します。本エンドポイントは計量とフラグのみを返します。
2直線のなす角 API が役立つ場面
教室とチュータリング基盤は、任意の教科書の傾きについて絶対値の手順を取り違えたり、鈍い補角を鋭角範囲に戻し忘れたりせずに鋭角を検算できるよう、2直線のなす角計算機を使います。試験準備ジェネレータは、生徒のスクリプトが浮動小数点ノイズで食い違う代わりに、平行対を0度・垂直対を90度と確定的に採点するオラクルを必要とします。測量メモ、簡単な CAD マクロ、ロボット経路計画は、局所図の2方向ベクトルを傾きに落とし、旋回やフィレットを決める前に交角を必要とすることが多く、2数の問題に計算幾何のフルライブラリを引き込むより小さな parse API を呼びます。リクエストを小さく保ち、丸めた角をテストに固定すれば、記号計算基盤を自前で立てずに宿題・LMS プラグイン・エッジワーカー向けの再現可能な幾何が得られます。
技術的な質問
傾きから2直線のなす角をどう求めますか?
有限数 m1 と m2 を送ってください。API は tan θ = |(m2−m1)/(1+m1·m2)| から鋭角範囲 [0°, 90°] に折り畳んだ θ を度とラジアンで返します。
直線が平行または垂直のときは?
傾きが等しければ角 0° で is_parallel は true です。m1·m2 = −1 のとき角は 90° で is_perpendicular は true です。両方のフラグが成功ペイロードに含まれます。
垂直線を入力できますか?
できません。垂直線は傾きが未定義です。本計算機は有限の m1 と m2 を要求し、vertical や Infinity は invalid_input で失敗し課金されません。
2直線のなす角計算機の料金は?
ブラウザツールは無料です。API リクエストは成功1回あたり $0.002 の前払い KIT 残高を使い、無効入力は課金されません。