0 / 0 / 0
Регистрация: 11.01.2008
Сообщений: 21
1

Выяснить, является ли заданная тремя точками фигура треугольником

13.01.2008, 15:26. Показов 3869. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вот еня заинтересовала така вот задачка, помогите ее решитть
пользователь должен ввести координаты 3-х точек(в прямоугольной ДСК)
программа должна выяснить является ли эта фигура треугольником, если да, то посчитать его площадь и все углы этого треуг-ка
помогите!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2008, 15:26
Ответы с готовыми решениями:

Создать приложение picture c тремя точками и треугольником
Создать приложение picture. Пользователь отмечает нажатиями клавиши мыши 3 точки, не лежащие на...

Определить является ли полученная фигура равносторонним треугольником
Помогите пожалуйста найти ошибку Водятся координаты трех точек на плоскости, определить является...

По трем точкам определить является ли фигура треугольником
По трем точкам определить является ли фигура треугольником.

Проверить, является ли заданная фигура прямоугольником
У меня есть подобная задача но только для прямоугольника...Помогите написать программу именно для...

2
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
13.01.2008, 17:24 2
Лучший ответ Сообщение было отмечено Striker9999 как решение

Решение

Из трех точек нельзя сделать треугольник только если они на одной прямой.
(x1-x2)/(y1-y2) = (x1-x3)/(y1-y3)
Т.е.
Pascal
1
2
3
4
5
const EPSILON = 0.0001; {типа точность}
function IsValidTriangle(x1,y1, x2,y2, x3,y3: Real):boolean;
begin
    result := Abs((x1-x2)/(y1-y2) - (x1-x3)/(y1-y3)) > EPSILON;
end;
Площадь треугольника: S = 1/2 a*b*cos(A); //A - угол между a и b
a и b вычисляются по теореме пифагора. А вот углы найти из координат, это уже задача интереснее, на ум ничего пока не приходит.
0
3 / 3 / 2
Регистрация: 22.01.2007
Сообщений: 41
13.01.2008, 23:18 3
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Из трех точек нельзя сделать треугольник только если они на одной прямой.
(x1-x2)/(y1-y2) = (x1-x3)/(y1-y3)
Т.е.
Код
const EPSILON = 0.0001; {типа точность}
function IsValidTriangle(x1,y1, x2,y2, x3,y3: Real):boolean;
begin
    result := Abs((x1-x2)/(y1-y2) - (x1-x3)/(y1-y3)) > EPSILON;
end;
Площадь треугольника: S = 1/2 a*b*cos(A); //A - угол между a и b
a и b вычисляются по теореме пифагора. А вот углы найти из координат, это уже задача интереснее, на ум ничего пока не приходит.
cos(90)=0 - значит площа любого прямоугольного треугольника рована 0... нуно sin считать. а вообще задачку проще решать с использованием векторного умножения
S=1/2*|axb|; |axb| - векторное умножение векторов a на b ;
и скалярного ( по поводу углов).
M1(x1;y1); M2(x2;y2); M3(x3;y3); пусть a=M1M2; b=M1M3; c=M2M3;
cos(L)=(a*b)/(|a|*|b|); a*b=Ax*Bx+Ay*By; |a|=(Ax*Ax+Ay*Ay)^1/2; Ax=x2-x1; Ay=y2-y1; для b аналогично...
вот так можна любой угол узнать.... конечно можно долго и нудно парить тереми косинусов и синусов, но там заипетесь с корнями.... хотя если повезет....
0
13.01.2008, 23:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2008, 23:18
Помогаю со студенческими работами здесь

Как узнать, является ли заданная шахматная фигура Королем?
Есть класс Chessman (шахматная фигура). От нее наследуются классы фигур Pawn, King, Queen и тд....

Выяснить является ли заданная строка палиндромом
Дело в том, что в 10 классе мы проходим Паскаль поверхностно, поэтому надо решеть задачу так...

Выяснить, является ли заданная последовательность перестановкой цифр от 1 до n
Дано некоторое натуральное n (n <= 100) и целые числа а1, а2, an. Выяснить, является ли эта...

Выяснить, является ли заданная последовательность натуральных чисел убывающей
Дана последовательность (массив) натуральный чисел А1,А2...,Аn. Выяснить, будет ли она убывающей . ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru