powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Составить программы анализа данных
25 сообщений из 36, страница 1 из 2
Составить программы анализа данных
    #39264487
95Roman6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток друзья, пришёл на форум за помощью.
Задачи
Два объекта движутся с постоянными скоростями в горизонтальной плоскости по пересекающимся прямым. Известны их координаты в моменты времени t0 и t1.
а) Определить, пересекутся ли траектории объектов и, если да, то точку пересечения траекторий;
б) Найти время прохождения точки пересечения каждым из объектов и скорость каждого из них;
в) Будем считать, что объекты должны столкнуться, если
- возможное кратчайшее расстояние между ними меньше суммарной длины объектов И
- это расстояние будет достигнуто в момент времени, превышающий t1.
Определить, возможно ли столкновение.
Входные данные: числа с плавающей запятой t0, t1 моменты времени
(t0<t1 - проверьте ) , x1, y1, x2, y2 – начальное и конечное положение первого объекта, u1,z1, u2, z2 – начальное и конечное положение второго объекта, L1, L2 — размеры объектов.
Выходные данные:
- Если траектории движения параллельны, то вывести строку «Траектории не пересекаются».
- Если траектории движения объектов не параллельны, то вывести числа с плавающей запятой
x, y — координаты точки пересечения; t3,t4 — время прохождения через точку пересечения первым и вторым объектом соответственно; v1, v2 – скорости объектов;
 строку «Ожидается столкновение» или «Столкновение не произойдет» в зависимости от решения пункта в).


A я вроде как сделал но нужно будет ещё доработать, а вот Б не как не могу понять как б) Найти время прохождения точки пересечения каждым из объектов и скорость каждого из них;
не совсем понимаю как сделать, если бы объяснили или алгоритм решения подсказали было бы чюдно
Код
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
/*пересечения двух прямых*/
#include<stdio.h>
#include<math.h>
main(){
  int x1, y1; 		//точка А (начало)
  int x2, y2; 		//точка В (конец)
    printf("Введите точку A(x1, y1) ");
      scanf("%d%d", &x1, &y1);
    printf("Введите точку B(x2, y2) ");
      scanf("%d%d", &x2, &y2);   
  int A1 = y2-y1;
  int B1 = x1-x2;
    int object_1 = -A1*x1-B1*y1;
  
  int u1,z1; 		//точка C (начало)
  int u2,z2; 		//точка D (конец)
    printf("Введите точку C(u1, z1) ");
      scanf("%d%d", &u1, &z1);  
    printf("Введите точку D(u2, z2) ");
      scanf("%d%d", &u2, &z2);
  int C1 = z2-z1;
  int D1 = u1-u2;
    int object_2 = -C1*u1-D1*z1;
  
    int f1 = A1 * u1 +B1 * z1 + object_1;
    int f2 = A1 * u2 +B1 * z2 + object_1;
    int f3 = C1 * x1 +D1 * y1 + object_2;
    int f4 = C1 * x2 +D1 * y2 + object_2;
//находим x, y (точка пересечения 2х прямых)  
  int x = -((x1*y2-x2*y1)*(u2-u1)-(u1*z2-u2*z1)*(x2-x1))/((y1-y2)*(u2-u1)-(z1-z2)*(x2-x1));
  int y = ((z1-z2)*x-(u1*z2-u2*z1))/(u2-u1);
  
//строгое пересечение  
  if(f1*f2<0&&f3*f4<0){
    printf("YES\n");
    printf("x:%d, y:%d\n",x,y);
  }
    else
      printf("NO\n");  
}


...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264491
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем проблема? Есть точки и время в которое в них был объект. Как скорость посчитать догадался?
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264502
95Roman6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, если бы я догадался я бы написал а так увы что та не доганяю
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264505
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть как-бы два подхода.

1) Математический. Мы откладываем с сторону вообще С++. Решаем уравнения с неравестнвами.
Рассматриваем частные случаи такие как
Векторы u1,v1, u2,v2 смотрят в разные стороны.

Параллельны

Перескекаются. И этот кейс детализируем. Детализируем что такое разрмеры объекта. Это сфера?
Bounding Box? Решаем чортово уравнение.

2) Игровой. Или симуляция. Просто симулируем процесс игровой логики и наблюдаем будет ли колиизия через какое-то
время. Несмотря на тупость имеет шанс на внедрение когда формула движения (внезапно) усложняется
и вводится случайное управление или силы влияния (притяжения, гравитация, ветер). Только надо задать
точность времени. Сколько тиков в секунду мы будем отслеживать. Т.к. для быстро движущихся объектов
есть шанс проскочить друг сквозь друга.
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264524
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
95Roman6Dima T, если бы я догадался я бы написал а так увы что та не доганяю
Посчитай расстояние между двумя точками. Если школу забыл - гугл в помощь.
t1-t0 = время
скорость = расстояние / время
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264683
95Roman6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
/*пересечения двух прямых*/
#include<stdio.h>
#include<math.h>
main(){
  float t0,t1; 		//время
    printf("Введите время t0 и t1 (t0<t1): ");
      scanf("%f%f", &t0, &t1);
	if(t0>t1){
	  printf("ERROR: t0>t1\n");
  return 0;
	}
  int x1,y1; 		//точка А (начало)
  int x2,y2; 		//точка В (конец)
    printf("Введите точку A(x1, y1) ");
      scanf("%d%d", &x1, &y1);
    printf("Введите точку B(x2, y2) ");
      scanf("%d%d", &x2, &y2);   
  int A1 = y2-y1;
  int B1 = x1-x2;
    int object_1 = -A1*x1-B1*y1;
  
  int u1,z1; 		//точка C (начало)
  int u2,z2; 		//точка D (конец)
    printf("Введите точку C(u1, z1) ");
      scanf("%d%d", &u1, &z1);  
    printf("Введите точку D(u2, z2) ");
      scanf("%d%d", &u2, &z2);
  int C1 = z2-z1;
  int D1 = u1-u2;
    int object_2 = -C1*u1-D1*z1;
//длина отрезков
  float dl1 = fabs((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1));
  float dl2 = fabs((z2-z1)*(z2-z1)+(u2-u1)*(u2-u1));
//для if
    int f1 = A1 * u1 +B1 * z1 + object_1;
    int f2 = A1 * u2 +B1 * z2 + object_1;
    int f3 = C1 * x1 +D1 * y1 + object_2;
    int f4 = C1 * x2 +D1 * y2 + object_2;
//находим x, y (точка пересечения 2х прямых)  
  int x = (-(x1*y2-x2*y1)*(u2-u1)-(u1*z2-u2*z1)*(x2-x1))/((y1-y2)*(u2-u1)-(z1-z2)*(x2-x1));
  int y = ((z1-z2)*x-(u1*z2-u2*z1))/(u2-u1); 
//строгое пересечение  
  if(f1*f2<0&&f3*f4<0){
    printf("YES\n");
    printf("x:%d, y:%d\n",x,y);
  }
    else
      printf("NO\n"); 
//t0-t1 = время
  float T = t1-t0;
//Скорость обьектов: скорость = расстояние / время
  float S_object_1 = dl1/T;
  float S_object_2 = dl2/T;
//время = расстояние / скорость
  float time1 = dl1/S_object_1;
  float time2 = dl2/S_object_2;
  
printf("A1: %d\t\tB1: %d\t\t object_1: %d\n",A1,B1,object_1);
printf("C1: %d\t\tD1: %d\t\t object_2: %d\n",C1,D1,object_2);
printf("Длина 1го отрезка: %0.1f\nДлина 2го отрезка: %0.1f\n",dl1,dl2);
printf("Скорость 1го объекта: %0.1f\nСкорость 2го объекта: %0.1f\n",S_object_1,S_object_2);
printf("Время 1го обьекта: %0.1f\nВремя 2го обьекта: %0.1f\n",time1,time2);
printf("[ f1: %d | f2: %d | f3: %d | f4: %d ]\n",f1,f2,f3,f4);
}


Результат 

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Введите время t0 и t1 (t0<t1): 9 54
Введите точку A(x1, y1) 6 15
Введите точку B(x2, y2) 6 -5
Введите точку C(u1, z1) -7 10
Введите точку D(u2, z2) 10 10
YES
x:6, y:10
A1: -20         B1: 0            object_1: 120
C1: 0           D1: -17          object_2: 170
Длина 1го отрезка: 400.0
Длина 2го отрезка: 289.0
Скорость 
1го объекта: 8.9 Скорость 2го объекта: 6.4 Время 1го обьекта: 45.0 Время 2го обьекта: 45.0 [ f1: 260 | f2: -80 | f3: -85 | f4: 255 ]



