外心計算
3つの頂点から等しい距離にある点と、それらを通る円が分かります。(0, 0)、(4, 0)、(0, 3)なら外心は(2, 1.5)、半径は2.5です。直径、面積、辺の長さも表示されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 頂点AのX座標
- 0
- 頂点AのY座標
- 0
- 頂点BのX座標
- 4
- 頂点BのY座標
- 0
- 頂点CのX座標
- 0
- 頂点CのY座標
- 3
- 外接半径
- 2.5
- 直径
- 5
- 面積
- 6
この外心計算ツールは、平面上の3つの三角形の頂点から等距離にある唯一の点と、その3点すべてを通る円の半径を求めます。頂点A、B、Cの座標を入力すると、エンジンは辺の垂直二等分線を閉じた形の行列式の公式で交差させ、外心の座標、外接半径、直径、三角形の面積、3つの辺の長さを報告します。結果は純粋な解析幾何学です。宿題のスケッチ、CADのレイアウトチェック、ゲームの衝突円、既知の頂点から再現可能な外接円が必要なCIフィクスチャにご利用ください。
外心とは何か、求められる値
三角形の外心とは、3つの頂点すべてを通る唯一の円の中心です。幾何学的には、任意の2辺の垂直二等分線の交点です。代数的には、ユークリッド距離OA、OB、OCが等しくなるような唯一の点Oです。
その共通の距離が外接半径Rであり、Rの2倍が外接円の直径です。この計算ツールは、垂直二等分線の方程式を手作業で立てることを求めることなく、生の頂点座標をその中心と半径に変換するために存在します。フォームやスプレッドシートの呼び出し側のために10進数の文字列も受け付けられ、[x, y]または{x, y}としてネストされた点a、b、cも読み取られます。
成功時にはcollinearの真偽値は常にfalseです。一直線上の入力は円が形成される前に拒否されるためです。内心(角の二等分線)、垂心(高さ)、あるいは重心(中線)が必要な場合は、それらの中心専用のツールをご利用ください。
ここでの検索意図は3点からの外接円であり、O、Rの明確な答えか正直なエラーです。
座標の読み取り方法と閉じた形の式の評価方法
pointsまたはverticesとして3つの[x, y]ペアの配列を渡すこともできます。解析後、一致する頂点がその組を名指ししてすばやく失敗するよう、ペアごとの距離がチェックされます。Oxは、2乗されたノルムの重み付き和に反対側のy差を掛けてDで割ったものに等しく、Oyはx差を用いた類似の和に等しくなります。
外接半径はOからAまでの距離です。独立したチェックとして、R=abc÷4Kが辺の長さの積とD/4に等しい三角形の面積Kを使い、浮動小数点のノイズの下で安定した報告される半径のために2つの推定値が平均化されます。面積が非常に小さいほぼ縮退した三角形は浮動小数点の誤差を増幅する可能性があります。
外心の求解が学習・設計・コードで役立つ場面
学生が外心に出会うのは、教科書が3つの与えられた点を通る円を求めるとき、あるいは地図のスケッチ上の3つの都市から等距離の点を求めるときです。教師は、整数座標の三角形についてOとRを列挙し、無限大を印字するのではなく一直線上の入力を拒否する模範解答をあらかじめ生成できます。
測量やCADのワークフローは、円弧のオフセットやクリアランスのチェックの前に、3つの一直線上にない制御点に拘束された円をしばしば必要とします。3つ目の杭が最初の2つと一直線上にあることを知ることは、円そのものと同じくらい価値があります。
ゲームやシミュレーションのチームは、三角形メッシュの面の安価な境界円、当たり判定領域、あるいは三角形の部屋の平面図の中心にライトを配置するために外接円を使います。
開発者は同じ契約をスクリプトから呼び出し、幾何学ライブラリの決定的なテストベクターの種を作ったり、指導ツールで垂直二等分線を実演したり、座標三角形の外心を要求するプログラミング課題の条件を満たしたりします。このページでの計算はすべてブラウザ内で完結します。
活用例
宿題と試験の準備
教科書の頂点座標から外心と外接半径を計算し、一直線上の3点組が無限大を生むのではなく拒否されることを検証します。
決定的な幾何学フィクスチャ
手作りの垂直二等分線の代数なしに、ユニットテスト、コンテストのバリデーター、CIアサーション向けに再現可能なOとRの値を生成できます。
CAD・測量・ゲームの境界
ツールやシミュレーションで、レイアウトチェック、クリアランス、三角形の境界円のために3つの制御点を通る円をフィットさせます。
よくある質問
頂点はどう渡しますか?
x, y]または{x, y}としてa、b、cを渡すことも、3つのペアからなるpoints配列を渡すこともできます。
これは内心や重心と同じですか?
いいえ。 外心は頂点から等距離です(垂直二等分線)。内心は辺から等距離であり、重心は頂点の平均です。
3点が一直線に並んでいても外心は求められますか?
一直線上の3点を通る円は存在しないため、半径を無限大と表示するのではなく、分かりやすいメッセージで計算を断ります。同じ位置にある2つの頂点も受け付けません。
3点を通る円の半径はどう求めますか?
3点を入力し、外心からどの頂点までも等しい距離である外接円の半径を読み取ります。(0, 0)、(4, 0)、(0, 3)なら中心は(2, 1.5)、半径は2.5、直径は5です。
外接円は何に使われますか?
設計で3つの基準点を通る円を描くときや、すき間の確認、ゲームでの三角形を囲む簡単な円、地図上で3つの場所から等距離の地点を探すときなどに使われます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geom/triangle-circumcenter \
-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-circumcenter", {
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-circumcenter",
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-circumcenter", 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-circumcenter", 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_circumcenter",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
3点が一直線上にある場合、有限の外接円は存在しないため、このツールは無限大やサイレントなNaNではなくinvalid_inputを返します。API経由では成功したリクエストごとに$0.002がかかり、検証の失敗には課金されません。
外心の意味とレスポンスの内容
優先される入力は、JSON数値としての6つのスカラーax、ay、bx、by、cx、cyです。レスポンスは3つの頂点をエコーし、{x, y}オブジェクトとしてのcircumcenter、数値としてのcircumradiusとdiameter、三角形の面積K、辺の長さab、bc、caを返します。formulaフィールドは使用した行列式の恒等式を記録するため、文書化や指導用デモが同じ閉じた形を引用できます。座標の欠落、非有限の値、一致する頂点、一直線上の3点の組は、いずれも失敗した条件を名指しするメッセージとともにinvalid_inputを発生させます。この規律は自動テストを安定させ、キャッシュを安全にし、学生やスクリプトが縮退した3点組を無限大の半径の円として扱うことを防ぎます。
座標の読み取り方法と閉じた形の式の評価方法
エンジンは、axとay(別名x1、a_x、y1、a_y)またはネストされたフィールドaから頂点Aを解決し、同様にbxとbyから頂点Bを、cxとcyから頂点Cを解決します。2倍された符号付き面積の行列式D=2×(ax×(by-cy)+bx×(cy-ay)+cx×(ay-by))が計算され、Dの絶対値が微小なイプシロンを下回る場合、点は一直線上にあり、ハンドラーはゼロで割るのではなく例外を投げます。それ以外の場合、外心の座標は標準的な展開に従います。自動化されたパイプライン内で二等分線の代数を自前で再実装することなく同一の数学的結果が必要な場合は、このページの無料ブラウザ実行と有料APIを組み合わせてご利用ください。頂点間の距離の一貫性が失敗する場合、エンジンはサイレントに不整合な円を返すのではなくinvalid_inputを表面化させます。
外心の求解が学習・設計・コードで役立つ場面
API経由では成功した検索1件につき$0.002がかかり、検証に失敗したリクエストは課金されず、レスポンスが返された後は何も保存されません。この無料のインタラクティブな探索と、同一結果を返す有料APIという分割は、KITのtier-Aカタログの他のツールと同様であり、教室でのデモから自動化パイプラインへ、数学的な結果を変えることなく移行できます。座標が混在した単位で届くときは単位換算ツールと、決定的なツールのラボのためにSSAや辺角の相棒が必要なときは他の無料の幾何学系エンドポイントと、学習者やレビュアーのために数値と図が一致し続けるよう二等分線と完成した円の両方を示す文書と組み合わせてご利用ください。
技術的な質問
外心計算ツールの料金はいくらですか?
このページのブラウザ版は無料です。API経由では成功したリクエストごとに$0.002がかかり、無効な入力には課金されません。
3点が一直線上にある場合はどうなりますか?
ハンドラーは、点が一直線上にあり、有限の外心や外接半径が存在しないというメッセージとともにinvalid_inputを返します。
丸めを制御できますか?
はい。precision(別名decimals、dp)を0から15までの整数に設定してください。既定はすべての数値フィールドで小数点以下10桁です。