atan2与CGPoint迭代器

时间:2012-01-06 16:33:48

标签: c++ vector iterator atan2

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只能用于浮点数和双打。但我试图用迭代器来做。我将如何进行上述操作?

2 个答案:

答案 0 :(得分:4)

atan2有两个参数:

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

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

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

答案 1 :(得分:2)

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