Вот что получилось, поправьте если что в коде не так
PS/вот только я не понял зачем t1-t0 ? разве t0 не скорость 1го объекта а t1 не второго?
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264696
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
95Roman6PS/вот только я не понял зачем t1-t0 ? разве t0 не скорость 1го объекта а t1 не второго?
Судя по заданию просто какое-то время
95Roman6t0, t1 моменты времени
в каких-то единицах измерения времени (секунды, минуты и т.д.), в каких конкретно - неважно. Главное что во всех случаях в одних и тех же. Если хочется с единицами измерения, то считай, например, что в секундах от Рождества Василия Пупкина.
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264706
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
95Roman6,

Обрати внимание. Здесь у тебя идет целочисленное деление. Это деление с сильным загрублением результата.

Код: plaintext
1.
2.
int x = (-(x1*y2-x2*y1)*(u2-u1)-(u1*z2-u2*z1)*(x2-x1))/((y1-y2)*(u2-u1)-(z1-z2)*(x2-x1));
int y = ((z1-z2)*x-(u1*z2-u2*z1))/(u2-u1); 



Любое умножение надо также проверять. Условно сетка short при умножении на short превращается в int,
и int при умножении возвращает int64.

Этот артефакт может стрельнуть в любой момент даже в тех формулах где ты и не ожидаешь. Просто вводя некоторые
специальные исходные данные типа 0xFFFFFFFF можно поймать такое.

Вобщем я-бы решал эту задачу в double-координатах.
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264722
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton95Roman6,

Обрати внимание. Здесь у тебя идет целочисленное деление. Это деление с сильным загрублением результата.

Код: plaintext
1.
2.
int x = (-(x1*y2-x2*y1)*(u2-u1)-(u1*z2-u2*z1)*(x2-x1))/((y1-y2)*(u2-u1)-(z1-z2)*(x2-x1));
int y = ((z1-z2)*x-(u1*z2-u2*z1))/(u2-u1); 



Любое умножение надо также проверять. Условно сетка short при умножении на short превращается в int,
и int при умножении возвращает int64.

Этот артефакт может стрельнуть в любой момент даже в тех формулах где ты и не ожидаешь. Просто вводя некоторые
специальные исходные данные типа 0xFFFFFFFF можно поймать такое.

Вобщем я-бы решал эту задачу в double-координатах.


5 копеек
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264757
95Roman6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonВобщем я-бы решал эту задачу в double-координатах.
Спасибо так и сделаю)
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264767
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
95Roman6Два объекта движутся с постоянными скоростями в горизонтальной плоскости по
пересекающимся прямым .

95Roman6Если траектории движения параллельны, то вывести строку "Траектории не
пересекаются".
Я один не понимаю как могут не пересекаться пересекающиеся прямые?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39264797
95Roman6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov95Roman6Два объекта движутся с постоянными скоростями в горизонтальной плоскости по
пересекающимся прямым .

95Roman6Если траектории движения параллельны, то вывести строку "Траектории не
пересекаются".
Я один не понимаю как могут не пересекаться пересекающиеся прямые?..


Я понял так, два объекта по пересекаются и вывести точку их пересечения но если нет вывести Траектории не пересекаются
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265617
95Roman6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
/*пересечения двух прямых*/
#include<stdio.h>
#include<math.h>
main(){
  float t0,t1; 		//время
    printf("Введите время t0 и t1 (t0<t1): ");
      scanf("%f%f", &t0, &t1);
	if(t0>t1){
	  printf("ERROR: t0>t1\n");
  return 0;
	}
//t0-t1 = время
  float T = t1-t0;
//Отрезок АВ
  int x1,y1; 		//точка А (начало)
  int x2,y2; 		//точка В (конец)
    printf("Введите точку A(x1, y1) ");
      scanf("%d%d", &x1, &y1);
    printf("Введите точку B(x2, y2) ");
      scanf("%d%d", &x2, &y2);   
  int A1 = y2-y1;
  int B1 = x1-x2;
    int object_1 = -A1*x1-B1*y1;
//Отрезок CD  
  int u1,z1; 		//точка C (начало)
  int u2,z2; 		//точка D (конец)
    printf("Введите точку C(u1, z1) ");
      scanf("%d%d", &u1, &z1);  
    printf("Введите точку D(u2, z2) ");
      scanf("%d%d", &u2, &z2);
  int C1 = z2-z1;
  int D1 = u1-u2;
    int object_2 = -C1*u1-D1*z1;
//Размеры объектов
float r1; 	//Радиус 1й
float r2; 	//Радиус 2й
    printf("Введите Радиус 1й окружности r1: ");
      scanf("%f", &r1);  
    printf("Введите Радиус 2й окружности r1: ");
      scanf("%f", &r2);
  float L1; 	//Размер 1го объекта
  float L2; 	//Размер 2го объекта
    float const PI = 3.14;
  L1 = 2*PI*r1; 	//Длина 1й окружности
  L2 = 2*PI*r2; 	//Длина 2й окружности
  
//для if
    int f1 = A1 * u1 +B1 * z1 + object_1;
    int f2 = A1 * u2 +B1 * z2 + object_1;
    int f3 = C1 * x1 +D1 * y1 + object_2;
    int f4 = C1 * x2 +D1 * y2 + object_2;
//находим x, y (точка пересечения 2х прямых)  
  float x = (-(x1*y2-x2*y1)*(u2-u1)-(u1*z2-u2*z1)*(x2-x1))/((y1-y2)*(u2-u1)-(z1-z2)*(x2-x1));
  float y = ((z1-z2)*x-(u1*z2-u2*z1))/(u2-u1); 
//строгое пересечение  
  if(f1*f2<0&&f3*f4<0){
    printf("Прямые пересекаются в точке: ");
    printf("x:%0.0f, y:%0.0f\n",x,y);
  }
    else
      printf("Траектории не пересекаются\n");
//длина отрезков dl1: AB, dl2: CD
  float dl1 = sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1));
  float dl2 = sqrt((z2-z1)*(z2-z1)+(u2-u1)*(u2-u1));
