Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
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 只能用于浮点数和双精度数。但我正在尝试使用迭代器来做到这一点。我将如何进行上述操作?
atan2接受两个参数:
atan2
angle = std::atan2(i->y, i->x) * 180 / PI;
应该可以正常工作。将选择正确的重载(取决于CGFloattypedef 的类型)。
CGFloat
请注意,i->xand i->y(严格等同于(*i).xand (*i).y)是数字(类型为CGFloat),而不是迭代器。
i->x
i->y
(*i).x
(*i).y
这应该工作atan2(i->y, i->x) * 180 / PI
atan2(i->y, i->x) * 180 / PI