レンズメーカーの式
教科書のレンズをすぐに確かめられます。屈折率1.5前後のクラウンガラスで半径0.1 mと-0.1 mの対称な形なら、焦点距離0.1 m、屈折力10ディオプトリの収束レンズです。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 1.5
- R1
- 0.1
- R2
- -0.1
- R1(m)
- 0.1
- R2(m)
- -0.1
- 光学的パワー(D)
- 10
- 焦点距離(m)
- 0.1
レンズメーカーの式は、薄レンズの焦点距離を、材料の屈折率と2つの面の曲率半径に結びつけます。光学の宿題、実験設計、カメラや顕微鏡の概略サイジング、そして表計算や不透明な計算機なしに透明な薄レンズ焦点距離を必要とするあらゆるパイプラインにお使いください。屈折率が1に等しい場合は、レンズが周囲の媒質と一致して光学的パワーを生じないため拒否されます。
レンズメーカーの式が前提とすること、適用できる場面
薄レンズのレンズメーカーの式は、入門光学で教えられる標準的な一次モデルです。レンズの厚みは曲率半径や物体・像の距離に比べて無視でき、面は球面(または平面)であり、周囲の媒質は屈折率が実質的に1の空気である、という前提です。これらの前提のもとで2つの面の光学的パワーは加算され、合成パワーは(n−1)×面の曲率の差になります。
実際の厚レンズは、中心厚と物体側・像側空間の屈折率を含む完全な厚レンズの式が必要です。非球面素子、屈折率分布ガラス、多素子対物レンズには光線追跡やメーカーデータが必要です。本ツールは理想的な薄レンズの結果を意図的に返すため、教科書の問題を確かめたり、詳細なモデリングの前に設計の種を作ったり、基準パワーを記録したりできます。
曲率半径は、光が左から右へ進むデカルト符号規約を用います。曲率中心が面の右側にあるとき半径は正です。平面はゼロの半径として受け付けられ、曲率にゼロを寄与し、平凸・平凹素子に対する通常の学生用計算機の規約に一致します。
入力・出力・単位・検証ルール
3つとも有限でなければなりません。屈折率は厳密に正で、かつ1に等しくてはなりません。いずれの半径も平面を意味するゼロにできます。
ゼロでない半径は符号規約に従って正にも負にもなります。図面がmmを使う場合は、呼び出す前にミリメートルをメートルに換算してください。パワーしか分からない場合は、f=1/Pでジオプターを焦点距離に換算してください。
チームが薄レンズ焦点距離を実務で使う場面
物理・工学の授業では、この計算ツールを宿題や実験準備の確認に使います。学生はn=1.5付近のクラウンガラスを選び、対称な両凸の半径を選び、光学ベンチで研磨や測定を行う前にfが期待値と一致することを確かめます。
単純な拡大鏡、LEDコリメーター、スマートフォンカメラの単レンズの概念をサイジングする製品チームは、本格的な光学設計パッケージを開く前に透明なパワー推定を必要とします。計測グループは、測定した焦点距離を薄レンズの予測値と比較し、誤ったガラス種、面の順序の反転、あるいはもはや薄くなくなった構成を検出します。
厚レンズソルバーでも、多素子の光線追跡でも、波長依存の分散でもありません。それらは本契約の範囲を超える追加の厚み、間隔、ガラスカタログの入力を必要とします。
活用例
製品概念のための単レンズパワーの即算
詳細設計の前の初期のカメラ・拡大鏡・コリメーターのサイジングで、ガラスやプラスチックの単レンズの収束・発散パワーを推定します。
よくある質問
屈折率が1に等しいとなぜ拒否されるのですか?
nが1に等しいと、レンズは周囲の媒質と一致し、式は任意の半径に対してゼロの光学的パワーを与えます。
これは厚レンズや多素子系を扱いますか?
いいえ。 この機能は標準的な薄レンズの閉形式のみを返します。厚レンズは中心厚とより完全な式が必要で、多素子系は光線追跡やメーカーの処方が必要です。
レンズメーカーの式はどんな内容ですか?
薄レンズの屈折力は、材料の屈折率から1を引いた値に、両面の曲率の差を掛けたものです。焦点距離はその屈折力の逆数になります。
測った焦点距離が計算と合わないのはなぜですか?
ガラスの種類の取り違え、面の順序の逆転、薄レンズとみなせないほど厚いレンズなどがよくある原因です。両方の値を比べると問題を見つけやすくなります。
ふつうのガラスの屈折率はいくつを使えばよいですか?
クラウンガラスは1.5前後で、多くの演習問題がこの値を使います。ほかの材料では、使うガラスやプラスチックのデータにある屈折率を入れてください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/optics/lensmaker \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":1.5,"r1":0.1,"r2":-0.1}'const res = await fetch("https://api.kit.forhosting.com/optics/lensmaker", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 1.5,
"r1": 0.1,
"r2": -0.1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/lensmaker",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 1.5,
"r1": 0.1,
"r2": -0.1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/lensmaker", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":1.5,"r1":0.1,"r2":-0.1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":1.5,"r1":0.1,"r2":-0.1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/lensmaker", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 1.5,
"r1": 0.1,
"r2": -0.1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.lensmaker",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
入力・出力・単位・検証ルール
nが1に等しいとき、この式は任意の半径に対してゼロのパワーを予測しますが、これは集光素子として非物理的であるため、クライアントが早期に失敗できるようinvalid_inputで拒否されます。レスポンスは、n、r1_m、r2_mをエコーし、次にoptical_power_dpt(長さがメートルのときジオプター)、focal_length_m(メートル、無焦点の組み合わせでパワーが正確にゼロのときはnull)、lens_type(converging、diverging、またはafocal)、そして監査ログ用の式文字列を返します。フィールドの欠落、非数値文字列、正でない屈折率、または屈折率がちょうど1のときはinvalid_inputで失敗し、課金されません。成功した解析呼び出しの価格は、itemごとに一律$0.002です。
チームが薄レンズ焦点距離を実務で使う場面
成功した各呼び出しは$0.002の単一の解析itemであるため、スクリプトは購読やモデルコストなしに半径の系列や屈折率の表を掃引できます。安定して見直せる閉形式が欲しいときは、このエンドポイントをお選びください。
連携の活用例
宿題と実験の期待焦点距離
学生が光学ベンチで焦点距離を測定して誤差率を報告する前に、n、R1、R2から理想的な薄レンズのfを計算します。
設計スクリプトでのパラメーター掃引
半径の組と屈折率の表にわたってAPIを一括呼び出しし、表計算や不透明なデスクトップ計算機なしに焦点距離のチャートを作成します。
技術的な質問
このレンズメーカーの式の計算ツールはどの式を使いますか。
空気中の薄レンズ形を使います:1/f = (n − 1)(1/R1 − 1/R2)。出力にはメートル単位の焦点距離、ジオプター単位の光学的パワー、そしてconverging/diverging/afocalのラベルが含まれます。
R1とR2はどの符号規約を使いますか。
光が左から右へ進むデカルト規約です。曲率中心が面の右側にあるとき半径は正です。典型的な両凸レンズはR1 > 0、R2 < 0です。
各API呼び出しの料金はいくらですか。
成功したリクエストごとに$0.002です。上のブラウザーツールは無料でローカルに動作します。APIはタスクが成功したときのみプリペイドのKIT残高から差し引かれます。