Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- x_coord = x0.toDouble();
- y_coord = y0.toDouble();
- starting_angle = angle0.toDouble();
- starting_velocity = velocity0.toDouble();
- ui->setupUi(this);
- double left_border = x_coord.toDouble(); //Начало интервала, где рисуем график по оси Ox
- double g = 9.81;
- double border = (pow(starting_velocity.toDouble(), 2)*sin(2*starting_angle.toDouble() * PI/180)/g) + 5;
- double b = 1;
- double h = 0.01;
- double tim = 2*starting_velocity.toDouble()*sin(2*starting_angle.toDouble() * PI/180)/g;
- ui->label->setNum(border);
- ui->label_2->setNum(pow(starting_velocity.toDouble(), 2)*sin(2*starting_angle.toDouble() * PI/180)/g);
- int N=2048; //Вычисляем количество точек, которые будем отрисовывать
- QVector<double> x(N), y(N); //Массивы координат точек
- //Вычисляем наши данные
- int i=0;
- double time = 0;
- while(true)//Пробегаем по всем точкам
- {
- x[i] = starting_velocity.toDouble()*cos(((starting_angle.toDouble() * PI)/180) * time);
- y[i] = (starting_velocity.toDouble()*sin(((starting_angle.toDouble() * PI)/180) * time)) - (g*pow(time, 2)/2);
- if(((y_coord.toDouble() >= y[i]) and (i>0)) or i == N)
- break;
- i++;
- time += 0.5;
- ui->label_3->setNum(i);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement