接触する2枚のレンズの合成焦点距離計算機
2枚の薄いレンズを1枚にまとめて考えます。20 cmと30 cmのレンズを密着させると、屈折力が足し合わされ、焦点距離12 cmの凸レンズ1枚と同じ働きをします。凹レンズは負の値で入力します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 焦点距離 1
- 20
- 焦点距離 2
- 30
- 合成焦点距離
- 12
- 単位あたりの合成屈折力
- 0.0833333333
- レンズの種類
- converging
- 精度
- 10
この計算機は、互いに接触する2枚の薄レンズの合成焦点距離を求めます。同じ長さの単位で符号付き焦点距離を入力すると、逆数和の法則を適用します。正の値は収束レンズ、負の値は発散レンズを表します。計算は決定論的でネットワークを使用せず、合成屈折力も返します。
2つの焦点距離を正しく入力する方法
両方で同じ単位を使用します。逆数が定義できないため、0は使用できません。f1とf2も利用できます。
precisionでは0から15桁まで丸めを指定できます。本ツールは薄く、同軸で、直接接触するレンズを前提とし、単位変換や間隔の推定は行いません。
逆数和から結果を求める仕組み
接触する薄レンズでは屈折力が加算されます。2枚とも正なら、各レンズより短い正の焦点距離になります。正負の組合せでは収束系にも発散系にもなります。
丸めは出力だけに適用します。
この近似が役立つ場面と限界
光学の演習、実験準備、簡易確認、教材ソフトの再現可能なテストに適しています。実際の複合レンズ設計を置き換えるものではありません。無視できない間隔には追加項が必要で、厚いレンズには主平面が必要です。
屈折率、波長、絞り、収差、公差も対象外です。各要求はネットワーク、保存、乱数、日時を使わず、この計算だけを実行します。
活用例
光学問題の確認
光線図を完成させる前に、合成焦点距離と符号を確認します。
接触レンズ対の概算
レンズ間隔を無視できる場合の初期推定を得ます。
決定論的なテストデータ作成
教材ソフトや自動テスト向けの安定した結果を生成します。
よくある質問
20 cmと30 cmのレンズを重ねた合成焦点距離は何cmですか?
12 cmです。逆数の1/20と1/30を足すと1/12になり、それをもう一度逆数にします。どちらも凸レンズなので、組み合わせも光を集める働きになります。
センチとミリを混ぜて入力できますか?
できません。2つの焦点距離は同じ単位で入力してください。結果もその単位で返り、単位の換算やラベルからの推測は行いません。
焦点距離を0にできないのはなぜですか?
計算にそれぞれの焦点距離の逆数を使うためです。0の逆数は存在せず、焦点距離0のレンズは薄レンズのモデルでは意味をもちません。
結果の小数点以下の桁数は変えられますか?
はい、0から15桁まで丸めの桁数を指定できます。入力値も整えた形で返されるので、どの値で計算したかを確認できます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/optics/combined-focal-lenses-contact \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"focal_length_1":20,"focal_length_2":30}'const res = await fetch("https://api.kit.forhosting.com/optics/combined-focal-lenses-contact", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"focal_length_1": 20,
"focal_length_2": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/combined-focal-lenses-contact",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"focal_length_1": 20,
"focal_length_2": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/combined-focal-lenses-contact", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"focal_length_1":20,"focal_length_2":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"focal_length_1":20,"focal_length_2":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/combined-focal-lenses-contact", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"focal_length_1": 20,
"focal_length_2": 30
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.combined_focal_lenses_contact",
"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計算は1回$0.002です。
2つの焦点距離を正しく入力する方法
第1レンズの符号付き焦点距離をfocal_length_1、第2レンズをfocal_length_2に入力してください。
逆数和から結果を求める仕組み
エンジンは1/f = 1/f1 + 1/f2を計算し、その逆数を求めます。屈折力が完全に打ち消し合う場合は無焦点系となり、有限の焦点距離がないため、Infinityではなくinvalid_inputを返します。
この近似が役立つ場面と限界
ブラウザーは無料で、APIは$0.002です。
技術的な質問
計算機の料金はいくらですか。
ブラウザーでは無料です。有効なAPI要求1回は$0.002です。
どの式を使用しますか。
同じ単位の焦点距離に対して1/f = 1/f1 + 1/f2を使用します。
焦点距離は負でもよいですか。
はい。発散レンズは負の焦点距離で入力してください。
屈折力が打ち消し合うとどうなりますか。
無焦点系となり有限の合成焦点距離がないため、invalid_inputを返します。
離れたレンズや厚いレンズにも使えますか。
いいえ。接触する2枚の薄レンズを前提としています。