Pythonプログラムで球面鏡の焦点距離を計算する方法
この記事では、以下の問題文に対する解決策について学んでいきます。
問題文
球面鏡の曲率半径が与えられ、その鏡の焦点距離を求める必要があります。
焦点距離と曲率半径の関係
焦点距離とは、鏡の曲率中心から主焦点までの距離のことです。球面鏡の焦点距離を求めるには、まずその鏡の曲率半径を知る必要があります。曲率半径とは、鏡の頂点から曲率中心までの距離を指します。
これらを数式で表すと、以下のようになります。
凹面鏡の場合
F = R / 2
凸面鏡の場合
F = − R / 2
ここで、Fは焦点距離、Rは曲率半径です。凹面鏡は正の値、凸面鏡は負の値を持つことに注意してください。
実装例
それでは、実際のコードを見ていきましょう。
# 球面凹面鏡
def focal_length_concave(R):
return R / 2
# 球面凸面鏡
def focal_length_convex(R):
return - ( R / 2 )
# 実行部分
R = 30
print("球面凹面鏡の焦点距離 :", focal_length_concave(R), "単位")
print("球面凸面鏡の焦点距離 :", focal_length_convex(R), "単位")
出力結果
球面凹面鏡の焦点距離 : 15.0 単位 球面凸面鏡の焦点距離 : -15.0 単位
出力の単位は、メートル・センチメートル・ミリメートルなど、任意の長さの単位に対応します。汎用的な結果とするため、ここでは特定の単位名ではなく「単位」と表記しています。
コードのポイント
focal_length_concave(R): 曲率半径Rを受け取り、凹面鏡の焦点距離 R/2 を返す関数です。focal_length_convex(R): 曲率半径Rを受け取り、凸面鏡の焦点距離 −R/2 を返す関数です。- すべての変数はグローバルフレームで宣言され、上記の2つの関数が呼び出される構造になっています。
まとめ
この記事では、Pythonを使って球面鏡(凹面鏡・凸面鏡)の焦点距離を計算する方法について学びました。曲率半径がわかれば、単純な数式 F = R/2(凹面鏡)または F = −R/2(凸面鏡)を用いることで、簡単に焦点距離を求められることが理解できたと思います。
-
Pythonで配列(リスト)の合計を求める方法をわかりやすく解説
この記事では、配列(リスト)の合計値を求めるという問題に対して、Pythonでの解決策とアプローチをわかりやすく解説します。 問題の定義 配列が入力として与えられたとき、その配列に含まれるすべての要素の合計を計算することを目標とします。 例えば、[1, 2, 3, 4, 5] という配列が与えられた場合、出力は 15 になります。 アプローチ1:ループを使った素朴な方法(総当たり法) 最も基本的な方法は、リストを先頭から順に走査し、各要素を合計用の変数に加算していくやり方です。手順は以下の通りです。 合計を格納する変数を 0 で初期化します。 for ループでリストの各要素を取り出し、順番に
-
Pythonで球面鏡の焦点距離を計算する方法|凹面鏡・凸面鏡の公式とコード例
この記事では、以下の問題に対する解決方法を学びます。 問題の概要 球面鏡の曲率半径が与えられたとき、その鏡の焦点距離を求めることを目標とします。 焦点距離とは、鏡の曲率中心から主焦点までの距離のことです。球面鏡の焦点距離を求めるには、まずその鏡の曲率半径を知る必要があります。鏡の頂点から曲率中心までの距離を「曲率半径」と呼びます。 数式で表すと − 凹面鏡の場合: F = R∕2 凸面鏡の場合: F = −R∕2 凸面鏡の焦点距離が負の値になるのは、光学における符号規約によるものです。凸面鏡の焦点は虚焦点であり、入射光の進行方向とは反対側にできるため、マイナス符号を付けて表します。 それでは