作者morningjis (morning)
看板C_Sharp
標題[問題] 怎麼記錄不規則的座標值呢
時間Thu May 7 10:52:28 2015
目前自己在學c#
寫求多邊形的面積
有找到程式碼,如下
float area_of_polygon(int vcount,float x[],float y[])
{
int i;
float s;
if (vcount <3) return 0;
s=y[0]*(x[vcount-1]-x[1]);
for (i=1;i <vcount;i++)
s+=y[i]*(x[(i-1)]-x[(i+1)%vcount]);
return s/2;
}
目前已知的是
應該是記錄邊緣座標值即可
有個小問題就是
好像需要順時針的去記錄座標值
那想請教的就是
怎麼記錄不規則形的座標呢
像是
(2,1) (3,1)
(1,2) (3,2)
(2,3) (4,3)
(2,4) (3,4) (4,4)
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.248.228
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1430967150.A.217.html
→ GoalBased: 你的多邊形怎麼來的? 05/07 11:06
→ GoalBased: 更正*多邊形座標 05/07 11:06
→ morningjis: 二值化後取的邊緣! 05/07 11:20
→ GoalBased: 你相同的點,不是有可能產生不同的多邊形嗎? 05/07 12:00
→ morningjis: 因為我是新手,所以也不確定會不會^^ 05/07 16:56
推 Litfal: 會... 05/08 00:29
推 Litfal: 你隨便畫個三角形,內部隨便加一點,然後玩連連看就知道了 05/08 02:13
推 ypsc: 參考點 相對座標 05/11 23:47