Witam wszystkich

Obecnie przy użyciu GDI+ robię pewną aplikację w której muszę skalować generowany schemat.

Kiedy skala ma wartość jeden wówczas wektor wodzący jest w tym samym miejscu co kursor
(czerwona kropka to punkt 0.0, zielona pozycja kursora, strzałka to kursor)
user image

kiedy zmienię skalę, wówczas lnia się zmniejesza, i nie jest już w tym samym miejscu co kursor
user image

Do skalowania wykorzystuję następującą komende

GFX.MultiplyTransform(new Matrix((float)skala, 0, 0, (float)skala, (float)przesuniecie_X, (float)przesuniecie_Y), MatrixOrder.Append);

I moje pytanie jest następujące.
W jaki sposób musiałbym przekształcić współrzędne myszki aby mimo zmiany skali, wektor wodzący wskazywał miejsce kursora?

Proszę o pomoc, lub sugestie gdzie mógłbym znaleźć rozwiązanie na ten problem.