三角形の内心計算ツール
三角形の内側に入る最大の円の中心が分かります。頂点が(0, 0)、(4, 0)、(0, 3)なら内心は(1, 1)、内接円の半径は1です。辺の長さ、面積、半周長も表示されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 頂点Aのx座標
- 0
- 頂点Aのy座標
- 0
- 頂点Bのx座標
- 4
- 頂点Bのy座標
- 0
- 頂点Cのx座標
- 0
- 頂点Cのy座標
- 3
- 内接円の半径
- 1
- 面積
- 6
- 半周長
- 6
三角形の内心は、3 本の角の二等分線が交わる唯一の点であり、三角形の内側に収まる最大の円、すなわち内接円の中心でもあります。この機能は、3 つの頂点のデカルト座標だけから、各頂点を対辺の長さで重み付けしてその点を計算し、続いて三角形の面積と半周長の比として内接円半径を導きます。
内心と内接円半径が表すもの
ユークリッド平面幾何では、退化していないすべての三角形が、3 辺すべてに接する唯一の内接円を持ちます。その円の中心が内心です。内心は 3 辺から等距離にあり、その共通の距離が内接円半径です。
代数的には、頂点 A、B、C の対辺の長さがそれぞれ a、b、c のとき、内心の座標は重み付き平均 (aA + bB + cC) / (a + b + c) になります。この辺の長さによる重み付けは近似ではありません。角の二等分線の交点に点を置く厳密な重心座標の公式です。
三角形の面積(ここでは 2 つの辺ベクトルの外積の大きさから得られます)も分かれば、内接円半径はただちに r = 面積 / s として導かれます。ここで s は半周長 (a + b + c) / 2 です。内心と内接円半径を合わせれば、角度の測定も反復的な数値探索も必要とせずに、内接円を完全に記述できます。
このツールは、平面上の頂点を定義する 6 つの数値を受け取り、これら 2 つの幾何量に加えて、中間の辺の長さ、面積、半周長を返すので、宿題や CAD スクリプト、ゲームのレベルツールにおいて導出の各ステップを検証できます。
退化した入力、共線性、そして実用上の制限
三角形には正の面積が必要です。3 点が 1 本の直線上にある場合、あるいは 2 点が一致する場合、辺で重み付けした公式でも数値的な点は生成されますが、その点は三角形の内心ではなく、内接円半径の公式はゼロまたはほぼゼロの面積で割ることになります。
そこでこの機能は、AB と AC の外積の絶対値を測定し、面積がごく小さなイプシロンを下回る入力を、3 点が共線であり内心は定義されないというメッセージとともに拒否します。頂点の一致は別に指摘されるので、重複した点と平らな三角形を区別できます。座標は有限の数値(または有限の数値として解釈できる数字の文字列)でなければなりません。
ネットワーク照会も無作為抽出も実時計への依存もありません。同一の頂点は常に同一の出力を返します。これによりこの機能は、単体テスト、CI パイプライン、オフラインのワークシートにおいて安全です。
関連する中心(重心、外心、垂心)が必要なときは、それらを別の検索意図として扱ってください。このランディングは、頂点だけから計算される内心と内接円半径の組に特化しています。
活用例
宿題や試験の解答キー
学生や指導者が、頂点 (0,0)、(4,0)、(0,3) の 3-4-5 直角三角形のような教科書の問題を、内心 (1,1) と内接円半径 1 を期待して検証します。
設計や CAD スクリプトの内接円
パイプラインツールが、3 つの角の点から内心と内接円半径を読み取り、三角形のパネルや切り抜きの内部に最大の内接円を配置します。
ゲームやシミュレーションの余裕確認
レベルの作者が、3 つの頂点で定義された境界を越えずに、円形のアクターが三角形の領域内にどれだけ大きく収まるかを計算します。
よくある質問
3 つの頂点から三角形の内心はどう計算しますか?
応答には内心の座標、内接円半径、面積、半周長、辺の長さが含まれます。
内心にはどの公式を使っていますか?
辺の長さによる重み付けです。I = (aA + bB + cC) / (a+b+c) で、a、b、c は A、B、C の対辺の長さです。内接円半径は面積を半周長で割った値です。
3 点が共線の場合はどうなりますか?
退化した三角形には明確に定義された内心も正の内接円半径もないため、ツールは値を捏造することを拒みます。
結果は頂点の順序に依存しますか?
内心と内接円半径はラベル付けに依存しません。どの点を A、B、C とするかを入れ替えても、同じ幾何的な中心と半径が得られます(辺のラベル a、b、c は選んだ命名に従います)。
内接円の半径とは何で、どう求めますか?
三角形の3辺すべてに接する、内側で最大の円の半径です。面積を半周長で割って求め、(0, 0)、(4, 0)、(0, 3)なら面積6を半周長6で割って1になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geom/triangle-incenter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ax":0,"ay":0,"bx":4,"by":0,"cx":0,"cy":3}'const res = await fetch("https://api.kit.forhosting.com/geom/triangle-incenter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ax": 0,
"ay": 0,
"bx": 4,
"by": 0,
"cx": 0,
"cy": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/triangle-incenter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ax": 0,
"ay": 0,
"bx": 4,
"by": 0,
"cx": 0,
"cy": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/triangle-incenter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ax":0,"ay":0,"bx":4,"by":0,"cx":0,"cy":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ax":0,"ay":0,"bx":4,"by":0,"cx":0,"cy":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/triangle-incenter", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"ax": 0,
"ay": 0,
"bx": 4,
"by": 0,
"cx": 0,
"cy": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.triangle_incenter",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
アルゴリズムは閉形式で決定論的、ネットワーク呼び出しなしに Worker またはブラウザ内で完全に動作します。共線または一致した頂点は明確な invalid_input エラーで拒否されるため、退化した図形に対して捏造された中心を受け取ることは決してありません。
計算ツールの呼び出し方と結果の読み方
頂点 A、B、C の 6 つの座標を ax、ay、bx、by、cx、cy として送信してください(別名 x1…y3 も受け付けます)。検証の失敗は課金されません。応答は、キャンバスに内接円を配置したり、幾何の宿題の答えを検証したり、外接円や重心ではなく最大の内部円に依存する衝突や余裕の確認の種にしたりするのに使えます。エンドポイントは KIT API の POST /geom/triangle-incenter です。無料のブラウザランナーは同じ同型ライブラリを実行するので、ローカルのプレビューは丸められたフィールドについて有料の API 応答とバイト単位で一致します。成功時の JSON には、incenter.x と incenter.y、スカラーの内接円半径、面積、半周長、そして A の対辺 a(長さ BC)、B の対辺 b(長さ AC)、C の対辺 c(長さ AB)を持つ side_lengths、加えて丸められた頂点のエコーが含まれます。成功した API 呼び出しの料金は、item 単位で一律 $0.002 です。
退化した入力、共線性、そして実用上の制限
フィールドが欠落すると、最初に欠落したキー名を示す invalid_input で失敗します。
技術的な質問
ブラウザツールは無料ですか?
はい。ブラウザ内のランナーは API と同じライブラリを使い、費用はかかりません。API は成功したリクエスト 1 回あたり $0.002 を前払いの KIT 残高から請求します。