如何判断多边形的点列是否逆时针方向

opengl如何判断多边形的点列是否逆时针方向
opengl要求多边性输出时指定点列是逆时针还是顺时针方向(沿着法线的方向看) 
如何判断阿     只用邻边的叉积好像不行啊   还要考虑法线吧


------解决方案--------------------
double x[n],y[n],ss; 
int i; 


ss = 0; 
for(i=0;i <n-1;i++) 
ss += (x[i+1]-x[i])*(y[i+1]-y[i])*0.5; 


if(ss <0)逆时针; 

------解决方案--------------------
对于多边形每条边: 
把终点减掉起点,得到一个向量,用复数表示为 a+bi,这个向量代表了这条边的方向; 
用相临两条边的的向量求夹角(带正负的,也用向量表示),例如: 
前一条边为a+bi,后一条边为c+di,夹角为 (a+bi)/(c+di),化简请自己查公式; 
循环计算该图形的所有边,把所有的夹角求和; 
逆时针必然为360度,顺时针必然为-360度。 
具体算法和演示代码,可以联系我本人
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值