i know we could use apply rotation to correct this, but here is the situation, i have mesh A and B that are joined with Ctrl + J. i just rotate the A and then want to scale along the mesh A's length without affecting Mesh B, but apply rotation(Ctrl + a) only can be used in object mode, which will affect my mesh B since they are joined. And i saw a tutorial that do the following tricks. however, following his method i came out with some problems.
The Tutorial is in the following GIF : https://gfycat.com/UnripeUnfortunateDanishswedishfarmdog
After i choose the Normal, the coordinate axes has some offset to other angel,hence scale along y axis will create some weird shape. but in the tut, the coordinate axes works perfectly. I strictly followed his steps but cannot find the reason.