円の一般形から標準形へ
x² + y² − 6x + 4y − 12 = 0は、中心(3, −2)、半径5の円です。3つの係数を入力すると平方完成を代わりに行い、実在する円にならない場合はその旨をお知らせします。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- D
- -6
- E
- 4
- F
- -12
- 半径
- 5
- 半径の2乗
- 25
- 標準形の方程式
- (x - 3)^2 + (y + 2)^2 = 25
- 一般形の方程式
- x^2 + y^2 - 6*x + 4*y - 12 = 0
円の一般形、すなわち x の二乗たす y の二乗たす Dx たす Ey たす F イコール 0 という形には、通常最も知りたい2つの情報、つまり中心がどこにあるかと半径がどれくらいの大きさかが隠れています。このコンバーターは平方完成を自動で行い、標準形 (x ひく h) の二乗たす (y ひく k) の二乗イコール r の二乗を返すとともに、中心座標 h と k、半径、半径の二乗、さらに2つの方程式を読みやすい文字列として表示します。宿題の答え合わせ、解析幾何の授業、CAD のメモ、そして教科書・CAS・グラフィックスパイプラインから展開済みの二次係数を受け取り、その幾何学的な意味を取り戻す必要のあるあらゆるスクリプトのために作られています。
平方完成による一般形から標準形への変換
中心 (h, k)、半径 r の円は、標準形では (x − h)² + (y − k)² = r² と書かれます。逆変換は、まさに古典的な平方完成の練習問題です。
x の項と y の項をそれぞれまとめ、x について (D/2)²、y について (E/2)² を両辺に加えると、方程式は (x + D/2)² + (y + E/2)² = (D/2)² + (E/2)² − F にまとまります。各部分を読み取ると h = −D/2、k = −E/2、r² = h² + k² − F となり、半径はこの量の正の平方根です。
このツールはまさにこの代数操作を閉じた形で実行します。つまり、一次係数を半分にして符号を反転させて中心を求め、被開平数 h² + k² − F を評価し、その平方根を取って半径とします。一般形では x² と y² の係数が常に一致して 1 であり、xy 項も存在しないため、スケーリングや回転の手順は一切不要です。
実用のヒント・計算例・制限事項
まずは教科書の定番例で自信をつけましょう。一般形の係数と中心座標の間で符号が反転する点に注目してください。これは手計算で最もよくある間違いであり、このツールが発見を助ける部分です。
x² + y² + 2x + 2y + 2 = 0 のような退化したケースでは半径の二乗が0となり、1つの点として拒否されます。また、x² + y² + 1 = 0 では被開平数が負となり、虚円として拒否されます。単位は渡したものがそのまま使われます。
メートル、ピクセル、抽象的な座標のいずれでも構いませんが、一貫性を保ってください。
活用例
平方完成の宿題の答え合わせ
学生がワークシートの D、E、F の係数を貼り付け、手書きで求めた標準形・中心・半径を決定論的な結果と照合します。
CAS やシェーダー出力からの幾何情報の復元
計算代数システムやグラフィックスパイプラインから展開済みの二次係数を受け取るスクリプトが、1回の呼び出しで円の中心と半径を復元します。
解析幾何における符号規則の指導
講師が、h = −D/2 と k = −E/2 が一般形の係数に対して符号を反転させる仕組みを、教科書と行単位で一致するライブ例を使って実演します。
よくある質問
円の一般形とは何ですか?
中心は h = −D/2、k = −E/2、r² = h² + k² − F です。
円の標準形とは何ですか?
標準形は (x − h)² + (y − k)² = r² で、(h, k) が中心、r が正の半径です。このコンバーターが返す形式です。
半径の二乗が正でないというエラーで入力が拒否されるのはなぜですか?
h² + k² − F が0または負になったためです。0は方程式が1つの点を表すことを意味し、負は実数の円が存在しないこと(虚円)を意味します。
x² と y² の係数が1以外のスケールを持つ場合にも対応していますか?
いいえ。 まず方程式全体をその共通係数で割り、x² と y² の係数を両方とも1にしてから、d、e、f を送信してください。
結果は決定論的ですか?
はい。 変換は小数点以下6桁に丸められた閉じた形の算術であり、ネットワーク・乱数・時計は一切関与しないため、同一の入力は常に同一の出力を生成します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/general-to-standard-form-circle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"d":-6,"e":4,"f":-12}'const res = await fetch("https://api.kit.forhosting.com/math/general-to-standard-form-circle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"d": -6,
"e": 4,
"f": -12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/general-to-standard-form-circle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"d": -6,
"e": 4,
"f": -12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/general-to-standard-form-circle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"d":-6,"e":4,"f":-12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"d":-6,"e":4,"f":-12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/general-to-standard-form-circle", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"d": -6,
"e": 4,
"f": -12
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.general_to_standard_form_circle",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs | 1000000000000 |
min_radius | 1e-15 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
計算経路は決定論的な純粋算術であり、ネットワーク呼び出し・乱数・時計への依存がないため、このページ上の無料ブラウザーツールとプリペイド API は、小数点以下の丸めを固定したうえで、呼び出すたびにバイト単位で同一の JSON を返します。
平方完成による一般形から標準形への変換
この二乗を展開して項をまとめると一般形 x² + y² + Dx + Ey + F = 0 が得られ、ここで D = −2h、E = −2k、F = h² + k² − r² です。3つの係数を入力すれば中心と半径が出力され、標準形と一般形の方程式文字列は同じ丸め済みの値から生成されるため、画面に表示される内容は API が計算した結果と一致します。
API の入力・出力とエラー動作
3つすべてが必須で、有限の数値でなければなりません。すべての数値結果は小数点以下6桁に丸められるため、マシンやランタイムが異なっても出力は安定します。被開平数が0の場合、その方程式は1つの点を表し、負の場合は実数の円が存在しません(虚円と呼ばれることもあります)。エラーメッセージはどちらのケースかを示し、問題の被開平数を表示します。x² + y² + Dx + Ey + F = 0 の3つの係数 d、e、f を JSON ボディで送信します。別名 D、E、F および coeff_d、coeff_e、coeff_f は同じフィールドにマッピングされるため、CAS の出力から係数をそのままコピーする場合に便利です。成功時のレスポンスは d、e、f をそのまま返し、h と k を含むネストされた center オブジェクト、radius、radius_squared、人間が読みやすい standard_equation と general_equation の文字列、そして completing_the_square に設定された method を報告します。失敗時には API は invalid_input を返し、リクエストは課金されません。これには、係数の欠落や非数値、公開されている絶対値の上限1兆を超える値、そして最も重要な点として、計算された半径の二乗が0以下になる係数の組が含まれます。料金は成功したリクエストごとに一律 $0.002 で、単位項目付き、限界単価はゼロです。
実用のヒント・計算例・制限事項
単位円 x² + y² − 1 = 0 は d = 0、e = 0、f = −1 で、中心 (0, 0)、半径 1 に変換されます。x² + y² − 6x + 4y − 12 = 0 のような平行移動された円は d = −6、e = 4、f = −12 で、中心 (3, −2)、半径 5 に変換され、標準形の方程式 (x − 3)² + (y + 2)² = 25 が得られます。エッジ Worker とブラウザーランナーの両方で IEEE 倍精度の中間二乗値が有限に収まるよう、すべての係数は公開されている絶対値の上限1兆以内に抑えてください。API は単位変換を行いません。往復検証を行うには、返された標準形を手で展開して浮動小数点の許容誤差内で D、E、F が復元されることを確認するか、同じ係数を2回送って JSON がバイト単位で一致することを確認してください。
技術的な質問
料金はいくらですか?
成功したリクエストごとに $0.002 です。検証に失敗した場合は invalid_input が返され、課金されることはありません。このページ上でブラウザーから無料で実行することもできます。