Ich brauche Punkte um einen Viertelkreis im Gegenuhrzeigersinn zu generieren, aber mit meinem Programm kann ich im Uhrzeigersinn erzeugen. Unten ist mein Code.Umkehren einer Reihe von Punkten in C++
#include <iostream>
#include <cmath>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
int NumberPoints(10);
double x1;
const double PI = 3.14159;
double radius = 5;
double angle = 0.7853; //45 degrees
ofstream plot;
string plotDataFile("points.txt");
plot.open(plotDataFile.c_str());
for (int i = 0; i <= NumberPoints; i++)
{
x1 = angle/NumberPoints*i;
plot << setprecision(5) << radius * sin(x1) << " ";
plot << setprecision(5) << radius * cos(x1) << " " << endl;
}
plot.close();
}
Ich bekomme folgende Ausgabe.
0 5
0.39225 4.9846
0.78208 4.9385
1.1671 4.8619
1.5449 4.7553
1.9132 4.6195
2.2697 4.4552
2.6122 4.2634
2.9386 4.0453
3.2469 3.8023
3.5352 3.5359
Ich brauche Punkte im Format 3,5352 3,5359 3,2469 3,8023 2,9386 4,0453 . . Kann jemand mir helfen, meinen Code zu ändern oder mir eine Idee für das selbe zu geben.
Es gibt eine [std :: reverse() ] (http://en.cppreference.com/w/cpp/algorithm/reverse) Funktion. –
Haben Sie 'x1 = -angle/NumberPoints * i;' schon versucht? –
@ πάνταῥεῖ Ja, ich habe es versucht. es tritt in den zweiten Quadranten ein. – Patrik