2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Задача об отрезках
Сообщение03.05.2020, 22:41 


03/05/20
10
Здравствуйте!
Хочу решить следующую задачу.
Помогите, пож-та, не решением, а направлением.
Пока получается решить только построением (подбором). Но это очень долгий и утомительный путь.

Итак,
Даны 9 отрезков:
|A1|=0.611
|A2|=1.02
|A3|=1.519
|B1|=0.899
|B2|=0.839
|B3|=1.116
|C1|=1.314
|C2|=0.994
|C3|=0.967

Точки A, B, C находятся напротив точек 1, 2, 3 попарно (то есть точка А напротив точки 1, точка B напротив точки 2, точка С напротив точки 3).

Таким образом все отрезки, за исключением [A1] и [C3] взаимопересекаются.


Координата точки A(0;0)

Найти координаты точек B, C, 1, 2, 3 на плоскости.

Изображение



Решений на плоскости 4
в объёме - 8.


Хотелось бы с плоскостью разобраться, потом перейти к 3D

 Профиль  
                  
 
 Re: Задача о отрезках
Сообщение03.05.2020, 23:22 
Заслуженный участник


27/04/09
28128
$|MN| = c$ в координатах даёт уравнение $(m_x - n_x)^2 + (m_y - n_y)^2 = c^2$, вот все эти уравнения в кучу собрать да и решить.

Только тут вся конфигурация может вращаться вокруг $A$, так что без дополнительных условий (например сказать, что $B_y = 0$ и что $1_y, 2_y, 3_y$ все положительные) решений будет далеко не 4, а бесконечное число (если они есть).

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 01:52 


03/05/20
10
Я прекрасно знаю, как решать систему уравнений двух окружностей, также я прекрасно знаю, как решить подобную задачу и в 3хмерности (уравнение трех сфер), систему уравнений писать не буду, она очевидна. Это называется Трилатерация. На этом принципе построен поиск местоположения объекта по спутникам (там много поправок, не буду углубляться).
Попробуйте решить задачу методом, которым Вы предложили, это невозможно.
Вот примерно как это выглядит, когда я решаю при помощи построений.
Метод подбора.
Если у Вас получится посоветовать систему уравнений, буду рад)))

Изображение



Спасибо большое за совет!


P.S. Про вращение я не говорил специально. Всё равно все 4 решения будут в единой декартовой системе координат.

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 04:05 
Аватара пользователя


22/07/08
1416
Предместья
vryabenko в сообщении #1459943 писал(а):
Таким образом все отрезки, за исключением [A1] и [C3] взаимопересекаются.

[A1] и [B2] где пересекаются?

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 09:53 


03/05/20
10
Хорошо, исправлю.
Думаю, по картинке видно.
Тем более в условиях задачи сказано, что точки А,1; B,2; C,3 расположены напротив друг друга.
А по существу?


Update. К сожалению, "правка" не работает

 Профиль  
                  
 
 Re: Задача о отрезках
Сообщение04.05.2020, 14:18 


03/05/20
10
arseniiv в сообщении #1459957 писал(а):
$|MN| = c$ в координатах даёт уравнение $(m_x - n_x)^2 + (m_y - n_y)^2 = c^2$, вот все эти уравнения в кучу собрать да и решить.

Только тут вся конфигурация может вращаться вокруг $A$, так что без дополнительных условий (например сказать, что $B_y = 0$ и что $1_y, 2_y, 3_y$ все положительные) решений будет далеко не 4, а бесконечное число (если они есть).



arseniiv
Спасибо за подсказку.

Поставил дополнительные условия, исключающие "вращения" и сориентировал относительно декартовой системы координат.
Ввёл всё в MathCad.
3й час думает.
Неужели перебором решает?
Или могли бы Вы мне подсказать, в какой программе лучше всего решить систему из 9ти нелинейных уравнений?

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 14:28 
Заслуженный участник


27/04/09
28128
vryabenko
А он у вас численно решает или пытается общую формулу вывести? Пускай численно, тогда не должно быть особых проблем.

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 14:44 


03/05/20
10
arseniiv в сообщении #1460106 писал(а):
vryabenko
А он у вас численно решает или пытается общую формулу вывести? Пускай численно, тогда не должно быть особых проблем.



