Здравый смысл подсказывает, что нужно параметризовать отрезки как $%\vec{AB}(t) = \vec A + (\vec B - \vec A)t$% и $%\vec{CD}(s) = \vec C + (\vec D - \vec C)s$%, после чего найти минимум выражения $%(\vec{AB}(t) - \vec{CD}(s))^2$%, приравняв частные производные по $%t$% и по $%s$% нулю. А затем уже смотреть на принадлежность $%s$% и $%t$% интервалу $%[0,1]$%. Но на практике полученная СЛУ оказывается линейно зависимой. Как быть? задан 29 Ноя '17 18:43 llama
показано 5 из 7
показать еще 2
|
@llama: когда мы рассматриваем отрезки, может оказаться, что минимум достигается не в критической точке, а на конце одного отрезка или обоих. Поэтому кроме описка критических точек нужно отдельно рассмотреть условия t=0, t=1, s=0, s=1. В каждом из них получится функция одной переменной, которую исследуем на минимум обычным способом. Потом среди всех найденных значений выбираем наименьшее.
Кстати, минимум выражения надо находить для значений параметров t и s. У Вас оба раза написано t.
Ага, в последнем опечатка.
@llama: можно также фиксировать s от 0 до 1 и для него найти наименьшее значение функции от t на отрезке [0,1]. А потом найти наименьшее значение того, что получится. Если дадите координаты Ваших отрезков, можно обсудить вопрос о том, как это всё реализовать наиболее просто в смысле техники.
Это задача по программированию. Спасибо за помощь, я разобралась!
@llama: она в любом случае сначала решается математически, а потом уже под это решение пишется программа.
Я о том, что координат отрезков у меня нет.
@llama: так в этом случае мы рассуждаем в буквенных обозначениях. У нас получится подпрограмма нахождения минимума квадратичной функции на фиксированном отрезке. Надо рассмотреть значения на концах, а также критическую точку (вершину параболы). Если она принадлежит отрезку, значение в ней также учитываем. Из двух или трёх чисел выбираем наименьшее.