When drawing arc segment using Core Graphics I noticed that zero angle is not what I was expecting to be, so to draw the segment arc like in picture, I used 330 and 210 as starting and ending values.
CGContextSetFillColorWithColor(ctx, [[UIColor grayColor] CGColor]);
CGContextMoveToPoint(ctx, 300, 300);
CGContextAddArc(ctx, 300, 300, 300, radians(330), radians(210), 1);
CGContextClosePath(ctx);
CGContextFillPath(ctx);
Can anyone shed light on the origin of those numbers? I would actually expect something like 300 and 60… Could it be related to the axis rotation for iPhone?

I think possibly the confusion is that Mac OS X uses graph paper coordinates (so, the origin is the bottom left, positive x is right, positive y is up) but iOS uses English reading order coordinates (the origin is the top left, positive x is still right but positive y is down). Since CoreGraphics operates identically on both platforms in terms of coordinates, if you do exactly the same commands on iOS as on OS X then your graphics will appear to be upside down. Which is why you often see something like:
At the top of custom UIView drawRect: or drawLayer:inContext: (though you probably should get sizing information from the CALayer in the second case to be sure of being thread safe, depending on why you’ve decided to hook drawLayer:inContext: in the first place).
I therefore think that CGContextAddArc does what you think it does — starts at the positive x axis and then measurements are anticlockwise from that (as per polar coordinates, for example) — but that what you’re seeing is the wrong way up per Apple’s flip flopping on initial basis vectors.