Hallo rumrechnen007
Schätze mal, das einfachste ist den Kreismittelpunkt(A) und dann die Punkte E,F,G,H,I,J,K kartesisch einzugeben. Zumindest Punkt A, dann als Startpunkt E oder einen anderen Punkt, der genau auf den äußersten Kreis sitzt. Dann den Polarradius und Winkel zur X-Achse berechnen.
Du könntest aber über ein Array die Winkel fest speichern (90, 150, 210, 270, 300 Grad).
Dann die Radien für die Punkte C und D berechnen.
Der Rest über Schleifen abfrageen.
Hast du eigentlich berücksichtigt, das zumindest in c und c++ die sin, cos und tan-Funktion den Winkel im Bogenmaß braucht? Di Funktionen atan, asin, und acos geben den Winkel im Bogenmaß zurück, nicht in Grad(=Altgrad 0 - 360° beim Vollkreis).
double radtograd(double boma)
{
double grad, pi = 3.141592653589793;
grad = ((boma * 180) / pi);
return grad;
}
// Wandelt grad in Bogenmass um
double bogenmass(double grad)
{
double boma, pi = 3.141592653589793;
boma = (grad * pi) / 180;
return boma;
Bei der Umrechnung von Sinus Cosinus und Tangens zu Winkel geht übers Bogenmaß.
Beispiel:
double Winkel_aus_tanwert(double tanwert)
{
double boma = atan(tanwert);
double Winkelhalbe = radtograd(boma);
return Winkelhalbe;
}
double Winkel_aus_sinwert(double sinwert)
{
double boma = asin(sinwert);
double Winkelhalbe = radtograd(boma);
return Winkelhalbe;
}
double Winkel_aus_coswert(double coswert)
{
double boma = acos(coswert);
double Winkelhalbe = radtograd(boma);
return Winkelhalbe;
}
Sind insgesamt 18 verschiedene Felder. Also zuerst Radius errechnen .Dann feststellen,
in welchen Kreisring der Punkt fällt. Dann über den Winkel das gesuchte Feld identifizieren.