作者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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1430967150.A.217.html
1F:→ GoalBased: 你的多边形怎麽来的? 05/07 11:06
2F:→ GoalBased: 更正*多边形座标 05/07 11:06
3F:→ morningjis: 二值化後取的边缘! 05/07 11:20
4F:→ GoalBased: 你相同的点,不是有可能产生不同的多边形吗? 05/07 12:00
5F:→ morningjis: 因为我是新手,所以也不确定会不会^^ 05/07 16:56
6F:推 Litfal: 会... 05/08 00:29
7F:推 Litfal: 你随便画个三角形,内部随便加一点,然後玩连连看就知道了 05/08 02:13
8F:推 ypsc: 参考点 相对座标 05/11 23:47