NSAffineTransform - Рисование осей с помощью NSRect
Учитывая NSrect, как я могу нарисовать оси координат, но сохраняя правильное представление?
с помощью следующего кода, я могу центрировать свои оси в середине моего зрения
NSRect funcRect= {-50,-50,50,50};
[tf translateXBy:[self bounds].size.width/2
yBy:[self bounds].size.height/2];
[tf scaleXBy:[self bounds].size.width/funcRect.size.width
yBy:[self bounds].size.height/funcRect.size.height];
[tf concat];
Затем я использую NSBezierPath, чтобы нарисовать ось. см.: i.imgur.com/rT7M5WX.jpg
Но при условии, что мой NSrect отличается, например:
NSRect funcRect= {-5,-5,15,30};
Как применить преобразование af, чтобы оси отображались в правильном положении моего вида, а не в середине, всегда смотрите: i.imgur.com/Z2aBcbE.jpg
Мой код топоров рисования: ...
NSrect * aPoint;
aPoint.x = funcRect.origin.x;
aPoint.y = 0;
[drawer moveToPoint:aPoint];
while (aPoint.x <= funcRect.origin.x + funcRect.size.width)
{
[drawer lineToPoint:aPoint];
aPoint.x += 1;
}
[drawer stroke];
...