Как вычислить площадь треугольника по трем точкам на координатной плоскости (Pascal)

Компьютеры программирование математика pascal Геометрия

Даны точки x1, x2, x3, y1, y2, y3. Нужно вычислить площадь треугольника на Pascal (код не прошу, хотя бы алгоритм)
Ответы:
1.выбираете одну сторону за основание.
2. считаете его длинну.
3. составляете для него уравнение прямой, в виде Ax + By + C = 0.
4. считаете раст от 3 точки до этой прямой см. http://www.pm298.ru/reshenie/tochpr.php.
5. у Вас есть высота треугольника и его основание. Перемножить и разделить на 2.
y1-x1=x;
y2-x2=y;
y3-x3=z;
S=sqrt(p*(p-x)*(p-y)*(p-z))
sqrt -ето корень
p=x+y+z/2
var
 x1,y1,
 x2,y2,
 x3,y3,
 a,b,c,p,S: real;
begin
 {Вводим координаты точек}
 Write('Введите координаты точки A(x1 y1): '); ReadLn(x1, y1);
 Write('Введите координаты точки B(x2 y2): '); ReadLn(x2, y2);
 Write('Введите координаты точки C(x3 y3): '); ReadLn(x3, y3);
 
 {Вычисляем длины сторон по теореме Пифагора}
 a := sqrt(sqr(x2-x1)+sqr(y2-y1));
 b := sqrt(sqr(x3-x1)+sqr(y3-y1));
 c := sqrt(sqr(x2-x3)+sqr(y2-y3));
 
 {вычисляем полупериметр p = (a+b+c)/2}
 p := (a+b+c)/2;
 
 {вычисляем площадь по формуле Герона}
 S := sqrt(p*(p-a)*(p-b)*(p-c));
 WriteLn('Площадь треугольника ABC = ', S:0:2);  
 ReadLn;
end.
Да, есть формула Герона, но её пользоваться не надо. Компьютер с неохотой считает корни и там постоянно косяки по поводу точности. Есть формула вычисления площади треугольника через векторное произведение.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.