2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Помогите со 2 частью программы
Сообщение05.03.2012, 23:27 
Привет всем! Я новичок в программировании,нам дали такую задачу
"Определить функцию нахождения площади треугольника по координатам его вершин. Найти площадь выпуклого многоугольника, по координатам его вершин, используя полученную функцию."
Помогите кто может,plz! )
Первую часть задачи решила,а вот со второй завал.Посоветовали триангуляцию,но я не имею понятия как ее воплотить в java.
Язык программирования Java

 
 
 
 Re: Помогите со 2 частью программы
Сообщение06.03.2012, 10:37 
Аватара пользователя
Возьмите любую точку внутри многоугольника и мысленно проведите отрезки из неё ко всем вершинам. Получится разбиение на треугольники, площади которых вы умеете считать.

 
 
 
 Re: Помогите со 2 частью программы
Сообщение06.03.2012, 11:24 
wallflower в сообщении #545737 писал(а):
Возьмите любую точку внутри многоугольника и мысленно проведите отрезки из неё ко всем вершинам.

В качестве такой точки можно выбрать и вершину.
А вообще, есть же простая формула для вычисления площади многоугольника без всяких триангуляций, причём подходит и для невыпуклых:
$S=\left | \frac{(x_1-x_2)(y_1+y_2)+(x_2-x_3)(y_2+y_3)+\cdots+(x_{n-1}-x_{n})(y_{n-1}+y_{n})+(x_n-x_1)(y_n+y_1)}{2} \right |$.

(Оффтоп)

Кстати, существует ли какая-нибудь общепринятая запись таких циклических сумм?

 
 
 
 Re: Помогите со 2 частью программы
Сообщение06.03.2012, 11:52 
Аватара пользователя

(Sender)

Sender в сообщении #545752 писал(а):
Кстати, существует ли какая-нибудь общепринятая запись таких циклических сумм?

Обозначение может и существует, но раз вы его не знаете, то не надо надеяться, что ваши читатели его знают. Поэтому лучше оставить многоточие или договорится, что $x_i=x_{i+n}$, $y_i=y_{i+n}$, а затем
$$S=\left|\sum_{i=1}^n \frac{(x_i-x_{i+1})(y_i+y_{i+1})}2\right|$$

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group