Disable texture scaling to fit Rect Transform

I have a game object with Rect Transform and Image components. In the Image, I set up the material. There is a shader that rotates and moves the material texture through the available properties. I’m seeing a screw of texture when rotated due to texture scaling to fit the Rect Transform.
I don’t understand shaders, but here is a piece of shader code responsible for transformations. I need to dot on top of the texture, but the screws makes it feel like the dots are floating on top of the texture. Is it possible to avoid texture scaling or how to calculate the coefficients for the coordinates of the points in order to shift them depending on the screws.

void MatrixCalc_half(half cosAngle, half sinAngle, half Tilling, half2 MoveVector, half2 Correct_Possition, half2 UV, half2 SpeedMove, out half2 UVout){
            float2x2 calc = float2x2(cosAngle, -sinAngle, sinAngle, cosAngle);
            float2 pivot = float2(0.5, 0.5);
            float2 pivotuv =  UV.xy - pivot;
            float2 calcuv = mul(calc,pivotuv) / Tilling;
            calcuv += pivot ;
            float2 posSlideCorrect = MoveVector * .05;
            MoveVector.x += Correct_Possition.x + posSlideCorrect.x;
            MoveVector.y -= Correct_Possition.y + posSlideCorrect.y;
            MoveVector *= 0.01;
            MoveVector.y = MoveVector.y * .45;
            MoveVector.x = MoveVector.x * .4;
            calcuv.y += MoveVector.y;
            calcuv.x += MoveVector.x;
            UVout = calcuv;

I replaced the Image component with a RawImage and set the UV Rect values. The width reflects the aspect ratio of the Rect Transform, and the position returns the texture to its center.