Форум: "Прочее";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];
ВнизДлина взаимного перекрытия двух отрезков Найти похожие ветки
← →
NaNo (2008-01-04 22:16) [0]Есть два параллельных отрезка на плоскости.
никак не могу придумать алгоритм для вычисления длины их взаимного перекрытия
уважаемые мастера и знатоки геометрии помогите пожалуйста!
← →
Johnmen © (2008-01-04 22:30) [1]Знатоки и мастера такой геометрии учатся в третьем классе общеобразовательной школы.
Туда и следует обращаться.
← →
palva © (2008-01-04 23:52) [2]А разве параллельные отрезки могут перекрываться?
← →
Джо © (2008-01-04 23:55) [3]> [2] palva © (04.01.08 23:52)
> А разве параллельные отрезки могут перекрываться?
Думается, автор имеет в виду нечто вроде длины общей области двух взаимных проекций, хотя, кто его знает...
← →
antonn © (2008-01-05 00:15) [4]перекрещивающихся типа? или как эти сказать то..
← →
korneley © (2008-01-05 01:37) [5]
> перекрещивающихся типа?
> Есть два параллельных отрезка на плоскости.
Джо, имхо, более верно стелепатировал. Но тут такое море вариантов открывается, что без доп. стакана (пояснений) от автора - не разобраться. :)
← →
Юрий Зотов © (2008-01-05 01:44) [6]> NaNo (04.01.08 22:16)
Что-то типа этого, но проверяйте сами (потому что я особо не думал, может быть и неверно).
uses
Math;
{
x11,y11*---------------*x12,y12
x21,y21*---------------*x22,y22
}
function Len(X11, X12, X21, X22, Y11, Y12, Y21, Y22: extended): extended;
begin
Result := Sqrt(
Sqr(Max(0, Min(X12, X22) - Max(X11, X21)))
+
Sqr(Max(0, Min(Y12, Y22) - Max(Y11, Y21)))
)
end;
← →
Германн © (2008-01-05 01:45) [7]
> Но тут такое море вариантов открывается, что без доп. стакана
> (пояснений) от автора - не разобраться. :)
>
Одного стакана не хватит. А для нужного количества стаканов - огурцов не хватит :(
← →
korneley © (2008-01-05 01:56) [8]
> Юрий Зотов © (05.01.08 01:44) [6]
Пифагор, конечно, голова :))) Но это один частный случай, а вот чего хотел автор конкретно - не понятно. А вдруг отрезки действительно на разных параллельных линиях, а проекция перпендикулярна? Тогда вообще две точки получим. Непересекающиеся %)
← →
Юрий Зотов © (2008-01-05 02:01) [9]> korneley © (05.01.08 01:56) [8]
> а проекция перпендикулярна?
Проекция чего на что?
Перпендикулярна чему?
← →
korneley © (2008-01-05 02:05) [10]
> Проекция чего на что?Перпендикулярна чему?
Проекция линий на линию же. Но перпендикулярную первым двум, которые параллельны между собой. Вроде ничего не напутал.
← →
Германн © (2008-01-05 02:06) [11]
> Юрий Зотов © (05.01.08 02:01) [9]
А в сабже нет ни слова о проекциях на что-то. Вот это и смущает, поскольку хз что автору нужно. Если отрезки всего лишь параллельны, то всё зависит от "угла зрения" :)
← →
korneley © (2008-01-05 02:09) [12]
> Германн © (05.01.08 02:06) [11]
Дык, и я о том же.
← →
Юрий Зотов © (2008-01-05 02:20) [13]> взаимного перекрытия
Значит, речь идет о взаимной проекции ([3]).
← →
Германн © (2008-01-05 02:23) [14]
> korneley © (05.01.08 02:09) [12]
>
>
> > Германн © (05.01.08 02:06) [11]
>
> Дык, и я о том же.
>
Дык и первый, кто включил свой телепатор в
> Джо © (04.01.08 23:55) [3]
тоже о том же высказался.
Суть в том, что автор сабжа кинул свой вопрос и смылся. (А может подглядывает из-за угла).
← →
Германн © (2008-01-05 02:38) [15]
> Юрий Зотов © (05.01.08 02:20) [13]
>
> > взаимного перекрытия
>
> Значит, речь идет о взаимной проекции ([3]).
>
Скорее всего и наверно так и есть. Но "проекции" на что? Ведь Джо © (04.01.08 23:55) [3] именно на это и намекал.
← →
Юрий Зотов © (2008-01-05 02:44) [16]> Германн © (05.01.08 02:38) [15]
> "проекции" на что?
Слово "взаимной" означает "друг на друга".
← →
Johnmen © (2008-01-05 02:49) [17]Предлагаю развернуть полноценную научную дискуссию по этому непростому аспекту ГЕОМЕТРИИ.
Сначала выберем президиум.
Ваши предложения...
← →
Германн © (2008-01-05 02:55) [18]
> Юрий Зотов © (05.01.08 02:44) [16]
>
> > Германн © (05.01.08 02:38) [15]
>
> > "проекции" на что?
>
> Слово "взаимной" означает
> "друг на друга"
Да. Возможно это слово "это" и означает. Ну а угол? Под каким углом нужно проецировать "друг на друга"?
← →
Германн © (2008-01-05 03:07) [19]
> Юрий Зотов © (05.01.08 02:44) [16]
>
> > Германн © (05.01.08 02:38) [15]
>
> > "проекции" на что?
>
> Слово "взаимной" означает "друг на друга".
>
Или это стандартный термин?
← →
Юрий Зотов © (2008-01-05 03:08) [20]> Германн © (05.01.08 02:55) [18]
> Под каким углом нужно проецировать "друг на друга"?
"Проецировать" означает - под прямым.
← →
Германн © (2008-01-05 03:15) [21]
> Юрий Зотов © (05.01.08 03:08) [20]
>
> > Германн © (05.01.08 02:55) [18]
>
> > Под каким углом нужно проецировать "друг на друга"?
>
> "Проецировать" означает - под прямым.
>
Юра. Давай подождём автора.
Ведь "под прямым" - это отмазка :)
Под прямым углом к чему?
Твой пример [6] пока является единственным.
← →
Джо © (2008-01-05 03:39) [22]Лично я понял автора так:
http://unclejoe.ho.com.ua/img/par.PNG
(красное — искомый отрезок).
Автор, я прав? подкорректируй, а то тут насочинять горазды и я впереди всех :)
← →
NaNO (2008-01-05 09:20) [23]Да, именно так.
мне было нужно самому нарисовать такой рисунок.
моя идея - развернуть отрезки парралельно оси абсцисс, а дальше кажеться все просто - проецируем оба отрезка на ось и анализируем точки.
← →
Юрий Зотов © (2008-01-05 09:49) [24]> Германн © (05.01.08 03:15) [21]
> Под прямым углом к чему?
Как кого, а меня учили, что к тому, на что проецируешь.
> NaNO (05.01.08 09:20) [23]
Это один способ (только это называется поворотом системы координат, а не отрезков). Похожий способ - переход к полярной системе координат. Третий способ - [6] (спроецировать отрезки на обе оси без всяких поворотов; тогда после анализа точек искомая длина вычисляется по теореме Пифагора).
← →
NaNO (2008-01-05 12:31) [25]способ [6] дает неверный результат :(
← →
Anatoly Podgoretsky © (2008-01-05 12:50) [26]> Германн (05.01.2008 01:45:07) [7]
Василий Иванович так и сказал, где столько огурцов взять.
← →
Юрий Зотов © (2008-01-05 13:26) [27]> NaNO (05.01.08 12:31) [25]
> способ [6] дает неверный результат :(
Неверный результат дает не способ, а конкретный код его реализации. Потому что код этот - неправильный (о чем и было сказано). Собственно, написать правильный код я и не стремился, а хотел только показать идею. Если же подумать и ошибки исправить, то все должно быть ОК (о чем тоже было сказано).
← →
White (2008-01-05 22:39) [28]Нда, я смотрю тут одни знатоки...
> NaNO
1) Берёшь первую точку первого отрезка - это одна из точек плоскости, и первый отрезок - это нормальный вектор, получаешь плоскость
2) Находишь расстояния до полученной плоскости от второй точки первого отрезка (A), и от обоих точек второго отрезка (B и C), получаешь два числовых диапазона - (0..A) и (B..C)
3) Находишь пересечение этих диапазонов, если оно есть - это и будет длиной :)
← →
A (2008-01-06 20:53) [29]Проще через скалярное произведение векторов:
http://link.imgshare.us/16gPEX
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.041 c