Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 04.03.2012, 23:36   #1 (permalink)
Inn
Новичок
 
Регистрация: 04.03.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Определить функцию нахождения площади треугольника по координатам его вершин

Привет всем! Я новичок в программировании,нам дали такую задачу
"Определить функцию нахождения площади треугольника по координатам его вершин. Найти площадь выпуклого многоугольника, по координатам его вершин, используя полученную функцию."
Бьюсь над ней уже месяц,никак не могу решить(( а сроки поджимают(
Помогите кто может,plz! )
Язык программирования Java
Inn вне форума   Ответить с цитированием

Старый 04.03.2012, 23:36
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Темы, которые аналогичны вашей так же встречались на нашем форуме

Найти площадь выпуклого многоугольника, если даны координаты вершин многоугольника
У кого какая ёлка стоит на главной площади
Помогите вычислить функцию
Разработать функцию

Старый 05.03.2012, 00:01   #2 (permalink)
Taper
.
 
Аватар для Taper
 
Регистрация: 26.08.2009
Сообщений: 1,851
Сказал(а) спасибо: 1
Поблагодарили 22 раз(а) в 3 сообщениях
Репутация: 12686
По умолчанию

А что удалось за месяц? Выкладывай, не стесняйся.
Taper вне форума   Ответить с цитированием
Старый 05.03.2012, 00:13   #3 (permalink)
Inn
Новичок
 
Регистрация: 04.03.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

В том то и дело,что вообще ничего (( Попыток много,что было даже выкладывать стыдно(
Inn вне форума   Ответить с цитированием
Старый 05.03.2012, 01:07   #4 (permalink)
Inn
Новичок
 
Регистрация: 04.03.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

ребята,плиииз кто-нить хелп ми!
Inn вне форума   Ответить с цитированием
Старый 05.03.2012, 07:45   #5 (permalink)
CrazyPOVT
Member
 
Аватар для CrazyPOVT
 
Регистрация: 07.01.2012
Сообщений: 1,576
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 1 сообщении
Репутация: 25161
По умолчанию

Начни с формулы Герона (насколько геометрию помню).
CrazyPOVT вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 05.03.2012, 07:52   #6 (permalink)
Rossomaxa
Лесник
 
Аватар для Rossomaxa
 
Регистрация: 11.10.2011
Сообщений: 338
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 771
По умолчанию

Поддерживаю предыдущего подсказчика . Так же, чтобы решить вторую часть читайте про триангуляцию, и методах разбиения многоугольников на симплексы, применяется в игровой индустрии.
Rossomaxa вне форума   Ответить с цитированием
Старый 05.03.2012, 08:16   #7 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Если даны координаты вершин треугольника, сначала можете воспользоваться формулой нахождения длины отрезка по координатам его концов, и только после этого - формулой Герона.

По второй части - разбивайте многоугольник на конечное число треугольников и вычисляйте площадь каждого треугольника отдельно, затем полученные площади суммируйте.
AlexZir вне форума   Ответить с цитированием
Старый 06.03.2012, 01:18   #8 (permalink)
Inn
Новичок
 
Регистрация: 04.03.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо,додумала первую часть )
код мало немного получился )
теперь возник вопрос,а как разбить многоугольник на треугольники?
Inn вне форума   Ответить с цитированием
Старый 06.03.2012, 01:41   #9 (permalink)
Inn
Новичок
 
Регистрация: 04.03.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Все,додумала вторую часть
class SqareMn {
int m,x1,x2,x3,y1,y2,y3; double p,a,b,c,s; int [][]A;
SqareMn(int size){
m=size;
A=new int [m][2];
for(int i=0;i<m;i++)
for(int j=0;j<2;j++){
A[i][j]=(int)((Math.random()*10));
}
x1=A[0][0];y1=A[0][1];//отмечаем первую точку
for (int i=1;i<A.length-1; ){
x2=A[i][0];
y2=A[i][1];i++;
x3=A[i][0];
y3=A[i][1]; //разбиваем на треугольники
a=Math.sqrt(((x3-x2)*(x3-x2))+((y3-y2)*(y3-y2)));
b=Math.sqrt(((x3-x1)*(x3-x1))+((y3-y1)*(y3-y1)));
c=Math.sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));
p=(a+b+c)/2; s+=Math.sqrt(p*(p-a)*(p-b)*(p-c));} // формула Герона
System.out.println("Площадь многоугольника с "+m+" вершинами = "+s+" кв.ед");//выводим
for(int i=0;i<m;i++){
for(int j=0;j<2;j++)
System.out.print(A[i][j]+ " ");
System.out.println(); } } }

вот что получилось )
все вроде работает )
Inn вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
java

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 05:08.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.