arseniiv
Численно, уже пошёл 4й час.
Могу файл MathCad в личку прислать?

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 14:52 
Заслуженный участник


09/05/12
25179
Вы лучше напишите, сколько в решаемой системе неизвестных.

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 15:30 
Заслуженный участник


27/04/09
28128
Ха, я тут ввожу значит в Mathematica 8 следующее:

Код:
Clear[u, eqs, vars]
vars = Flatten[{#[x], #[y]} & /@ {a, b, c, d, e, f}, 1];
u[p1_, p2_, dist_] := (p1[x] - p2[x])^2 + (p1[y] - p2[y])^2 == dist^2
eqs = {
    a[x] == a[y] == b[y] == 0, d[y] > 0, e[y] > 0, f[y] > 0,
    u[a, d, 0.611], u[a, e, 1.02], u[a, f, 1.519],
    u[b, d, 0.899], u[b, e, 0.839], u[b, f, 1.116],
    u[c, d, 1.314], u[c, e, 0.994], u[c, f, 0.967]};
NSolve[eqs, vars, Reals]

так она мало что говорит удивительное «NSolve::ratnz: NSolve was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result», она ещё и за несколько секунд десять решений выдаёт, а не четыре:

Код:
{{a[x] -> 0, a[y] -> 0, b[x] -> -1.51, b[y] -> 0, c[x] -> -1.85419, c[y] -> 0.42717, d[x] -> -0.610998, d[y] -> 0.00164224, e[x] -> -0.866415, e[y] -> 0.538261, f[x] -> -1.10662, f[y] -> 1.04055},
{a[x] -> 0, a[y] -> 0, b[x] -> -1.50998, b[y] -> 0, c[x] -> -0.159876, c[y] -> 1.23744, d[x] -> -0.610991, d[y] -> 0.00330744, e[x] -> -0.86641, e[y] -> 0.538268, f[x] -> -1.10662, f[y] -> 1.04055},
{a[x] -> 0, a[y] -> 0, b[x] -> -0.701992, b[y] -> 0, c[x] -> -0.542132, c[y] -> 1.82439, d[x] -> -0.0412486, d[y] -> 0.609606, e[x] -> -0.590656, e[y] -> 0.83158, f[x] -> -1.10735, f[y] -> 1.03978},
{a[x] -> 0, a[y] -> 0, b[x] -> -0.683779, b[y] -> 0, c[x] -> -1.21986, c[y] -> 0.0662356, d[x] -> -0.023892, d[y] -> 0.610533, e[x] -> -0.587933, e[y] -> 0.833507, f[x] -> -1.11839, f[y] -> 1.0279},
{a[x] -> 0, a[y] -> 0, b[x] -> -0.627794, b[y] -> 0, c[x] -> -1.13871, c[y] -> 0.0143458, d[x] -> 0.0324591, d[y] -> 0.610137, e[x] -> -0.581882, e[y] -> 0.837743, f[x] -> -1.15964, f[y] -> 0.981119},
{a[x] -> 0, a[y] -> 0, b[x] -> 0.627794, b[y] -> 0, c[x] -> 1.13871, c[y] -> 0.0143458, d[x] -> -0.0324591, d[y] -> 0.610137, e[x] -> 0.581882, e[y] -> 0.837743, f[x] -> 1.15964, f[y] -> 0.981119},
{a[x] -> 0, a[y] -> 0, b[x] -> 0.683779, b[y] -> 0, c[x] -> 1.21986, c[y] -> 0.0662356, d[x] -> 0.023892, d[y] -> 0.610533, e[x] -> 0.587933, e[y] -> 0.833507, f[x] -> 1.11839, f[y] -> 1.0279},
{a[x] -> 0, a[y] -> 0, b[x] -> 0.701992, b[y] -> 0, c[x] -> 0.542132, c[y] -> 1.82439, d[x] -> 0.0412486, d[y] -> 0.609606, e[x] -> 0.590656, e[y] -> 0.83158, f[x] -> 1.10735, f[y] -> 1.03978},
{a[x] -> 0, a[y] -> 0, b[x] -> 1.50998, b[y] -> 0, c[x] -> 0.159876, c[y] -> 1.23744, d[x] -> 0.610991, d[y] -> 0.00330744, e[x] -> 0.86641, e[y] -> 0.538268, f[x] -> 1.10662, f[y] -> 1.04055},
{a[x] -> 0, a[y] -> 0, b[x] -> 1.51, b[y] -> 0, c[x] -> 1.85419, c[y] -> 0.42717, d[x] -> 0.610998, d[y] -> 0.00164224, e[x] -> 0.866415, e[y] -> 0.538261, f[x] -> 1.10662, f[y] -> 1.04055}}

Впрочем, наверно некоторые из них отличаются просто переименованием точек, тут мне уже лень что-то делать.

P. S. Притом the corresponding exact system — это точно не та, что получится, если заменить численные расстояния на переменные. Интересно, к какой же системе она там приходит…

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 15:31 


03/05/20
10
Pphantom

Для удобства переименую названия точек "1;2;3" на "D, E, F"

То есть даны 6 точек: A(x;y), B(x;y), C(x;y), D(x;y), E(x;y), F(x;y)
Координаты точки A[0;0]
Координаты точки D[0;y]

Чтобы исключить "вращение" (D[0;y]) и решить только для одного квадранта, вводим дополнительные условия
Bx>0; Cx>0; Ex>0; Fx>0; Dy>0.

Даны длины отрезков:

|AD|=0.611
|AE|=1.02
|AF|=1.519
|BD|=0.899
|BE|=0.839
|BF|=1.116
|CD|=1.314
|CE|=0.994
|CF|=0.967

Найти:
D(y), B(x,y), C(x,y), E(x,y), F(x,y)

9 неизвестных Bx,By,Cx,Cy,Dy,Ex,Ey,Fx,Fy,
так как
Ax=0
Ay=0
Dx=0

MathCad считает долго.....

-- 04.05.2020, 15:35 --

arseniiv
Спасибо, поизучаю Mathematica 8

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 15:35 
Заслуженный участник


09/05/12
25179
vryabenko в сообщении #1460131 писал(а):
так как
Ax=0
Bx=0
Dx=0
Боюсь, с таким условием оно будет считать очень долго. :-) Посмотрите на собственную картинку и подумайте, насколько это правдоподобно.

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 15:38 
Заслуженный участник


27/04/09
28128
Да, я вот задавал условия куда либеральнее ещё в исходном предложении
и их же записал в коде, не более.

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 15:43 


03/05/20
10
Pphantom в сообщении #1460134 писал(а):
vryabenko в сообщении #1460131 писал(а):
так как
Ax=0
Bx=0
Dx=0
Боюсь, с таким условием оно будет считать очень долго. :-) Посмотрите на собственную картинку и подумайте, насколько это правдоподобно.


