三角形の分類ツール:辺と角で判定(正三角形・直角など)
3辺の長さを入力すると、2つの分類が一度に分かります。3、4、5なら不等辺三角形で、しかも直角三角形です。分類の前に、その長さで三角形が本当に作れるかを確かめます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- A
- 3
- B
- 4
- C
- 5
- 辺による分類
- scalene
- 角による分類
- right
三角形の3辺の長さを入力すると、この機能は一度の呼び出しで古典的な2つの分類の問いに答えます。辺による分類(正三角形・二等辺三角形・不等辺三角形)と、角による分類(鋭角・直角・鈍角)です。まず、入力された長さが実際に三角形を構成できるかどうかを三角不等式の定理に基づいて確認し、不可能な3つ組は意味のないラベルを付けるのではなく、明確なエラーで拒否します。角の分類にはピタゴラスの定理の逆を用い、最長辺の二乗と他の2辺の二乗の和を比較します。
2つの分類を1回の呼び出しで
三角形は2つの独立した軸で分類されますが、学習者はこれらを混同しがちです。第1の軸は辺に注目します:3辺がすべて等しければ正三角形、ちょうど2辺が等しければ二等辺三角形、3辺がすべて異なれば不等辺三角形です。
第2の軸は角に注目します:1つの角がちょうど90度なら直角三角形、3つの角がすべて90度未満なら鋭角三角形、1つの角が90度を超えれば鈍角三角形です。2つの軸は独立しているため、どの組み合わせも可能です。たとえば3-4-5の三角形は不等辺かつ直角であり、正三角形は常に鋭角三角形です。
まず妥当性の確認:三角不等式
3つの正の数がすべて三角形を表すわけではありません。三角不等式の定理によれば、任意の2辺の和は残りの1辺より厳密に大きくなければなりません。実際には、短い2辺の和が最長辺を上回るかを確認するだけで十分です。
1、2、5のような長さはこの判定に不合格です。短い辺同士が単に届かないのです。1、2、3のような退化した場合も同様で、3つの点が1本の直線上につぶれてしまいます。
比較には小さな相対許容誤差を用いるため、0.1、0.2、0.3のような浮動小数点の入力も、生の二進演算ではなく人間が判断するのと同じように判定されます。
角を使わずに角度を判定する仕組み
三角形が鋭角か直角か鈍角かを知るのに三角法は不要です。辺の長さだけで決まります。辺をzが最長になるように並べ替え、z²をx² + y²と比較します。
両者が等しければ、ピタゴラスの定理の逆により直角三角形です。z²の方が小さければ、最長辺は直角を開くには「短すぎる」ため、対角、つまり三角形全体が鋭角です。z²の方が大きければ、対角は90度を超えて開き、三角形は鈍角となります。
これがアルゴリズムのすべてです:1回のソート、3回の乗算、1回の比較のみで、すべて相対イプシロンを用いて行うため、小数の入力も予測どおりに動作します。ここで試したものが、そのままあなたの統合環境で得られるものです。
活用例
宿題やクイズの採点
3辺の長さから生徒が行った三角形の分類を検証し、辺ベースと角ベースの両方のラベルを返します。不可能な3つ組の場合は明確なエラーを返します。
個別指導・eラーニングアプリ
幾何学の演習で即座にフィードバックを生成します:独自の検証ロジックを書かずに、5-5-8が二等辺かつ鈍角であるかどうかを表示できます。
幾何学データパイプライン
データセット内の三角形レコードに2つの分類を付けてから下流の分析に渡し、退化したまたは無効な測定値は境界で拒否します。
よくある質問
正三角形も二等辺三角形ですか?
数学的には包含的な定義のもとではそうですが、この機能は最も具体的なラベルを返します:3辺が等しい場合は正三角形と報告され、二等辺三角形はちょうど2辺が等しい場合のみ使われます。
鋭角・直角・鈍角はどうやって判定しますか?
最長辺の二乗と他の2辺の二乗の和を比較します。これはピタゴラスの定理の逆であり、浮動小数点入力のために小さな相対許容誤差を設けています。
小数や非常に小さい辺の長さも使えますか?
はい。 0.1、2.5、7.75のような小数を含め、正の有限の数値であれば何でも使えます。結果に影響するのは辺同士の比率だけなので、単位は関係ありません。
1、2、5の長さで三角形ができないのはなぜですか?
短い2辺の和が最も長い辺より大きくないと、三角形は閉じないためです。1と2を足しても5に届かないので、分類はせずに受け付けません。
正三角形は必ず鋭角三角形になりますか?
はい、なります。辺による分類と角による分類は別の軸ですが、3辺が等しいと最も長い辺の2乗が他の2辺の2乗の和より小さくなるため、必ず鋭角に分類されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/classifying-triangles \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":3,"b":4,"c":5}'const res = await fetch("https://api.kit.forhosting.com/math/classifying-triangles", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 3,
"b": 4,
"c": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/classifying-triangles",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 3,
"b": 4,
"c": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/classifying-triangles", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":3,"b":4,"c":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":3,"b":4,"c":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/classifying-triangles", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": 3,
"b": 4,
"c": 5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.classifying_triangles",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
近似も外部サービスも使わない、小さな決定論的な計算であり、ブラウザでは無料で実行でき、API経由では1リクエストにつき $0.002 でご利用いただけます。
2つの分類を1回の呼び出しで
このエンドポイントは両方の分類を<code>by_sides</code>と<code>by_angles</code>というフィールドとして一緒に返すため、宿題チェッカー、個別指導アプリ、幾何学パイプラインは、2つの判定を別々に計算してそれぞれの実装の不整合を招くリスクを負うことなく、1回のリクエストで完全な答えを得られます。
まず妥当性の確認:三角不等式
この機能は分類を行う前に入力を検証します:数値でない値、ゼロまたは負の長さ、不等式に違反する3つ組はすべて<code>invalid_input</code>エラーと理由を説明するメッセージで拒否され、失敗した呼び出しが課金されることはありません。
技術的な質問
料金はいくらですか?
API経由では1リクエストにつき $0.002 です。このページのブラウザでは無料で実行できます。
どのような入力が必要ですか?
a、b、cの3つのフィールドで、それぞれ1辺の長さを表す正の有限の数値です。単位や順序は問いません。
辺が三角形を構成できない場合はどうなりますか?
短い2辺の和が最長辺を上回らなければならないことを説明するinvalid_inputエラーで呼び出しが失敗します。失敗した呼び出しは課金されません。