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只能用于浮点数和双打。但我试图用迭代器来做。我将如何进行上述操作?
答案 0 :(得分:4)
atan2
有两个参数:
angle = std::atan2(i->y, i->x) * 180 / PI;
应该可以正常工作。将选择正确的重载(取决于CGFloat
typedef)。
请注意,i->x
和i->y
(严格等同于(*i).x
和(*i).y
)是数字(类型CGFloat
),而不是迭代器。< / p>
答案 1 :(得分:2)
这应该有效atan2(i->y, i->x) * 180 / PI