Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
I deduced the triangle method from a thought experiment. I have no practical experience doing it in hardware.
[added next day] After more thought, you use sine and cos instead of the triangles. I is cos wt and Q is sin wt. Where w is the frequency shift. For shifting the other direction use -wt which changes the sign of sin but not cos.
You can generate these with two integrators in a loop with some sort of amplitude limiting control.