А я написал, что Bx>0; Cx>0; Ex>0; Fx>0

Да, я там опечатался (в программе этого нет, при переносе сюда ошибся)

По поводу правдоподобности. Это реальные размеры на картинке.

-- 04.05.2020, 15:44 --

arseniiv
Да, я добавил эти условия, спасибо.
Только не по y, а по x. При этом условии будет только один квадрант. "Y" при этом может быть отрицательным.

Сколько считает Wolfram?

 Профиль  
                  
 
 Re: Задача об отрезках
Сообщение04.05.2020, 15:44 
Заслуженный участник


27/04/09
28128
$F_x > 0$ не очевидно. Вдруг $\angle FAB$ тупой.

-- Пн май 04, 2020 17:45:21 --

vryabenko в сообщении #1460136 писал(а):
Сколько считает Wolfram?
У меня секунды четыре.

-- Пн май 04, 2020 17:47:51 --

Попробуйте не добавлять много условий, а только те, которые у меня: $A_x = A_y = B_y = 0, D_y > 0, E_y > 0, F_y > 0$, вдруг всё сразу выйдет; и проверьте, что используемая функция используется как должно, мало ли там какие нюансы; если переходить на Mathematica, нюансов там тоже вагон и маленькая тележка.

-- Пн май 04, 2020 17:48:28 --

С другой стороны, если передобавить условий, стоило бы ожидать завершение поиска ещё быстрее (с неудачным результатом), но реализация может быть не настолько прямой, чтобы так сработать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group