レンズ倍率計算機
像の大きさと向きが分かります。物体距離30、像距離60なら倍率は-2で、物体の2倍の大きさの倒立像です。レンズにも鏡にも使えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
線形倍率は、像が物体に比べてどれだけ大きいか小さいか、そして像が正立か倒立かを示します。薄肉レンズまたは単一の球面鏡では、教科書の関係は単に m が像距離を物体距離で割ったものの符号反転です。本計算機は任意の一貫した長さ単位でその二つの符号付き距離を受け取り、符号付き倍率、絶対値、向きラベル、サイズ区分を返し、物体距離ゼロを拒否してゼロ除算を防ぎます。光学実習、解答キー、機器設計メモはいずれも同じ決定的な比を必要とします。
レンズと鏡における線形倍率の定義
初等幾何光学では、薄肉レンズまたは球面鏡の線形(横)倍率は像の高さと物体の高さの比として定義されます。教室でよく使うガウス記号法では、その比は像距離を物体距離で割ったものの負号、すなわち m がマイナス v を u で割ったものにも等しくなります。マイナス記号は飾りではありません。
正の物体距離を持つ実物体が正の像距離を持つ実像を作るとき、m は負で像は倒立です。虚像の場合、例えばルーペの焦点距離内の物体では像距離は負、m は正、像は正立です。絶対倍率が一より大きければ拡大、一より小さければ縮小、ちょうど一なら等倍です。
式に入るのは距離の比だけなので、両方とも同じ単位であればセンチメートル、メートル、ミリメートルのいずれでも構いません。本機能は薄肉レンズの式を並べ替えて欠落した距離や焦点距離を解くことはせず、両方の距離が既知のときに倍率だけを評価します。
物体距離は有限かつ非ゼロでなければならず、像距離は有限でゼロでもよく、その場合は理想モデルで像の高さが点に潰れたゼロ倍率になります。
レンズ倍率計算機が実務で使われる場面
中等・大学の光学課程は、倍率・向き・拡大の有無を問う薄肉レンズと鏡の問題を大量に出します。符号付き m と人間可読ラベルを返す信頼できるオラクルは採点とデモ準備を速めます。カメラとプロジェクタの設計者は、完全な光線追跡のずっと前に、測定した物体・像の共役距離からセンサやスクリーン上の像スケールを見積もります。
顕微鏡と望遠鏡の教育実験では中間像の線形倍率と接眼の角倍率を比較し、まず線形側が必要です。固定の物体距離に部品を置き固定の像面にカメラを置く機械検査治具は、m と既知のセンサピッチから期待ピクセルスケールを計算します。
薄肉レンズの式からの焦点距離求解、望遠鏡の角倍率、多素子系の光線追跡が後で必要なら、本線形倍率ページを過負荷にするのではなく、別の検索意図とランディングとして扱ってください。
活用例
宿題と実験の解答キー
教科書の u と v から符号付き線形倍率、向き、サイズ区分を計算し、教員と自動採点が一つの正解を共有できるようにします。
カメラとプロジェクタの像スケール
測定した物体・像の共役距離から、完全な光学設計の前に被写体がセンサやスクリーンにどれだけ写るかを見積もります。
検査治具とピクセルスケール
マシンビジョン工程で部品面とカメラ面が固定のとき、m とセンサピッチを組み合わせてミリメートル毎ピクセルを予測します。
よくある質問
物体距離がゼロの場合はどうなりますか?
物体距離がゼロのとき倍率 m = −v/u は未定義のため、計算機はゼロ除算を拒否します。
物体距離と像距離は同じ単位が必要ですか?
はい。 両方に同じ長さ単位(cm、m、mm など)を使ってください。倍率は無次元であり、単位が食い違うと静かに比がスケールされます。
距離の符号は重要ですか?
はい。 教科書の一般的な記号法では、実物体と実像(ともに正)は負の m(倒立)、正の u と負の v(虚像)は正の m(正立)になります。
倍率が-2とはどういう意味ですか?
像が物体の2倍の大きさで、上下が逆さまになっていることを表します。絶対値が大きさを、マイナスの符号が倒立を示し、物体距離30、像距離60の例がこれにあたります。
倍率がプラスになるのはどんなときですか?
像が正立の虚像のときです。たとえば虫めがねで物体を焦点距離より内側に置くと、像距離が負になり倍率は正になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/optics/lens-magnification \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"object_distance":30,"image_distance":60}'const res = await fetch("https://api.kit.forhosting.com/optics/lens-magnification", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"object_distance": 30,
"image_distance": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/lens-magnification",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"object_distance": 30,
"image_distance": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/lens-magnification", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"object_distance":30,"image_distance":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"object_distance":30,"image_distance":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/lens-magnification", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"object_distance": 30,
"image_distance": 60
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.lens_magnification",
"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 は同一の純粋な同型関数を共有するため、デモとパイプラインが同じ入力で食い違うことはありません。
レンズと鏡における線形倍率の定義
パイプラインはネットワークも乱数シードも壁時計もない純粋な浮動小数点演算であり、同一の符号付き距離は常に同一の JSON を生成します。
送信内容と返却内容
物体距離がゼロまたは極めてゼロに近いとき、m がマイナス v を u で割る形が未定義である旨の明確なメッセージで失敗し、クライアントは推測ではなく幾何を直せます。古典例は u が三十センチメートルの実物体と v が六十センチメートルの実像で m がマイナス二・倒立・拡大、負の v による虚像で正立の正倍率、物体距離ゼロの明示的エラー経路です。宿題と実験デモには無料ブラウザフォームを接続し、一括の解答キーが必要なら同じ契約をスクリプトから呼び出してください。検証失敗はプリペイド残高を消費しません。object_distance と image_distance の各フィールドに有限数を二つ送り、任意の一貫した長さ単位で u と v を表します。両フィールドは必須です。物体距離には u、do、object、s_o、像距離には v、di、image、s_i などの別名を受け付けるため、教科書表記のスクリプトにリネーム層は不要です。欠落フィールド、非数値文字列、NaN、Infinity は invalid_input で失敗し課金されません。成功時は整形済みの object_distance と image_distance、符号付き倍率、絶対値の abs_magnification、m が負なら inverted、正なら upright、ほぼゼロなら point の orientation、絶対値が一より大・小・等しいかに応じた enlarged / reduced / same_size の size、表示用の formula と unit 文字列を返します。成功した API 呼び出しの料金は公開ベースの $0.002 毎件です。
レンズ倍率計算機が実務で使われる場面
本機能は純粋な parse エンジンのため、API 料金は成功一件あたり公開ベースの $0.002 で、検証失敗は残高を消費しません。
技術的な質問
このレンズ倍率計算機はどの式を使いますか?
線形(横)倍率 m = −v/u です。u は object_distance、v は image_distance です。応答は |m|、向き(inverted/upright/point)、サイズ(enlarged/reduced/same_size)も返します。
料金はいくらですか?
ブラウザツールは無料でローカル実行です。API リクエストは成功一件あたり $0.002 のプリペイド KIT 残高を使用し、無効入力は課金されません。