|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
04.03.2012, 23:36 | #1 (permalink) |
Новичок
Регистрация: 04.03.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Определить функцию нахождения площади треугольника по координатам его вершин
"Определить функцию нахождения площади треугольника по координатам его вершин. Найти площадь выпуклого многоугольника, по координатам его вершин, используя полученную функцию." Бьюсь над ней уже месяц,никак не могу решить(( а сроки поджимают( Помогите кто может,plz! ) Язык программирования Java |
04.03.2012, 23:36 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Темы, которые аналогичны вашей так же встречались на нашем форуме Найти площадь выпуклого многоугольника, если даны координаты вершин многоугольника У кого какая ёлка стоит на главной площади Помогите вычислить функцию Разработать функцию |
05.03.2012, 07:45 | #5 (permalink) |
Member
Регистрация: 07.01.2012
Сообщений: 1,576
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 1 сообщении
Репутация: 25161
|
Начни с формулы Герона (насколько геометрию помню).
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
05.03.2012, 07:52 | #6 (permalink) |
Лесник
Регистрация: 11.10.2011
Сообщений: 338
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 771
|
Поддерживаю предыдущего подсказчика . Так же, чтобы решить вторую часть читайте про триангуляцию, и методах разбиения многоугольников на симплексы, применяется в игровой индустрии.
|
05.03.2012, 08:16 | #7 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Если даны координаты вершин треугольника, сначала можете воспользоваться формулой нахождения длины отрезка по координатам его концов, и только после этого - формулой Герона.
По второй части - разбивайте многоугольник на конечное число треугольников и вычисляйте площадь каждого треугольника отдельно, затем полученные площади суммируйте. |
06.03.2012, 01:41 | #9 (permalink) |
Новичок
Регистрация: 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(); } } } вот что получилось ) все вроде работает ) |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
java |
Опции темы | |
Опции просмотра | |
|
|