错误的面积计算目标-c? [英] Wrong area calculation objective-c?
本文介绍了错误的面积计算目标-c?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含 5 个 CGPoints (v0, v1, v2, v3, v4) 的数组,它们是这样实现的形状的顶点:
I have an array with 5 CGPoints (v0, v1, v2, v3, v4) which are the vertex of the shape implemented like this:
_arrayVertex = [[NSMutableArray alloc] initWithObjects:[NSValue valueWithCGPoint:v0], [NSValue valueWithCGPoint:v1], [NSValue valueWithCGPoint:v2], [NSValue valueWithCGPoint:v3], [NSValue valueWithCGPoint:v4], nil];
然后,我用这些点计算面积:
Then, I calculate the area with those points:
- (float)calculateArea {
float area = 0;
int N = (int)_arrayVertex.count;
for (int i = 0; i < N-1; i++) {
float term = ([_arrayVertex[i] CGPointValue].x * [_arrayVertex[i+1 % N] CGPointValue].y -
[_arrayVertex[i+1 % N] CGPointValue].x * [_arrayVertex[i] CGPointValue].y)/2.0;
area += term;
}
return fabsf(area);
}
面积计算是否正确?我错过了什么吗?提前致谢.
Is the area correctly calculated? Am I missing something?. Thank you in advance.
推荐答案
sbim:
- (float)calculateArea {
float area = 0;
int N = (int)_arrayVertex.count;
for (int i = 0; i < N; i++) {
float term = ([_arrayVertex[i] CGPointValue].x * [_arrayVertex[(i+1) % N] CGPointValue].y -
[_arrayVertex[(i+1) % N] CGPointValue].x * [_arrayVertex[i] CGPointValue].y)/2.0;
area += term;
}
return fabsf(area);
}
这篇关于错误的面积计算目标-c?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文