//Скорость обьектов: скорость = расстояние / время
  float S_object_1 = dl1/T;
  float S_object_2 = dl2/T;
//длина отрезков dl3: AP, dl4: CP
  float dl3 = sqrt((y-y1)*(y-y1)+(x-x1)*(x-x1));
  float dl4 = sqrt((y-z1)*(y-z1)+(x-u1)*(x-u1));
//время = расстояние / скорость
  float time1 = dl3/S_object_1;
  float time2 = dl4/S_object_2;
  
printf("A1: %d\t\tB1: %d\t\t object_1: %d\n",A1,B1,object_1);
printf("C1: %d\t\tD1: %d\t\t object_2: %d\n",C1,D1,object_2);
printf("Длина 1го отрезка [A,B]: %0.1f\nДлина 2го отрезка [C,D]: %0.1f\n",dl1,dl2);
printf("Длина 3го отрезка [A,P]: %0.1f\nДлина 4го отрезка [C,P]: %0.1f\n",dl3,dl4);
printf("Скорость 1го объекта: %0.1f\nСкорость 2го объекта: %0.1f\n",S_object_1,S_object_2);
printf("Время 1го обьекта: %0.1f\nВремя 2го обьекта: %0.1f\n",time1,time2);
printf("Длина 1й окружности: %0.2f\nДлина 2й окружности: %0.2f\n",L1,L2);
printf("[ f1: %d | f2: %d | f3: %d | f4: %d ]\n",f1,f2,f3,f4);
}


на выходе
Введите время t0 и t1 (t0<t1): 3 8
Введите точку A(x1, y1) 3 7
Введите точку B(x2, y2) 3 -10
Введите точку C(u1, z1) -3-3
Введите точку D(u2, z2) 8 -3
Введите Радиус 1й окружности r1: 3
Введите Радиус 2й окружности r1: 5
Прямые пересекаются в точке: x:3, y:-3
A1: -17 B1: 0 object_1: 51
C1: 0 D1: -11 object_2: -33
Длина 1го отрезка [A,B]: 17.0
Длина 2го отрезка [C,D]: 11.0
Длина 3го отрезка [A,P]: 10.0
Длина 4го отрезка [C,P]: 6.0
Скорость 1го объекта: 3.4
Скорость 2го объекта: 2.2
Время 1го обьекта: 2.9
Время 2го обьекта: 2.7
Длина 1й окружности: 18.84
Длина 2й окружности: 31.40
[ f1: 102 | f2: -85 | f3: -110 | f4: 77 ]

вроде А и Б сделал но не могу понять как привязать длину круга которую я нашел чтоб выяснить столкнуться ли объекты или нет .

в) Будем считать, что объекты должны столкнуться, если
- возможное кратчайшее расстояние между ними меньше суммарной длины объектов И
- это расстояние будет достигнуто в момент времени, превышающий t1.
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265637
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
95Roman6, производную умеешь брать?
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265672
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точку пересечения траекторий находишь (координаты), вычисляешь когда там будет первый объект (время), затем вычисляешь где в это время будет второй, считаешь расстояние между ними, если <= L1 + L2 то столкновение.
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265681
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T, не Дим. Там хитрее ситуация. Тут надо постулировать как инвариант что
столкновение возможно только когда расстояние L между центрами объектов
меньше R1+R2.

