楕円の陰微分と接線の傾きを求める計算機
この計算機は、軸に平行な標準形 (x − h)²/a² + (y − k)²/b² = 1 を陰微分し、曲線上の指定点で結果を評価します。正の2本の半軸、点の座標、必要に応じて中心を入力してください。楕円の方程式、dy/dx の式、接線の種類に加え、数値の傾きと点傾き形式の直線、または垂直接線を返します。傾きを示す前に点が楕円上にあることも検証するため、曲線外の座標からもっともらしい誤答が出ることを防げます。
無料で実行
楕円と点を指定します
水平半軸 a には semi_axis_x、垂直半軸 b には semi_axis_y を使用してください。どちらも長さなので、正の有限数が必要です。省略可能な center_x と center_y は h と k を表し、既定値はゼロです。続いて接線を求める点の x、y 座標を入力します。対応する式は (x − h)²/a² + (y − k)²/b² = 1 で、各軸は座標軸と平行です。全幅や全高ではなく半軸を入力してください。幅10、高さ6なら a = 5、b = 3 です。点を標準形へ代入し、小さな数値許容差の範囲で結果が1になることを確認します。接線は曲線上の点でのみ定義できるため、この検証は重要です。回転楕円や xy 項を含む式には対応しません。
陰微分の手順を確認します
(x − h)²/a² + (y − k)²/b² = 1 の両辺を x で微分します。第1項は 2(x − h)/a² です。y は x に依存するため、連鎖律により第2項は 2(y − k)(dy/dx)/b² となり、右辺の定数はゼロです。共通因子2を消去し、x の項を移項して dy/dx を解くと、dy/dx = −b²(x − h) を a²(y − k) で割った式になります。出力はこの形を derivative_formula に保ち、座標を代入して slope を求めます。a = 5、b = 3、中心 (0, 0)、点 (4, 1.8) なら傾きは −0.8 です。接線は点傾き形式で返され、必要なら別形式へ変形できます。式と評価値を併記することで、符号、平方、中心移動、連鎖律を確認しやすくなります。
有限・水平・垂直接線を読み取ります
通常は有限の傾きと点傾き形式の接線が得られます。x = h なら分子がゼロになり、y が k と異なる場合は水平接線として tangent_type に示されます。左右端では y = k となって分母がゼロになるため、接線は垂直で、dy/dx の通常の数値は存在しません。この場合は slope を省略し、x = 5 のような直線を返します。未定義値を null、無限大、巨大な近似値で表すより安全です。点の検証には無次元の許容差 1e-9 を使いますが、近似点を曲線へ投影したり測定値を補正したりはしません。有限演算を超える値も拒否します。ネットワーク、乱数、保存状態、時計を使わないため、同じ入力からは常に同じ構造化結果が得られます。
活用例
陰微分の問題を確認する
手計算した dy/dx と傾きを、点も検証する決定的な計算結果と比較できます。
接線の式を作る
点傾き形式をすぐ取得し、楕円端では正しい垂直線も得られます。
信頼できる例題を作る
教材、試験、学習ソフト向けに楕円と導関数の構造化結果を作成できます。
よくある質問
どの楕円方程式を使用しますか?
正の半軸 a、b と中心 (h, k) を持つ (x − h)²/a² + (y − k)²/b² = 1 を使用します。
この楕円の陰導関数は何ですか?
導関数は dy/dx = −b²(x − h) / [a²(y − k)] です。
点が楕円上になければならないのはなぜですか?
接線の傾きは曲線上の点に属し、無関係な座標ではその楕円の接線にならないためです。
垂直接線ではどうなりますか?
数値の傾きは未定義なので省略し、垂直接線と分類して該当する x の直線を返します。
API 計算の料金はいくらですか?
API の各リクエストは $0.002 です。ブラウザー計算機は直接操作して利用できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/calculus/implicit-derivative-ellipse \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"semi_axis_x":5,"semi_axis_y":3,"x":4,"y":1.8}'const res = await fetch("https://api.kit.forhosting.com/calculus/implicit-derivative-ellipse", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"semi_axis_x": 5,
"semi_axis_y": 3,
"x": 4,
"y": 1.8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calculus/implicit-derivative-ellipse",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"semi_axis_x": 5,
"semi_axis_y": 3,
"x": 4,
"y": 1.8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calculus/implicit-derivative-ellipse", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"semi_axis_x":5,"semi_axis_y":3,"x":4,"y":1.8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"semi_axis_x":5,"semi_axis_y":3,"x":4,"y":1.8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calculus/implicit-derivative-ellipse", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"semi_axis_x": 5,
"semi_axis_y": 3,
"x": 4,
"y": 1.8
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.implicit_derivative_ellipse",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |