Я пытаюсь справиться с рисованием (довольно базовых) фигур в Какао.Я понимаю, как создавать пути с прямыми краями (дух!), Но когда дело доходит до создания кривых, я просто не могу понять, какие входные данные будут давать кривую определенной формы.В частности, я понятия не имею, как аргументы controlPoint1:
и controlPoint2:
метода влияют на форму.
Я пытаюсь приблизить форму вкладки в Google Chrome:

И код, который я использую:
-(void)drawRect:(NSRect)dirtyRect {
NSSize size = [self bounds].size;
CGFloat height = size.height;
CGFloat width = size.width;
NSBezierPath *path = [NSBezierPath bezierPath];
[path setLineWidth:1];
[path moveToPoint:NSMakePoint(0, 0)];
[path curveToPoint:NSMakePoint(width * 0.1, height)
controlPoint1:NSMakePoint(width * 0.05, height)
controlPoint2:NSMakePoint(width * 0.03, height * 0.05)];
[path lineToPoint:NSMakePoint(width * 0.9, height)];
[path curveToPoint:NSMakePoint(width, 0)
controlPoint1:NSMakePoint(width * 0.95, height)
controlPoint2:NSMakePoint(width * 0.97, height * 0.05)];
[path closePath];
[[NSColor colorWithCalibratedWhite:0.98 alpha:1] set];
[path fill];
[[NSColor colorWithCalibratedWhite:0.6 alpha:1] set];
[path stroke];
}
У меня ужасный сбой.
Видите, вот почему у нас не может быть хорошеговещи: (

Кто-нибудь может дать мне несколько советов о том, как думать, когда речь идет о рисовании кривых? Пример, который рисует этот путь, тоже был бы великолепен, но на самом деле это простопонимание этих входных данных для curveToPoint:controlPoint1:controlPoint2:
, которое сдерживает меня.
ОБНОВЛЕНИЕ | Благодаря ответу @ Арумана я, наконец, получил его, чтобы начать обретать форму.симметричная форма по крайней мере сейчас:)
