1
vector<CGPoint>::iterator i;
vector<CGPoint>* bp = bicyclePad.bikePathPoints;
for(i = bp->begin(); i != bp->end()-3; i++){
    angle = atan2((*i).y/(*i).x) * 180/ PI;
}

我猜 atan2 只能用于浮点数和双精度数。但我正在尝试使用迭代器来做到这一点。我将如何进行上述操作?

4

2 回答 2

4

atan2接受两个参数:

angle = std::atan2(i->y, i->x) * 180 / PI;

应该可以正常工作。将选择正确的重载(取决于CGFloattypedef 的类型)。

请注意,i->xand i->y(严格等同于(*i).xand (*i).y)是数字(类型为CGFloat),而不是迭代器。

于 2012-01-06T16:35:41.477 回答
2

这应该工作atan2(i->y, i->x) * 180 / PI

于 2012-01-06T16:36:34.970 回答