ブレトシュナイダーの公式
4辺と1組の対角を入力すると、どんな四角形でも面積が分かります。4辺がすべて2で対角が直角なら面積は4です。対角の和が180°のときはブラーマグプタの公式と一致します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- A
- 2
- B
- 2
- C
- 2
- D
- 2
- アルファ
- 90
- ガンマ
- 90
- 角度の単位
- deg
- 周長
- 8
- 半周長
- 4
- 面積
- 4
ブレトシュナイダーの公式は、四辺の長さと一組の対角(内角)が分かっている一般の四角形の面積を、座標・高さ・対角線なしで求める標準的な閉形式です。不整形な四辺地を歩測する測量、非円内接四角形の宿題確認、辺長と角を保持するCADやゲームのパイプラインなど、いずれも決定的な一ステップで床面積を計算できます。本機能は各辺が他の三辺の和より短いことを検証し、度またはラジアンの角を変換し、半周長を作り、対角の和の半分の余弦の二乗項を差し引き、幾何的に可能なとき正の平方根を返します。
ブレトシュナイダーの公式とは何か、数値の仕組み
ブレトシュナイダーの公式は、ブラーマグプタの公式を円内接四角形から任意の単純四角形へ一般化したものです。古典的には d と a の間の角、および b と c の間の角です。四辺の和の半分を半周長 s とします。
二つの対角の和が百八十度のとき、九十度の余弦は零となり第二項は消え、公式はちょうど一つの平方根の下のブラーマグプタ積に帰着します。これが円内接の特殊ケースです。辺が一で直角九十度と九十度の単位正方形は面積一、辺が三・四・三・四で同じ対角が直角の三掛ける四の長方形は面積十二となり、底辺掛ける高さに一致します。
辺が等しく五で対角が六十度と六十度のひし形は、辺の二乗に挟角の正弦を掛けた面積となり、余弦項を適用したあとブレトシュナイダーの根号と一致します。被開平が負なら、その測度を実現する実四角形はなく、本ツールは面積を捏造せず要求を拒否します。各ステップは初等演算に余弦と平方根が一つずつなので、反復・標本化・時計依存のない完全に決定的な結果になります。
実務上のヒント、上限、関連検索
授業では、対角が直角のときの底辺掛ける高さの確認に正方形や長方形、等辺で等しい鋭い対角のひし形で辺の二乗掛ける正弦との突合、意図的に不可能な辺・角で非物理入力を守る厳しい拒否経路の実演、といった対の例を推奨します。本ランディングは、ブレトシュナイダーの公式計算機や、辺と対角から一般四角形の面積を求めるツールを探す方向けです。
座標の靴ひもの公式ソルバーではないため、辺と角ではなく順序付き頂点座標がある場合は専用の四角形面積機能を使ってください。四辺と二つの対角を測った、または与えられ、信頼できる対角線や高さがないときはブレトシュナイダーを優先します。
往復確認は容易で、解決後に周長が四辺の和、半周長がその半分であること、返却面積の二乗が手計算で余弦項を再計算したときのブレトシュナイダー被開平を浮動小数点許容内で再現することを確認できます。
活用例
測量と不整形地の面積拾い
四辺地の歩測辺と測った対角を、対角線を作図したり座標格子を置いたりせずに土地面積や床面積へ変換します。
CAD・ゲーム・メッシュの検証
シーングラフが完全な頂点座標ではなく辺長と一組の対角(内角)を保持する場合に、四角形面を検証したり表面積を計算したりします。
よくある質問
ブラーマグプタの公式との関係は?
対角の和が 180°(円内接四角形)のとき余弦項は零となり、ブレトシュナイダーはブラーマグプタに帰着します:面積 = sqrt((s−a)(s−b)(s−c)(s−d))。
どの角を入力しますか?
辺 a, b, c, d を境界順に並べ、角が正しい対角に来るようにします。
ブレトシュナイダーの公式で四角形の面積はどう求めますか?
4辺の和の半分を半周長sとし、(s−a)(s−b)(s−c)(s−d)から、abcdと「対角の和の半分のコサインの2乗」の積を引きます。その平方根が面積です。
角度はラジアンでも入力できますか?
はい。初期設定は度ですが、ラジアンに切り替えられます。問題文や図面に書かれた単位のまま入力でき、ご自分で換算する必要はありません。
入力した寸法が受け付けられないのはなぜですか?
その寸法を満たす実際の四角形が存在しないためです。各辺は残り3辺の和より短く、平方根の中が正になる必要があります。条件を外れると、作り物の面積ではなく明確なお知らせが返ります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geom/bretschneider-area \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":3,"b":4,"c":5,"d":6,"alpha":90,"gamma":90}'const res = await fetch("https://api.kit.forhosting.com/geom/bretschneider-area", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 3,
"b": 4,
"c": 5,
"d": 6,
"alpha": 90,
"gamma": 90
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/bretschneider-area",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 3,
"b": 4,
"c": 5,
"d": 6,
"alpha": 90,
"gamma": 90
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/bretschneider-area", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":3,"b":4,"c":5,"d":6,"alpha":90,"gamma":90}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":3,"b":4,"c":5,"d":6,"alpha":90,"gamma":90}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/bretschneider-area", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": 3,
"b": 4,
"c": 5,
"d": 6,
"alpha": 90,
"gamma": 90
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.bretschneider_area",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
不可能な辺・角の組み合わせや面積ゼロの退化したケースは、偽の面積ではなく invalid_input を返します。結果は無料ブラウザツールと前払いAPIで同一の同型ソルブ経路からの純粋な JSON であり、計算機代数システム・ネットワーク呼び出し・乱数シードはありません。
ブレトシュナイダーの公式とは何か、数値の仕組み
境界に沿って四辺を a、b、c、d とラベル付けし、alpha と gamma を一組の対角(内角)とします。面積 K は、(s マイナス a) 掛ける (s マイナス b) 掛ける (s マイナス c) 掛ける (s マイナス d) の積から、a 掛ける b 掛ける c 掛ける d に alpha と gamma の和の半分の余弦の二乗を掛けたものを引いた値の、正の平方根です。
API の呼び出し方と返却内容
幾何の宿題パイプライン、土地の拾い出しスクリプト、メッシュと CAD のツール、面接準備用サンドボックス、計算機代数パッケージを各機に入れずに再現可能な一般四角形面積が必要な任意のワークフローからご利用ください。正の四辺と二つの対角を含む JSON 本体を送ってください。フィールド a、b、c、d は境界順の辺で、エイリアス side_a から side_d および side1 から side4 は同じ意味です。フィールド alpha と gamma は対角(内角)で、エイリアス angle_a、angle1、angle_alpha は alpha に、angle_c、angle2、angle_gamma は gamma に対応します。任意の angle_unit は deg(既定)または rad を受け付け、手計算の単位変換なしでどちらの慣習も使えます。成功時、応答は a、b、c、d、alpha、gamma、angle_unit を返し、perimeter、semiperimeter、area、対角の和が浮動小数点許容内で平角のときの真偽値 cyclic_special_case、method を bretschneider、閉形式を記した短い formula ブロックを追加します。必須欠落・非有限数・非正の辺・公開上限外の辺・開区間外の角・四辺不等式の破綻・ブレトシュナイダー被開平が負または零・無効な angle_unit などの検証失敗は invalid_input を返し課金されません。料金は成功リクエストごとに定額 $0.002、単位は item です。
実務上のヒント、上限、関連検索
中間積が Worker とブラウザの IEEE 倍精度で有限に保たれるよう、辺長は公開された正の範囲(最大一兆)に収めてください。線単位は渡した単位(メートル、フィート、ゲーム単位など)で、四辺が同じ単位である限り API は単位変換しません。角の既定は度で、データがすでにラジアンなら angle_unit に rad を渡します。invalid_input を返す失敗タスクは前払い残高を消費しないため、契約を試す探索スクリプトのコストを抑えられます。
連携の活用例
一般四角形の面積の宿題確認
学習者に四辺の長さと二つの対角を与え、手計算のブレトシュナイダー面積を決定的な API または無料ブラウザ結果と照合します。
技術的な質問
ブレトシュナイダーの公式とは何ですか?
ブレトシュナイダーの公式は四辺 a, b, c, d と対角 alpha, gamma から四角形の面積を求めます。半周長 s = (a+b+c+d)/2 のとき、面積は sqrt((s−a)(s−b)(s−c)(s−d) − abcd·cos²((alpha+gamma)/2)) です。
どのような入力が拒否されますか?
非正の辺、開区間外の角、四辺不等式を破る辺、無効な angle_unit、ブレトシュナイダー被開平が負または零の構成はすべて invalid_input を返します。
ブレトシュナイダーの公式計算機は無料ですか?
ブラウザツールは無料でローカル実行です。API 呼び出しは成功リクエストごとに $0.002 の KIT 前払い残高を使い、失敗タスクは課金されません。