Точка пересечения траекторий не обязательно будет точкой столкновения. По крайней
мере я могу нарисовать случай когда шарики касаются но при этом их центры еще
не совпали с пересечением траекторий.

Поэтому надо дифференцировать расстояние L по времени и искать минимум.
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265682
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T... если <= L1 + L2 то столкновение.
напутал похоже. Немного непонятно про размеры объектов и форму. Если объекты круглые и L это диаметр, то <= (L1 + L2) / 2

PS Теоретически они могут столкнуться далеко от точки пересечения, если траектории почти параллельны и движение навстречу друг-другу.
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265691
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TТочку пересечения траекторий находишь (координаты), вычисляешь когда там будет первый объект (время), затем вычисляешь где в это время будет второй, считаешь расстояние между ними, если <= L1 + L2 то столкновение.

не путай человека, ему за фундаментальные знаия оценку будут ставить
а не за импирическое попадание пальцем в небо...


майтона слушай ....

намек понятен ?
скорости которые равны есть первые производные от растояния по времени ....
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265693
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не в лабе для первого курса.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265703
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0kне путай человека, ему за фундаментальные знаия оценку будут ставить
а не за импирическое попадание пальцем в небо...


майтона слушай ....
Я уже понял что не все так просто.

Такое впечатление что лаба не по Си, а по алгебре с геометрией.
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265715
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скоре всего они в теории уже на парах прорешали пару таких задач.
И в задачах были допущения. Или упрощения о которых мы не знаем.

Мне вспомниается анекдот про задачу где червяк грызет книжку
от корки до корки. Вобщем суть в том что школьник быстро ее решает
а Академик вообще не может решить т.к. видит больше степеней
свободы и глубже саму постановку.

В данном примере наши знания нас обременяют а автор - ясное дело
хлопал ушами или прогуливал и толком не может дать нам упрощений.

Ну тогда пускай дифференцирует расстояние между шарами.
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265726
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonСкоре всего они в теории уже на парах прорешали пару таких задач.
И в задачах были допущения. Или упрощения о которых мы не знаем.

Мне вспомниается анекдот про задачу где червяк грызет книжку
от корки до корки. Вобщем суть в том что школьник быстро ее решает
а Академик вообще не может решить т.к. видит больше степеней
свободы и глубже саму постановку.

В данном примере наши знания нас обременяют а автор - ясное дело
хлопал ушами или прогуливал и толком не может дать нам упрощений.

Ну тогда пускай дифференцирует расстояние между шарами. поверхностями шаров.


Пофиксил ....

Для летаюших кубиков или пирамид решение будет другим....
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265737
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonтогда пускай дифференцирует расстояние между шарами.
А дифференцировать-то зачем? Достаточно искать точку соприкосновения, а это даёт нам в
конечном итоге уравнение с одной неизвестной, которое, возможно, даже решается аналитически.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265741
95Roman6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonСкоре всего они в теории уже на парах прорешали пару таких задач.
Увы, но нет не решали мы такие задачи на си и вообще.
решали задачи по си на подобии "Создать массив nxn в котором все элементы заштрихованы в обл. решения матриц решения функций и тп"
maytonИ в задачах были допущения. Или упрощения о которых мы не знаем.
все что было дано я написал)
maytonВ данном примере наши знания нас обременяют а автор - ясное дело
хлопал ушами или прогуливал и толком не может дать нам упрощений.
С эти я не согласен, с посещаемостью все нормально )
Ну тогда пускай дифференцирует расстояние между шарами.
Попробую
...
Рейтинг: 0 / 0
Составить программы анализа данных
    #39265753
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovmaytonтогда пускай дифференцирует расстояние между шарами.
А дифференцировать-то зачем? Достаточно искать точку соприкосновения, а это даёт нам в
конечном итоге уравнение с одной неизвестной, которое, возможно, даже решается аналитически.

Это даже не вопрос. Это выбор инструмента. Помните в школе все решали задачки где два поезда
то сходятся то расходятся. А то и две трубы то втекают то вытекают из бассэйна. Так вот.
Это тоже были задачи на вырожденное уравнение движения. Просто мы решали его инструментом
школы.

И если вы решите задачу коллизии шаров просто аналитически - то флаг в руки. Дай бох!
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Составить программы анализа данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]