Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Чисто геометрическая задача...

Автор: Noname 8.02.2003 21:25

Задан тругольник координатами своих верщин A(x1;y1), B(x2;y2), C(x3;y3). Нужно определить лежит ли точка K(x4;y4) внутри треугольника или снаружи....

Автор: AlaRic 8.02.2003 23:51

Введешь координаты, узнаешь минимальные и максимальные X и Y, сравнишь с координатами точки К => x(min) < x4 <x(max)  и   y(min) <y4 <y(max)

Автор: Noname 9.02.2003 0:08

To AlaRic: Не пойдет! Нарисуй на бумаге самый общий случай. Увидишь, что min/max не годится!

Автор: AlaRic 9.02.2003 0:10

Да-да я поспешил - с прямоугольником путаю smile.gif

Автор: Some1 9.02.2003 4:15

[img]http://public.t35.com/img/triangle-1.jpg[/img]
Вот, на этой картинке точка это D.
На картинке видно, что если провести прямые через углы треугольника, то одна из этих прямых будет обязательно пересекать боковую сторону треугольника, расстояние от угла из которой пущена прямая до точки пересечения будет меньше чем расстояние от этого угла до точки D.
В нашем случае расстояние СO меньше чем расстояние СD. Если же точка D будет лежать внутри теругольника, то расстояние CO Будет больше чем CD.
Следовательно дело за математикой. Ищёшь формулу прямой по двум точкам и вычисляешь её для DA, DB и DC. потом формулу точки пересечения двух прямых, ищешь точки пересечения DA c BC, потом DС c AB, и наконец DB с AC. Вычисляешь и сравниваешь длины отрезков OC и OD, а так же другие (для соответствующих сторон). Если отрезки от точек треугольника до точки их пересечения с противоположной гранью БОЛЬШЕ, чем длины отрезков от точки пересечения до искомой точки во всех трёх случаях, значит точка лежит вне треугольника.

П.С. Извините все, что так много, и совершенно не оптимально. Я просто более лёгкого способа не придумал ещё :))

Автор: ___ALex___ 9.02.2003 19:17

базара нет
щас напишу тебе оптимальный вариант
Some1: никаких тут точек пересечения искать не надо

Автор: ___ALex___ 9.02.2003 20:10

хотя щас время нет на неё БД клиент-серверную пишу
ты начерти на листке трегольник и найди уравнения трёх линий (сторон треугольника) и посмотри...
неужели ни догадаешься

Автор: -=Noname=- 10.02.2003 20:41

To All: Ребята, я тут! (Это для того, чтоб не думали, что вот мол стараемся, кивиряемся, разбираемся[или что там исче], а  зачинщику {Noname} уже не интересно...) НЕЕЕЕЕТ! [Как был один случай на форуме на одном (по другой, правда тематике...), разбирались 2 дня с человеком(принципиальный был вопрос.), а "спрашивающий", его уже след простыл...], домой приду, почитаю, взвешу все и т. д...................[Недрами "Суперсовременной Гипермагистрали"[internet т.е.], воспользоваться из дома не могу - пока нет телефона _Обещали_до 1 февраля_.  Гааааадыыыы!!!!!]

Автор: Noname 22.02.2003 17:35

To (8): Клиент - серверную, говоришь.... А какие еще бывают? ![сервер - серверные, клиент - клиентные. Подскажи,  а тож я ж не знаю веть....]

Автор: Noname 22.02.2003 17:37

То (6) [Some1]: без картинки трудно.....

Автор: Some1 27.02.2003 6:15

Картинку замылил (хм.. а у меня показывает. Только долго грузит, плохой хост)

И вот ещё - зайди >http://borlpasc.narod.ru/docym/skola/2_1/2_1_3.htm< И почитай, там написано всё.
Только правда у них кажется тоже траблы с отображением картинок, но понять можно.

Автор: ___ALex___ 27.02.2003 23:26

-локальные
-файл-серверные
-клиент-серверные
-распределённой арх-ры
-интернет-арх-ры
...