鋭角三角形計算機
辺が4、5、6の三角形は鋭角三角形です。6の2乗の36が、残り2辺の2乗の和である41より小さいからです。3辺を入れるだけで、角度を計算せずにすべての角が90度未満かどうか分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- A
- 4
- B
- 5
- C
- 6
- 辺の数
- 4, 5, 6
- 分類
- acute
まず 1, 2, 5 のような 不可能な 入力を はじいて、辺の 組で 三角形が 実際に 作れるか を 確認し、続いて ピタゴラスの 定理の 逆を 最長辺に 適用します。返ってくるのは 真偽値の 答え、昇順に 並べ替えた 辺、そして 鋭角・直角・鈍角 という 分類で、すべてが 一回の パスで 決定的に 計算されます。
鋭角三角形とは何か
鋭角三角形とは、3つの内角がすべて90度未満の三角形です。これを確かめるために角度を実際に計算する必要はありません。ピタゴラスの定理の逆により、最長辺だけを見れば十分です。
その2乗が他の2辺の2乗の和より厳密に小さければ、最大角は90度未満であり、ほかの角がそれより大きくなることはないので、三角形全体が鋭角三角形です。鋭角三角形計算機はまさにこの判定を実装しています。辺 a, b, c を受け取ると並べ替え、z² と x² + y² を比較し、不等式が厳密に成り立つときだけ acute: true を返します。
4-5-6 の三角形は 36 が 41 より小さいので合格します。一方、おなじみの 3-4-5 の三角形は 25 が 25 に等しく、最大角がちょうど90度になるため、鋭角ではなく直角に分類されます。
分類より先に成立性の確認
正の数を3つ並べれば必ず三角形になるわけではありません。三角不等式は、最長辺が他の2辺の和より厳密に短いことを要求し、1, 2, 10 のような入力は即座に不合格です。その辺の組の三角形は存在しないので、鋭角かどうかを問うこと自体に意味がありません。
辺そのものにも同じ厳密さが適用されます。各辺は正の有限数でなければならず、ゼロ、負数、文字列、NaN はすべて明確なメッセージ付きで拒否されます。正しく構成され、実際に三角形を成す3辺だけが分類を受け取ります。
最大角が90度未満なら鋭角、ちょうど90度なら直角、それを超えれば鈍角です。
テストに使える決定的な結果
計算は純粋な算術です。 3要素の並べ替えの後に、乗算3回と比較1回を行うだけです。乱数も時計もネットワーク呼び出しもモデルも使われないため、同じ入力からはどのマシンでも常にバイト単位で同一の出力が得られます。この性質は、結果の上に何かを構築するときに重要です。
ジオメトリパイプラインはテストスイートで完全一致する応答を検証でき、教室の演習ではすべての生徒に対して答えが再現可能であることを信頼できます。直角に近い三角形での浮動小数点の誤差は、ごく小さな相対イプシロンで吸収されるため、ピタゴラスの等式を近似的にしか満たさない三角形は、鋭角と鈍角の間で揺れ動くのではなく直角として報告されます。
活用例
ジオメトリデータセットから鋭角三角形を抽出
生成または測定された何千もの三角形を分類し、鋭角のものだけを残します。三角不等式を満たさない3辺の組は除外されます。
構造設計の検証
指定された部材の長さを持つ三角形のトラスやブレースが幾何学的に成立するかを確認し、最大角が90度未満に収まるかを把握できます。
教室の演習を自動採点
生徒が提出した辺の長さを入力し、三角形が存在することと、鋭角・直角・鈍角という分類の主張が正しいことの両方を検証します。
よくある質問
角度を計算せずにどうやって判定するのですか?
ピタゴラスの定理の逆を使います。最長辺の2乗が他の2辺の2乗の和より小さければ、最大角は90度未満であり、その三角形は鋭角三角形です。
3-4-5 の三角形は鋭角ですか?
いいえ。 最長辺が 5² = 3² + 4² をちょうど満たすため、最大角は正確に90度となり、直角に分類されます。
真偽値のほかに何が返ってきますか?
昇順に並べ替えた3辺、真偽値の acute フラグ、そして鋭角・直角・鈍角という三角形の分類が返されます。
結果は決定的ですか?
はい。 固定の相対イプシロンを用いた純粋な算術なので、同じ入力からはどのマシンでも常に同じ出力が得られます。
3辺で三角形ができない場合はどうなりますか?
答えの代わりに、はっきりした知らせが表示されます。最も長い辺は残り2辺の和より短くなければならないので、1、2、10のような辺では三角形になりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/acute-triangle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":4,"b":5,"c":6}'const res = await fetch("https://api.kit.forhosting.com/math/acute-triangle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 4,
"b": 5,
"c": 6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/acute-triangle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 4,
"b": 5,
"c": 6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/acute-triangle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":4,"b":5,"c":6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":4,"b":5,"c":6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/acute-triangle", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": 4,
"b": 5,
"c": 6
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.acute_triangle",
"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 は 三角形の 三つの 辺の 長さを 受け取り、すべての 内角が 90 度 未満か という 一点だけを 正確に 判定します。この API は 角度を 直接 求める ことなく、辺の 長さだけ から 結論を 導くため、結果は いつも 高速で 再現 可能 です。
分類より先に成立性の確認
このエンドポイントはまず成立性を確認し、そのようなリクエストには誤解を招く真偽値を返す代わりに、失敗した条件を明示した invalid_input エラーで応答します。バリデーションエラーはクライアント側の過失として分類されるため、拒否されたリクエストが課金されることはありません。
テストに使える決定的な結果
エッジで動作しているのと同じコードがこのページの無料計算機も動かしているので、ブラウザで試したものは、$0.002 で自動化したときにAPIが返すものとまったく同じです。
技術的な質問
料金はいくらですか?
1リクエストあたり $0.002 です。また、このページではブラウザ上で無料で実行でき、APIと同じコードが使われています。
辺で三角形を作れない場合はどうなりますか?
三角不等式を説明する invalid_input エラーで拒否されます。拒否されたリクエストが課金されることはありません。