Reflexion am sphärischen Spiegel

Ein sphärischer Spiegel schneidet die optische Achse bei $(x=0,y=0)$. Der Spiegel hat einen Radius $R$ zentriert am Punkt $C$. Für $R>0$ ist die Grenzfläche konvex und für $R<0$ konkav. Lichtstrahlen verlassen ein Objekt $o$ links der Grenzfläche und werden im Punkt $P$ an der Grenzfläche reflektiert. Die blauen Linien sind die Verlängerungen der Strahlen hinter dem Spiegel. , um einen annähernd flachen Spiegel zu erhalten.

Lichtquelle

$x_o = $ [cm]
$y_o = $ [cm]
$\phi = $ [deg]

 

Spiegel

$R = $ [cm]
Your browser does not support the canvas element.

Die Bedingung, dass ein Lichtstrahl, der am Punkt $\vec{r}_o$ beginnt und sich in die durch den Einheitsvektor $\hat{n}$ gegebene Richtung bewegt, eine Kugel mit Radius $R$ schneidet, deren Mittelpunkt der Punkt $\vec{C}$ ist, lautet: $$R=|\vec{r}_o + d\hat{n} - \vec{C}|.$$

Hierbei ist $d$ die Länge des Vektors, der am Punkt $\vec{r}_o$ beginnt und am Punkt $\vec{r}_o + d\hat{n}$ endet. Quadriert man beide Seiten, erhält man:

$$R^2 = (\vec{r}_o + d\hat{n} - \vec{C})\cdot (\vec{r}_o + d\hat{n} - \vec{C}).$$

Berechnung des inneren Produkts ergibt:

$$d^2\hat{n}\cdot\hat{n} + 2d\hat{n}\cdot (\vec{r}_o - \vec{C}) + (\vec{r}_o - \vec{C})\cdot (\vec{r}_o - \vec{C}) -R^2 =0.$$

Dies kann für $d$ mit der quadratischen Gleichung gelöst werden:

$$ d = -\hat{n}\cdot (\vec{r}_o - \vec{C}) \pm \sqrt{|\hat{n}\cdot (\vec{r}_o - \vec{C})|^2 - |(\vec{r}_o - \vec{C})|^2 -R^2 }.$$

Die Funktion, die diese Berechnung durchführt, ist:

function intersect_line_sphere(ro,n,R,C) { // Schnittpunkt einer Linie und einer Kugel finden
// ro ist der Anfangspunkt der Linie, n ist der Einheitsvektor in Richtung der Linie
// R ist der Radius der Kugel, C ist der Mittelpunkt der Kugel
  let b = dot(n,vsub(ro,C));
  let q = dot(vsub(ro,C),vsub(ro,C)) - R*R;
  let Delta = b*b - q;
  if (Delta > 0) {
    let d1 = -b + Math.sqrt(Delta);
    let d2 = -b - Math.sqrt(Delta);
    return [d1,d2];
  }
  else {
    return null;
  }
}

Das folgende Formular berechnet die Schnittpunkte einer Geraden und einer Kugel.

Linie:
$\vec{r}_o$ = $\hat{x}$ + $\hat{y}$ + $\hat{z}$
$\hat{n}$ = $\hat{x}$ + $\hat{y}$ + $\hat{z}$

Kugel:
$R$ =
$\vec{C}$ = $\hat{x}$ + $\hat{y}$ + $\hat{z}$




Question