Я пытаюсь нарисовать кривую степенной функции в прямоугольнике 300x300 пикселей, используя NSBezierPath, следующим образом:
-(void)drawPowerCurve:(float)power points:(int)numbPoints{
NSBezierPath * path = [NSBezierPath bezierPath];
[path setLineWidth: 1.0];
[[NSColor colorWithCalibratedRed:0.0 green:0.0 blue:1.0 alpha:1.0] set];
NSPoint borderOrigin = {35.5,15.5};
NSPoint endPoint;
[path moveToPoint:borderOrigin];
for(int i = 0; i < numbPoints; i++){
endPoint.x = borderOrigin.x + (300.0/numbPoints)*(i+1);
endPoint.y = borderOrigin.y + 300.0*pow(((i+1)/(float)numbPoints), power);
[path lineToPoint:endPoint];
[path stroke];
[path moveToPoint:endPoint];
}
}
Однако кривая уменьшается на верхнем конце по сравнению с нижним концом.Например, power = 1.8 и numbPoints = 50. Кроме того, кривая выглядит не так гладко, как, например, кривые, показанные в утилите Apple ColorSync.Конечно, я не знаю, как они рисуют кривые в ColorSync.Любые идеи о том, как улучшить внешний вид этих кривых (особенно избавиться от утонченности).
Правка - Вот скриншот: 