Für zahlreiche 3D-Objekte stehen Parametergleichungen zur Verfügung, mit denen sich jeder einzelne Punkt (x,y,z) auf der Oberfläche des Objekts beschreiben lässt. In dieser Übung wollen wir für einzelne 3D-Objekte mit einem C++-Programm ein Punktegitter erzeugen und in eine Datei exportieren. Anschließend kann das 3D-Objekt mit einer beliebigen 3D-Software, die den Import von xyz-Dateien unterstützt, betrachtet werden.
Kugelkoordinaten · Transformationen & Erklärung
Ein Punkt P auf der Kugeloberfläche wird durch folgende drei Koordinaten beschrieben:

Von Ag2gaeh - Eigenes Werk, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=41627945
Die Kugelkoordinaten (r, theta, phi) lassen sich mit folgenden Gleichungen in kartesische Koordinaten (x, y, z) umrechnen:
$$ x=r*sin(\theta)cos(\phi)\\ y=rsin(\theta)cos(\phi)\\ z=rcos(\theta) $$
Es soll ein C++-Programm entwickelt werden, welches ein Raster aus (x,y,z) Punkten erzeugt, die gemeinsam eine Kugeloberfläche bilden. Die Nutzerin kann dabei folgende Einstellungen vorgeben:
Das Programm soll die erzeugten Punkte in eine Datei schreiben.
Vervollständigen Sie dazu die folgende Programmvorlage, indem Sie die Variablen theta, phi, x, y, und z (rot markiert) berechnen.