A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 9 Ω


PHP Programme Halbkreislinse

Optik

Grundidee


Das hier kurz vorgestellte Programm läuft unter der Programmiersprache PHP in der Bash-Shell. Es ist für einige wenige Strahlengänge getestet, für viele mögliche Sonderfälle aber noch nicht.

Der physikalische Hintergrund




Der x-Wert im Video entspricht dem Wert $xf im Programm. Der y-Wert aus dem Video heißt auch im Programm $y.

Zum Lesen des Programms



Das Programm in PHP



# halbkreislinse.php
# 13. Juni 2024
# Gunter Heim

echo "HALBKREISLINSE: alle Angaben in Zentimetern";
echo "\n\n";

# Eingabe des Anfangswertes

# Funktion 0

echo 'Gib den Radius der Halbkreislinse ein. Der Radius ist auch gleich der Hälfte der Länge der geraden, planen Seite: ';
$r=readline();
echo "\n";

echo 'Gib den anfänglichen y-Wert ein. Damit gemeint ist die Höhe des einfallenden Strahls in Zentimetern über der optischen Achse. Der Strahl muss parallel zur optischen Achse einfallen: ';
$y=readline();
echo "\n";

# Funktion 1
# y,r -> x-Wert des Austrittspunktes
$x=sqrt($r*$r-$y*$y);
echo '1) Dem Zahlenpaar aus der Höhe y des einfallenden Strahles und dem Radius der Halbkreislinse wird der x-Wert des Austrittspunktes zugeordnet. Der x-Wert des Austrittspunktes des Strahles an der konvexen Seite der Linse ist: ';
echo $x;
echo "\n\n";
sleep (1);

# Funktion 2
# Aus xa und y wird die Steigung der Lotgeraden berechnet:
$mn=$y/$x;
echo '2) Die Steigung der Lotgeraden am Austrittspunkt ist: ';
echo $mn;
echo "\n\n";
sleep (1);

# Funktion 3
# Aus der Steigung der Lotgeraden wird der Einfallswinkel t1 (theta1) im Bezug zur Lotgeraden, im Sinne des snelliussches Gesetzes, berechnet:
$t1Bogenmass=atan($mn);
$t1=360*$t1Bogenmass/(2*3.14159);
echo "3) Der Einfallswinkel Theta 1 zum Lot ist: ";
echo $t1;
echo "\n\n";
sleep (1);

# Funktion 4
# Snellius:
# Aus dem Einfallswinkel Theta 1 zum Lot wird der Ausfallswinkel Theta 2 zum Lot berechnet: ";
$n1=1.49; # Brechungszahl von Acryl
$n2=1.00; # Brechungszahl von Luft
$t2Bogenmass=asin(sin($t1Bogenmass)*$n1/$n2);
$t2=360*$t2Bogenmass/(2*3.14159);
echo "4) Der Ausfallswinkel Theta 2 zum Lot ist: ";
echo $t2;
echo "\n\n";
sleep (1);

# Funktion 5
# Die Neigung des ausfallenden Winkels zur Horizontalen. Der Wert ist postitiv und meint einen nach unten gerichteten Winkel.
$t3Bogenmass=$t2Bogenmass-$t1Bogenmass;
$t3=360*$t3Bogenmass/(2*3.14159);
echo "5) Der ausfallende Strahl hat eine Neigung zur Horizontalen, mit der er sich hin zur optischen Achse bewegt: ";
echo $t3;
echo "\n\n";
sleep (1);

# Funktion 6
# Das x-Inkrement: wie viel auf der optischen Achse zum ursprünglichen x-Wert hinzugerechnet wird bis zum Fokus, dem gesuchten Brennpunkt:
$xink=$y/tan($t3Bogenmass);
echo "6) Die Entfernung des gesuchten Brennpunktes von der x-Stelle des Austrittspunktes ist: ";
sleep (1);

echo $xink;
echo "\n\n";

# Funktion 7
# Der x-Wert des Fokus auf der x-Achse:
$xf=$x+$xink;
echo "7) Der Fokus auf der optischen Achse liegt bei: ";
echo $xf;
echo "\n\n"
?>

Fußnoten