我想弄清楚如何在CoreGraphics中繪製圓弧。我明白在下面的場景中調用哪種方法以及如何計算角度。iOS CoreGraphics:繪製圓弧,從交叉弦定理確定圓弧角度
----------
| |
*--------*
當點都在矩形的底部。但是當兩點在其他位置時,我不知道如何計算正確的角度。
---------*
| |
*---------
看到我的形象的底部。
雷Wenderlich有great tutorial大約只在第一次提到的點位置產生電弧的。
// sample code for creating arc for path from bottom of rect
CGMutablePathRef createArcPathFromBottomOfRect(CGRect rect, CGFloat arcHeight) {
CGRect arcRect = CGRectMake(rect.origin.x, rect.origin.y + rect.size.height
- arcHeight, rect.size.width, arcHeight);
CGFloat arcRadius = (arcRect.size.height/2) + (pow(arcRect.size.width, 2)/
(8 * arcRect.size.height));
CGPoint arcCenter = CGPointMake(arcRect.origin.x + arc.size.width/2,
arcRect.origin.y + arcRadius);
CGFloat angle = acos(arcRect.size.width/ (2*arcRadius));
CGFloat startAngle = radians(180) + angle;
CGFloat endAngle = radians(360) - angle;
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddArc(path, NULL, arcCenter.x, arcCenter.y, arcRadius, startAngle,
endAngle, 0);
return path;
}
如何計算在我的圖像底部所示的其他情況下的角度?