円の方程式
中心と半径から円の方程式を2つの形で求めます。中心 (3, −2)、半径5なら (x − 3)² + (y + 2)² = 25 と x² + y² − 6x + 4y − 12 = 0 になります。プリントや解答例づくりに便利で、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Cx
- 3
- Cy
- -2
- 抵抗(Ω)
- 5
- 半径
- 5
- 標準形
- (x - 3)^2 + (y + 2)^2 = 25
- 一般形
- x^2 + y^2 - 6x + 4y - 12 = 0
学生が手で計算し、グラフィックスコードが実行時に行う代数を、1回の呼び出しで決定的に求めます。同じ中心と半径を入力すれば、毎回まったく同じ方程式が得られます。
中心と半径から方程式へ
円とは、固定された中心からの距離が半径に等しい点の集合であり、その方程式はピタゴラスの定理をこの考えに適用したものにほかなりません。すなわち (x − h)² + (y − k)² = r² で、(h, k) が中心です。中心座標は半径とともに返されるので、応答は自己完結しています。
読み手が元の定義と照らし合わせるために必要な情報がすべて1つのオブジェクトに含まれています。符号の処理もお任せください。中心座標が負の場合に (x − −2)² ではなく (x + 2)² となるケースや、中心が軸上にあって括弧が完全に消えるケースなど、間違えやすい場合も正しく処理されます。
標準形と一般形を並べて返却
方程式の2つの一般的な形は、同じ応答で一緒に返されます。標準形は幾何学的な意味が見えやすく、中心と半径の二乗をそのまま読み取れます。係数は d・e・f として数値でも返されるため、文字列ではなく値が必要なコードは解析の必要がありません。
一般形は決定的に導出されます。D は中心の x の −2 倍、E は中心の y の −2 倍、F は h² + k² − r² です。係数がゼロの場合は表示される方程式から省略されるため、原点を中心とする円は標準形では単に x² + y² = r²、一般形では x² + y² − r² = 0 と表示されます。
先生が黒板に書くのとまったく同じ形です。
厳密な入力、正直なエラー
半径は正の数でなければなりません。ゼロは拒否されます。 半径ゼロの円は円ではなく点だからです。負の半径も幾何学的に意味をなしません。
中心にも同じ厳密さが適用されます。両方の座標が存在し、有限の数値である必要があります。フォーム送信はテキストで届くことが多いため、数値文字列も受け付けます。
この厳密さは、正確さと同じくらい課金にとっても重要です。検証に失敗した入力は決して課金されません。そのエラーはクライアント側の問題であり、消費された計算ではないからです。
数値は小数点以下6桁に丸められるため、マシン間や繰り返し呼び出し間で出力が安定します。
活用例
宿題や試験問題の生成
ランダムな中心と半径を与えれば、標準形と一般形の正しい方程式を解答用紙として印刷できます。手作業の展開は不要です。
グラフィックスコードでの円の描画
描画ツールから得た中心と半径を、シェーダー・プロッター・幾何ライブラリが期待する陰関数の方程式に変換します。
学生の解答の自動採点
提出された一般形の方程式を、手書きの代数を解析する代わりに、決定的な係数 d・e・f と比較して採点します。
よくある質問
どのような入力が必要ですか?
中心の x 座標・y 座標と半径の3つの数値です。数値文字列も受け付けます。
中心が原点の場合はどうなりますか?
ゼロの項はきれいに省略され、標準形では x² + y² = r²、一般形では x² + y² − r² = 0 が得られます。
出力は決定的ですか?
はい。 乱数・時計・ネットワークは一切使わず、数値は小数点以下6桁に丸められるため、同じ入力からは常にバイト単位で同一の出力が得られます。
標準形から一般形にするにはどうしますか?
2乗を展開して項をまとめます。x の係数は中心の x の−2倍、y の係数は中心の y の−2倍、定数項は両者の2乗の和から半径の2乗を引いた値です。例では −6、4、−12 になります。
中心の座標が負のとき、符号がプラスになるのはなぜですか?
負の数を引くことは足すことと同じだからです。中心の x が −2 なら (x − −2)² ではなく (x + 2)² と書かれ、ゼロになる項は自動で省かれます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/circle-formula \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cx":3,"cy":-2,"r":5}'const res = await fetch("https://api.kit.forhosting.com/math/circle-formula", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cx": 3,
"cy": -2,
"r": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/circle-formula",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cx": 3,
"cy": -2,
"r": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/circle-formula", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cx":3,"cy":-2,"r":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cx":3,"cy":-2,"r":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/circle-formula", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"cx": 3,
"cy": -2,
"r": 5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.circle_formula",
"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 は、円を定義する2つの要素——中心の座標と半径——を受け取り、標準形 (x − h)² + (y − k)² = r² と一般形 x² + y² + Dx + Ey + F = 0 の両方の方程式を、数値係数 D・E・F とともに返します。
中心と半径から方程式へ
このエンドポイントは、中心の x・中心の y・半径という3つの数値を受け取り、方程式を自動で書き出します。円の方程式は読める文字列として返されるため、結果はワークシート・レポート・レンダリング済みページに、追加の整形なしでそのまま使えます。
標準形と一般形を並べて返却
一方、一般形 x² + y² + Dx + Ey + F = 0 は、展開を求める教科書が要求する形であり、多くのソルバーが入力として受け付ける形でもあります。
厳密な入力、正直なエラー
どちらの場合も、静かに間違った方程式を返すのではなく、半径フィールドを名指しする明確な invalid_input エラーが返ります。
技術的な質問
料金はいくらですか?
1リクエストにつき $0.002 です。このページではブラウザ内で無料で実行できます。同じコードが両方で動作します。
半径が拒否されたのはなぜですか?
半径は正の数である必要があります。ゼロや負の値は円を表さないため、invalid_input エラーを返します。
どの形の方程式が返されますか?
両方です。標準形 (x − h)² + (y − k)² = r² と一般形 x² + y² + Dx + Ey + F = 0 に加え、数値係数 d・e・f も返されます。