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

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

Форум «Всё о Паскале» _ Математика _ Геометрия

Автор: first_day 8.03.2008 3:05

Подскажите, пожалуйста, как найти площадь n-угольника(n<=4) по координатам вершин и как определить точку пересечения двух прямых, если задано по 2 точки, через которые каждая из прямых проходит?

Автор: compiler 8.03.2008 3:28

Цитата(first_day @ 7.03.2008 22:05) *
Подскажите, пожалуйста, как найти площадь n-угольника(n<=4) по координатам вершин и как определить точку пересечения двух прямых, если задано по 2 точки, через которые каждая из прямых проходит?

1) Площадь n-угольника через координаты его вершинПрикрепленное изображение(работает ли для не выпуклых фигур не знаю)
а вообще если (n<=4), то можно рассмотреть три случая, если это треугольник, прямоугольник и прочее(точка, отрезок) и решать исходя отсюда
2) Я бы составлял уравнения прямых и решал систему, но насколько это оптимально?..
для уравнения: Прикрепленное изображение

Автор: first_day 8.03.2008 3:43

так у меня же 4 точки... не очень пойму уравнение...

Автор: compiler 8.03.2008 15:47

Цитата(first_day @ 7.03.2008 22:43) *
так у меня же 4 точки... не очень пойму уравнение...
уравнение для каждой прямой своё, итого два уравнения прямых.. для нахождения точки пересечения тебе будет необходимо ее решить...

Автор: Michael_Rybak 8.03.2008 17:07

Цитата
так у меня же 4 точки... не очень пойму уравнение...


если прямая проходит через точки (x1, y1) и (x2, y2), то точки, принадлежащие этой прямой, будут иметь вид

X = x1 + k * (x2 - x1)
Y = y1 + k * (y2 - y1)

Это, к слову, называется параметрическим представлением этой прямой.

Записываешь такое же представление для точек второй прямой:

X = x3 + q * (x4 - x3)
Y = y3 + q * (y4 - y3)

Поскольку у тебя точка должна принадлежать и первой прямой, и второй, тебе нужно найти такую пару (k, q), чтобы X и Y совпали:

x1 + k * (x2 - x1) = x3 + q * (x4 - x3)
y1 + k * (y2 - y1) = y3 + q * (y4 - y3)

Решаешь эту систему относительно k и q, и подставляя, например, k, получаешь X и Y.

Автор: first_day 8.03.2008 19:47

Спасибо, что откликнулись. Я нашел, как мне кажется, более простое решение через коэффициенты A,B,C уравнения Ax+By+C=0.
Просто мне это нужно для программирования, а решать систему уравнений - лишний напряг.