Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. x_coord = x0.toDouble();
  2. y_coord = y0.toDouble();
  3. starting_angle = angle0.toDouble();
  4. starting_velocity = velocity0.toDouble();
  5. ui->setupUi(this);
  6.  
  7. double left_border = x_coord.toDouble(); //Начало интервала, где рисуем график по оси Ox
  8.  
  9. double g = 9.81;
  10.  
  11. double border = (pow(starting_velocity.toDouble(), 2)*sin(2*starting_angle.toDouble() * PI/180)/g) + 5;
  12. double b = 1;
  13. double h = 0.01;
  14.  
  15. double tim = 2*starting_velocity.toDouble()*sin(2*starting_angle.toDouble() * PI/180)/g;
  16.  
  17. ui->label->setNum(border);
  18. ui->label_2->setNum(pow(starting_velocity.toDouble(), 2)*sin(2*starting_angle.toDouble() * PI/180)/g);
  19.  
  20. int N=2048; //Вычисляем количество точек, которые будем отрисовывать
  21. QVector<double> x(N), y(N); //Массивы координат точек
  22.  
  23. //Вычисляем наши данные
  24. int i=0;
  25. double time = 0;
  26. while(true)//Пробегаем по всем точкам
  27. {
  28. x[i] = starting_velocity.toDouble()*cos(((starting_angle.toDouble() * PI)/180) * time);
  29. y[i] = (starting_velocity.toDouble()*sin(((starting_angle.toDouble() * PI)/180) * time)) - (g*pow(time, 2)/2);
  30. if(((y_coord.toDouble() >= y[i]) and (i>0)) or i == N)
  31. break;
  32. i++;
  33. time += 0.5;
  34. ui->label_3->setNum(i);
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement