Помощь - Поиск - Пользователи - Календарь
Полная версия: Геометрия
Форум «Всё о Паскале» > Образование и наука > Математика
first_day
Подскажите, пожалуйста, как найти площадь n-угольника(n<=4) по координатам вершин и как определить точку пересечения двух прямых, если задано по 2 точки, через которые каждая из прямых проходит?
compiler
Цитата(first_day @ 7.03.2008 22:05) *
Подскажите, пожалуйста, как найти площадь n-угольника(n<=4) по координатам вершин и как определить точку пересечения двух прямых, если задано по 2 точки, через которые каждая из прямых проходит?

1) Площадь n-угольника через координаты его вершинНажмите для просмотра прикрепленного файла(работает ли для не выпуклых фигур не знаю)
а вообще если (n<=4), то можно рассмотреть три случая, если это треугольник, прямоугольник и прочее(точка, отрезок) и решать исходя отсюда
2) Я бы составлял уравнения прямых и решал систему, но насколько это оптимально?..
для уравнения: Нажмите для просмотра прикрепленного файла
first_day
так у меня же 4 точки... не очень пойму уравнение...
compiler
Цитата(first_day @ 7.03.2008 22:43) *
так у меня же 4 точки... не очень пойму уравнение...
уравнение для каждой прямой своё, итого два уравнения прямых.. для нахождения точки пересечения тебе будет необходимо ее решить...
Michael_Rybak
Цитата
так у меня же 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
Спасибо, что откликнулись. Я нашел, как мне кажется, более простое решение через коэффициенты A,B,C уравнения Ax+By+C=0.
Просто мне это нужно для программирования, а решать систему уравнений - лишний напряг.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.