ระยะโฟกัสของกระจกทรงกลม (Spherical Mirror Focal Length)
ความสัมพันธ์ระหว่างรัศมีโค้ง (R) และระยะโฟกัส (f):
- กระจกโค้งใน (Concave Mirror):
f = R/2(บวก - จุดโฟกัสจริง) - กระจกโค้งนอก (Convex Mirror):
f = -R/2(ลบ - จุดโฟกัสเสมือน)
ตัวอย่างโค้ด
import java.util.*;
public class Demo {
public static float concaveFocalLength(float radius) {
return radius / 2;
}
public static float convexFocalLength(float radius) {
return -radius / 2;
}
public static void main(String[] args) {
float radius = 55;
System.out.println("ระยะโฟกัสกระจกโค้งใน (Concave): " + concaveFocalLength(radius) + " หน่วย");
System.out.println("ระยะโฟกัสกระจกโค้งนอก (Convex): " + convexFocalLength(radius) + " หน่วย");
}
}
ผลลัพธ์
ระยะโฟกัสกระจกโค้งใน (Concave): 27.5 หน่วย ระยะโฟกัสกระจกโค้งนอก (Convex): -27.5 หน่วย
ทฤษฎีทางฟิสิกส์
กระจกโค้งใน (Concave Mirror)
- รังสีขนานแกนหลัก → เลียบผ่านจุดโฟกัสจริง (Real focus)
- f > 0 (Positive)
- ใช้ใน: กล้องโทรทรรศน์ ไฟฉาย หน้าจอฉายภาพ
กระจกโค้งนอก (Convex Mirror)
- รังสีขนานแกนหลัก → เลียบกระจายออกเหมือนมาจากจุดโฟกัสเสมือน (Virtual focus)
- f < 0 (Negative)
- ใช้ใน: กระจกมองหลังรถยนต์ กระจกมุมถนน
สมการกระจก (Mirror Equation)
1/f = 1/u + 1/v
- f = ระยะโฟกัส
- u = ระยะวัตถุ (Object distance) - บวกถ้าวัตถุอยู่หน้ากระจก
- v = ระยะภาพ (Image distance) - บวก = ภาพจริง, ลบ = ภาพเสมือน
ตัวอย่างเพิ่มเติม: คำนวณระยะภาพ
public class MirrorCalculator {
public static double imageDistance(double f, double u) {
// 1/v = 1/f - 1/u
return 1.0 / (1.0/f - 1.0/u);
}
public static String imageNature(double v) {
return v > 0 ? "จริง (Real), ไว้ข้างหน้ากระจก" : "เสมือน (Virtual), ไว้ข้างหลังกระจก";
}
public static void main(String[] args) {
double R = 30; // cm
double f = R / 2; // Concave: 15 cm
double u = 20; // Object at 20 cm
double v = imageDistance(f, u);
System.out.printf("f=%.1f cm, u=%.1f cm -> v=%.1f cm (%s)%n", f, u, v, imageNature(v));
}
}
Magnification (การขยาย)
m = -v/u = h'/h
- m < 0 → ภาพกลับหัว
- |m| > 1 → ขยาย
- |m| < 1 → ย่อ