Учитывая 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];
...