二平面の交線
2つの平面の係数を入力すると、交わってできる直線が1点と方向で分かります。x+y+zとx−y+zがともに1になる2平面は、点(0.5, 0, 0.5)を通り方向(2, 0, −2)の直線で交わります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- A1
- 1
- B1
- 1
- C1
- 1
- D1
- -1
- A2
- 1
- B2
- -1
- N1
- 1, 1, 1
- N2
- 1, -1, 1
- 方向
- 2, 0, -2
- Dx
- 2
三次元空間の相異なる二つの平面は、平行のまま交わらないか、ただ一つの直線に沿って切り合います。その二平面の交線を求めることは解析幾何の定番課題です。方向は二つの法線ベクトルの外積であり、両方のデカルト方程式を満たす任意の点が、点プラス t 倍の方向という媒介変数表示 r(t) を固定します。学習者、CAD スクリプト、グラフィックス技術者は、第一平面の a1, b1, c1, d1 と第二平面の a2, b2, c2, d2 という同じ八係数に繰り返し出会います。
交線とは何か、公式がそれを固定する仕組み
デカルト形式の平面は、零でない法線ベクトル n に対して n · r プラス d が零となる点 r すなわち (x, y, z) の集合です。第一平面を a1 x プラス b1 y プラス c1 z プラス d1 が零、第二平面を a2 x プラス b2 y プラス c2 z プラス d2 が零と書いてください。
第一平面上の任意のベクトルは n1 すなわち (a1, b1, c1) に直交し、第二平面上の任意のベクトルは n2 すなわち (a2, b2, c2) に直交します。したがって両平面に属する任意の方向は両方の法線に直交し、それが外積の幾何的意味そのものです。交線の方向 v は n1 クロス n2 です。
その外積が零ベクトルなら法線は一次従属であり、平面は平行です。同じ平面を二度書いた一致の場合も含み、返す一意な直線はありません。外積が非零なら二つの平面は一本の直線に沿って出会い、残る作業はその直線上の特定点を名付けることです。
本ソルバーは原点に最も近い交線上の一意な点を選びます。その点は常に n1 と n2 の張る空間にあります。二行二列のグラム系 n1 · r0 がマイナス d1、n2 · r0 がマイナス d2 を係数アルファとベータについて解くと、r0 はアルファ n1 プラス ベータ n2 になります。
グラム行列式はラグランジュの恒等式により n1 クロス n2 の長さの二乗に等しいので、非零の方向は一意な最近点を保証します。媒介変数直線は r(t) が r0 プラス t 倍の (n1 クロス n2) です。教室での確認は即座です。
x プラス y プラス z が 1 の平面と x マイナス y プラス z が 1 の平面は、r(t) が (二分の一, 零, 二分の一) プラス t 倍の (二, 零, マイナス二) に沿って出会います。xy 平面 z が零と xz 平面 y が零は x 軸に沿って出会います。
各段階は八つのスカラー上の初等ベクトル代数であり、結果は決定的で、反復も時計や乱数シードへの依存もありません。
二平面交差の計算機が役立つ場面
教室や家庭教師プラットフォームは、学習者が任意係数の媒介変数表示を、外積の符号誤りや最大方向成分が z でない場合の見落としなしに確認できるよう、二平面の交線計算機を使います。CAD とソリッドモデリングのスクリプトは、陰形式で与えられた隣り合う二面から稜を復元し、媒介変数直線をクリッピングや押し出しの段に渡します。
グラフィックスと計算幾何のパイプラインは、二つのクリッピング平面、鏡面、拘束平面が既知で共有ヒンジを標本化するときに、同じ八つの数に出会います。検証失敗は残高を消費しないため、契約を学ぶ間に平行係数を打っても探索スクリプトが安く済みます。両曲面がすでにデカルト平面として書かれているときに本契約を選んでください。
各平面に三点しかない場合は、先に二つの陰方程式を当てはめ、それから本ソルバーを呼んでください。共通直線ではなく二平面のなす角が必要なら、それは別の検索であり別の計算機です。
活用例
解析幾何の宿題と試験確認
学習者に二つのデカルト平面の八係数を送らせ、媒介変数直線 — 方向 n1 クロス n2 と両平面上の点 — を教科書の方法と照合させます。
グラフィックスと拘束のヒンジ
二つのクリッピング平面・鏡面・拘束平面を、シェーダや光線用具やソルバーが計算機代数パッケージなしで評価できる媒介変数ヒンジ直線に変えます。
よくある質問
平面が平行なときはどうなりますか?
n1 × n2 が零ベクトルのとき平面は平行または一致であり、一意な交線を定めないため、呼び出しは課金されません。
平面の方程式はどの形ですか?
三つ組 (a1,b1,c1) と (a2,b2,c2) が法線であり、どちらも零ベクトルであってはなりません。
ソルバーは直線上のどの点を返しますか?
原点に最も近い交線上の一意な点です。両平面方程式を満たす二つの法線の線形結合なので、媒介変数表示はどの座標を零に置くかには依存せず、正準です。
交線の方向はどのように求めますか?
各平面のx、y、zの係数でできる2つの法線ベクトルの外積です。法線(1, 1, 1)と(1, −1, 1)からは方向(2, 0, −2)が得られ、この向きは両方の平面に含まれます。
結果を手計算で確かめるには?
点を2つの平面の式に代入します。例の点(0.5, 0, 0.5)は、1つ目の平面で0.5 + 0 + 0.5、2つ目で0.5 − 0 + 0.5となり、どちらも式が求める1になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/line-of-intersection-of-two-planes \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a1":1,"b1":1,"c1":1,"d1":-1,"a2":1,"b2":-1,"c2":1,"d2":-1}'const res = await fetch("https://api.kit.forhosting.com/math/line-of-intersection-of-two-planes", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a1": 1,
"b1": 1,
"c1": 1,
"d1": -1,
"a2": 1,
"b2": -1,
"c2": 1,
"d2": -1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/line-of-intersection-of-two-planes",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a1": 1,
"b1": 1,
"c1": 1,
"d1": -1,
"a2": 1,
"b2": -1,
"c2": 1,
"d2": -1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/line-of-intersection-of-two-planes", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a1":1,"b1":1,"c1":1,"d1":-1,"a2":1,"b2":-1,"c2":1,"d2":-1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a1":1,"b1":1,"c1":1,"d1":-1,"a2":1,"b2":-1,"c2":1,"d2":-1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/line-of-intersection-of-two-planes", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a1": 1,
"b1": 1,
"c1": 1,
"d1": -1,
"a2": 1,
"b2": -1,
"c2": 1,
"d2": -1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.line_of_intersection_of_two_planes",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本計算機はその係数を受け取り、零法線や平行対を invalid_input で拒否し、方向ベクトルと原点に最も近い交線上の一意な点を返します。
入力契約、応答の形、エラー時の振る舞い
第一平面 a1 x プラス b1 y プラス c1 z プラス d1 が零のための a1, b1, c1, d1 と、同じ書き方の第二平面のための a2, b2, c2, d2 です。a1, b1, c1 がすべて零なら平面一は平面ではなく、タスクは拒否されます。平面二も同じ規則です。 法線の外積が数値的に零なら平面は平行であり、一致も含み、ハンドラは一意な交線を定めないと述べて失敗します。それらの失敗は課金されません。特定点は配列 point とスカラー x0, y0, z0 の両方で返ります。スケッチが必要ならご自身の描画コードと組み合わせてください。必須の有限数八個を持つ JSON 本体を送ってください。各係数は JSON 数でも数値文字列でもよく、別名 n1x, n1y, n1z, plane1_d と平面二の対応名を受け付けます。欠落フィールド、空文字列、非有限値、公開された一兆の上限を超える大きさは、フィールド名を付けた invalid_input で失敗します。成功時、本体は八係数をエコーし、二つの法線を配列 n1 と n2 として再掲し、生の外積としての direction とスカラー成分 dx, dy, dz および direction_magnitude を返します。表示文字列には plane1 と plane2、三つの媒介変数成分方程式 parametric_x, parametric_y, parametric_z、ベクトル形 parametric_vector、対称形式の文字列、閉じた形を記す formula フィールドがあります。本エンドポイントは直線だけを解き、formula フィールド以外のメッシュや手順散文は出しません。料金は成功リクエストごとに定額 $0.002 で、単位は item です。
二平面交差の計算機が役立つ場面
試験準備ジェネレータは、平行入力を無効と印し、壊れた採点が合格とみなし得る空の成功ペイロードを黙って返さない決定的な神託を必要とします。実装が純粋 parse のティア A であるため、成功呼び出しはすべて公開された $0.002 の基本料金で、モデルトークンも外向きネットワークもありません。リクエストは小さく保ち、丸めた方向と点をテストに固定すれば、宿題、LMS プラグイン、CAD 補助、エッジワーカー向けに再現可能な直線が得られ、自前の計算機代数系を立てる必要はありません。
連携の活用例
二つの陰面から CAD の稜
a1x+b1y+c1z+d1=0 の形で与えられた隣り合う平面の共有稜を復元し、クリッピング・寸法・押し出しのために r(t) を標本化します。
技術的な質問
二平面の交線はどう求めますか。
a1x+b1y+c1z+d1=0 と a2x+b2y+c2z+d2=0 の有限な八係数を送ってください。API は direction = n1 × n2 と原点に最も近い交線上の一意な点、さらに媒介変数と対称の文字列を返します。
二平面の交線計算機の料金はいくらですか。
ブラウザ用具は無料です。API リクエストは成功呼び出しあたり $0.002 の前払い残高を使い、無効な入力は課金されません。